fix(kiosk): pass XDG_RUNTIME_DIR so Chromium can reach PipeWire-Pulse
The launcher's sudo -u archipelago invocation set DISPLAY/HOME but not
XDG_RUNTIME_DIR, so Chromium's audio backend couldn't find the PipeWire-Pulse
socket at /run/user/<uid>/pulse/native. It silently fell back to raw ALSA
"default", which also failed ("Connection refused"), producing no HDMI audio
at all with no visible error since --noerrdialogs suppresses it.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
4e0d800248
commit
03c048e958
@ -93,8 +93,14 @@ else
|
|||||||
GPU_FLAGS="--disable-gpu --num-raster-threads=1"
|
GPU_FLAGS="--disable-gpu --num-raster-threads=1"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
ARCHIPELAGO_UID=$(id -u archipelago)
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
sudo -u archipelago env DISPLAY=:0 HOME=/home/archipelago chromium --kiosk \
|
# XDG_RUNTIME_DIR must be passed explicitly — without it Chromium's audio
|
||||||
|
# backend can't find PipeWire-Pulse's socket at /run/user/<uid>/pulse/native,
|
||||||
|
# falls back to raw ALSA "default", fails to connect, and produces no audio
|
||||||
|
# at all with no visible error (--noerrdialogs suppresses it).
|
||||||
|
sudo -u archipelago env DISPLAY=:0 HOME=/home/archipelago XDG_RUNTIME_DIR=/run/user/$ARCHIPELAGO_UID chromium --kiosk \
|
||||||
--app=http://localhost/kiosk?safe_area_x=${KIOSK_SAFE_AREA_X_PX:-0}\&safe_area_y=${KIOSK_SAFE_AREA_Y_PX:-0} \
|
--app=http://localhost/kiosk?safe_area_x=${KIOSK_SAFE_AREA_X_PX:-0}\&safe_area_y=${KIOSK_SAFE_AREA_Y_PX:-0} \
|
||||||
--noerrdialogs \
|
--noerrdialogs \
|
||||||
--disable-infobars \
|
--disable-infobars \
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user