feat: independent fullscreen kiosk display foundation (#1)

Kiosk process owns its display lifecycle: waits for X11, keeps the
fullscreen black canvas below video, stops deterministically on signal.
Supervisor starts it before video, restarts only on process death, and
shuts the whole process group down; X11 downtime never restarts the
supervisor. Per-target opener/template abstractions for future MIPI.
This commit is contained in:
2026-09-30 23:12:06 +02:00
parent 0360f23f0a
commit a31bed8aeb
15 changed files with 1266 additions and 78 deletions
+9
View File
@@ -1,3 +1,12 @@
display:
enabled: true
# Independent kiosk canvas process. It waits for X11 itself, keeps the
# fullscreen black canvas below video, and stops only on shutdown.
command: /usr/local/bin/groundstation-display
user: orangepi
display: :0
xauthority: /home/orangepi/.Xauthority
serial:
path: /dev/ttyS0
+1 -1
View File
@@ -1,5 +1,5 @@
[Unit]
Description=Ground Station RC and video supervisor
Description=Ground Station RC, kiosk display and video supervisor
Wants=graphical.target
After=graphical.target display-manager.service