[Unit] Description=Drive 3 DRM displays with LiveKit camera output (GStreamer kmssink) Documentation=file:///home/fdenkena/livekit-cameras/README.md After=network-online.target Wants=network-online.target # Do not After=/Wants= livekit-cameras: the wall must stay up when cameras # are missing and when the SFU is down (on-screen error, then reconnect). [Service] Type=simple WorkingDirectory=/home/fdenkena/livekit-cameras EnvironmentFile=-/home/fdenkena/livekit-cameras/.env Environment=PYTHONUNBUFFERED=1 # Exclusive KMS access — no X/Wayland on these connectors. # Start kmssink immediately; run_displays.py shows LiveKit errors on the wall. ExecStart=/home/fdenkena/livekit-cameras/.venv/bin/python /home/fdenkena/livekit-cameras/run_displays.py ExecStop=/bin/kill -TERM $MAINPID Restart=always RestartSec=5 TimeoutStartSec=60 TimeoutStopSec=20 KillMode=control-group KillSignal=SIGTERM [Install] WantedBy=multi-user.target