Home Assistant touchscreen kiosk on iris (GNOME, prepared 2026-10-21)
Last updated 05/11/2026 · iris, kiosk, gnome, home-assistant
State (2026-10-21)
Prepared on iris, not yet tested (no screen/touch device attached at the time; all DRM connectors disconnected). Takes effect at the next gdm start (reboot with the screen plugged in).
Decision: stay on GNOME (the recipe that worked on metis, see iris-ha-kiosk) and do not change the compositor at the same time as the move. The labwc failure on metis was an amdgpu DCN 4.0 DRM-handover race with the gdm greeter; iris has an Intel HD 510 (i915), so that bug probably does not apply there, but labwc is only the fallback.
Update 2026-10-21 (late): HA now runs on iris
The kiosk URL changed from http://192.168.68.50:8123 to http://127.0.0.1:8123 (~/.local/bin/ha-kiosk-launch.sh on iris, copy in /data/maintenance/iris-kiosk/; restart with /data/maintenance/iris-kiosk/restart-kiosk.sh). The browser origin changed, so one new login on the touchscreen is needed. Because HA is local, the kiosk no longer depends on metis. Still to confirm by Niklas: touch input and the on-screen keyboard.
Update 2026-10-21 (after the move): gdm3 was missing
The first boot at the new place showed only a text console: the gdm3 package on iris was in rc state (binary /usr/sbin/gdm3 gone, only the stale /etc/init.d/gdm3 and its generated gdm3.service remained, which “succeeded” doing nothing). I had misread that as gdm being installed. Fix: sudo apt-get install -y gdm3 (the conffile custom.conf with autologin survived). gdm.service then autologged in and firefox --kiosk http://192.168.68.50:8123 started. display-manager.service -> gdm3.service -> gdm.service is the normal Ubuntu alias chain; systemctl is-enabled gdm says disabled and that is fine. Check dpkg -l gdm3 shows ii before assuming a desktop works.
Reboot test 2026-10-21 (iris, cold boot with screen attached): gdm autologin -> GNOME -> firefox --kiosk started by itself, no failed units, 11 containers up, ZFS healthy. Touch/keyboard still to be confirmed by Niklas on the screen.
Measured after login: gnome-shell ~205 MiB, firefox ~580 MiB (+ ~190 MiB content process), ~1.4 GiB desktop+firefox in total; CPU pressure some avg10 settled from 26% (page load) to ~6%; RAM available stays ~9 GiB.
What was done on iris
Script in /data/maintenance/iris-kiosk/ on metis (install-iris-kiosk.sh, ha-kiosk-launch.sh); run on iris with sudo ./install-iris-kiosk.sh (idempotent), --revert undoes gdm/autostart/masks (not the gsettings values).
/etc/gdm3/custom.conf:AutomaticLoginEnable = true,AutomaticLogin = handtrixxx(backupcustom.conf.pre-kiosk).- AccountsService session
ubuntu(GNOME), set viagdbus ... org.freedesktop.Accounts.User.SetSession. ~/.local/bin/ha-kiosk-launch.sh: waits (max 5 min) until HA answers (nowhttp://127.0.0.1:8123, washttp://192.168.68.50:8123), then loopsfirefox --kiosk(restarts on exit). Started from~/.config/autostart/ha-kiosk.desktop.- gsettings (user dconf): idle-delay 0, no screen lock, no sleep or dim, on-screen keyboard enabled (GNOME built-in, no wvkbd), no notification banners, animations off.
- Boot target stays
graphical.target; the heavy trimming units (tracker, evolution-data-server, gvfs monitors) are not installed on iris, so nothing needed masking.
Verify after the move (screen attached)
- Boot goes straight into HA, no greeter or login screen. Touch works. The on-screen keyboard shows when a text field is tapped.
- Cost on iris (2-core G4400 next to Frigate):
free -h,top,cat /proc/pressure/cpu. The measured GNOME cost on metis was ~1.6 GiB RAM; CPU on iris is the unknown. If too heavy, trim GNOME further or try labwc/cage on Intel as a separate step. - If the screen stays black or shows the greeter:
journalctl -b -u gdm3andjournalctl -b --user-unit=gnome-shell*; fallback labwc notes:/data/maintenance/kiosk-session/NOTES.md.
Source: Wiki.js