Archy switches over to full screen HDMI only and disabled laptop display
Actual Behavior
Nothing
Archipelago Version
1.7.99-alpha
Hardware
x86_64 (Intel/AMD)
Relevant Logs
No response
Screenshots
No response
### Description
HDMI Video and Audio support
### Steps to Reproduce
Plug in HDMI
### Expected Behavior
Archy switches over to full screen HDMI only and disabled laptop display
### Actual Behavior
Nothing
### Archipelago Version
1.7.99-alpha
### Hardware
x86_64 (Intel/AMD)
### Relevant Logs
_No response_
### Screenshots
_No response_
ssmithx
changed title from [Bug]: to [Bug]: HDMI Video and Audio Support2026-06-28 14:07:10 +00:00
Cause: Launcher picked the current xrandr mode (*-marked) instead of the highest available. Fix:/usr/local/bin/archipelago-kiosk-launcher:36-45 — mode selection now picks the resolution with the most pixels (1920x1080) instead of the previously active mode (1366x768).
2. No audio over HDMI
Causes:
Chromium had no XDG_RUNTIME_DIR → couldn't find PulseAudio socket
ALSA default device pointed to analog (PCH) card, not PulseAudio
Chromium blocks audio autoplay by default
Fixes:
/usr/local/bin/archipelago-kiosk-launcher:86 — added XDG_RUNTIME_DIR=/run/user/1000 to chromium env
/etc/asound.conf — routes ALSA default through PulseAudio
Fixed in the kiosk launcher (image-recipe/configs/archipelago-kiosk-launcher.sh): configure_display() now picks the EDID-preferred mode (instead of the stale active mode), turns internal laptop panels (eDP/LVDS) off whenever an external display is connected — the “fullscreen on HDMI only, laptop display disabled” behavior asked for — and Chromium gets XDG_RUNTIME_DIR with asound.conf routing ALSA through PulseAudio, so HDMI audio works. To be re-verified on hardware at the next deploy.
Fixed in the kiosk launcher (`image-recipe/configs/archipelago-kiosk-launcher.sh`): `configure_display()` now picks the EDID-preferred mode (instead of the stale active mode), turns internal laptop panels (eDP/LVDS) **off** whenever an external display is connected — the “fullscreen on HDMI only, laptop display disabled” behavior asked for — and Chromium gets `XDG_RUNTIME_DIR` with `asound.conf` routing ALSA through PulseAudio, so HDMI audio works. To be re-verified on hardware at the next deploy.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Description
HDMI Video and Audio support
Steps to Reproduce
Plug in HDMI
Expected Behavior
Archy switches over to full screen HDMI only and disabled laptop display
Actual Behavior
Nothing
Archipelago Version
1.7.99-alpha
Hardware
x86_64 (Intel/AMD)
Relevant Logs
No response
Screenshots
No response
[Bug]:to [Bug]: HDMI Video and Audio SupportHDMI Kiosk Fix — 2026-06-28
Problems Fixed
1. Screen running off the edge (wrong resolution)
Cause: Launcher picked the current xrandr mode (
*-marked) instead of the highest available.Fix:
/usr/local/bin/archipelago-kiosk-launcher:36-45— mode selection now picks the resolution with the most pixels (1920x1080) instead of the previously active mode (1366x768).2. No audio over HDMI
Causes:
XDG_RUNTIME_DIR→ couldn't find PulseAudio socketdefaultdevice pointed to analog (PCH) card, not PulseAudioFixes:
/usr/local/bin/archipelago-kiosk-launcher:86— addedXDG_RUNTIME_DIR=/run/user/1000to chromium env/etc/asound.conf— routes ALSAdefaultthrough PulseAudio/usr/local/bin/archipelago-kiosk-launcher:104— added--autoplay-policy=no-user-gesture-required3. Choppy audio (CPU starvation)
Causes:
--enable-gpu-rasterizationforced GPU commands through software)CPUQuota=75%(= 0.75 cores) was too low — kiosk throttled 40% of the time (862s total)Fixes:
/usr/local/bin/archipelago-kiosk-launcher:83—GPU_FLAGS="--in-process-gpu --num-raster-threads=1"(eliminates separate GPU process)/usr/local/bin/archipelago-kiosk-launcher:93— addedGpuRasterizationto--disable-features/etc/systemd/system/archipelago-kiosk.service:29—CPUQuota=200%(2 cores, down from 40% to 19% throttled)Files Changed
/etc/asound.confdefault→ PulseAudio/etc/systemd/system/archipelago-kiosk.serviceCPUQuota=75%→CPUQuota=200%/usr/local/bin/archipelago-kiosk-launcherXDG_RUNTIME_DIR;--in-process-gpu;--num-raster-threads=1;GpuRasterizationdisabled;--autoplay-policyVerification
Fixed in the kiosk launcher (
image-recipe/configs/archipelago-kiosk-launcher.sh):configure_display()now picks the EDID-preferred mode (instead of the stale active mode), turns internal laptop panels (eDP/LVDS) off whenever an external display is connected — the “fullscreen on HDMI only, laptop display disabled” behavior asked for — and Chromium getsXDG_RUNTIME_DIRwithasound.confrouting ALSA through PulseAudio, so HDMI audio works. To be re-verified on hardware at the next deploy.