sl-webui 82b8f40b39 feat: Replace GNOME with Cage + Chromium kiosk (Issue #374)
Lightweight fullscreen kiosk for MageDok 7" display:

**Architecture:**
- Cage: Minimal Wayland compositor (replaces GNOME)
- Chromium: Fullscreen kiosk browser for SaltyFace web UI
- PulseAudio: HDMI audio routing (from Issue #369)
- Touch: HID input from MageDok USB device

**Memory Savings:**
- GNOME desktop: ~650MB RAM
- Cage + Chromium: ~200MB RAM
- Net gain: ~450MB for ROS2 workloads

**Files:**
- config/cage-magedok.ini — Cage display settings (1024×600@60Hz)
- config/wayland-magedok.conf — Wayland output configuration
- scripts/chromium_kiosk.sh — Cage + Chromium launcher
- systemd/chromium-kiosk.service — Auto-start systemd service
- launch/cage_display.launch.py — ROS2 launch configuration
- docs/CAGE_CHROMIUM_KIOSK.md — Complete setup & troubleshooting guide

**Next:** Issue #370 (Salty Face as web app in Chromium kiosk)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-03 16:41:00 -05:00

32 lines
983 B
Plaintext

# Wayland configuration for MageDok 7" touchscreen display
# Used by Cage Wayland compositor for lightweight kiosk mode
# Replaces X11 xorg-magedok.conf (used in Issue #369 legacy mode)
# Monitor configuration
[output "HDMI-1"]
# Native MageDok resolution
mode=1024x600@60
# Position (primary display)
position=0,0
# Scaling (no scaling needed, 1024x600 is native)
scale=1
# Touchscreen input configuration
[input "magedok-touch"]
# Calibration not needed for HID devices (driver-handled)
# Event device will be /dev/input/event* matching USB VID:PID
# Udev rule creates symlink: /dev/magedok-touch
# Performance tuning for Orin Nano
[performance]
# Wayland buffer swaps (minimize latency)
immediate-mode-rendering=false
# Double-buffering for smooth animation
buffer-count=2
# Notes:
# - Cage handles Wayland protocol natively
# - No X11 server needed (saves ~100MB RAM vs Xvfb)
# - Touch input passes through kernel HID layer
# - Resolution scaling handled by Chromium/browser