Archived
Replace camera-feed-watch and camera-session with v4l2-relayd, a single-process daemon that manages the icamerasrc -> v4l2loopback feed. v4l2-relayd uses V4L2_EVENT_PRI_CLIENT_USAGE kernel events to detect when an app starts/stops streaming, providing zero-polling on-demand camera activation with LED control. This is a generic solution that works with all PipeWire apps (Snapshot, Chromium, Firefox, etc.) without per-app wrappers or .desktop patching. The key advantage over the previous camera-feed-watch approach: v4l2-relayd keeps a single persistent v4l2sink writer, switching only the data source (splash vs icamerasrc) via appsrc. This avoids the PipeWire stale mmap buffer issue that caused degraded framerate on subsequent camera sessions when the writer process changed. Changes: - Add v4l2-relayd as package dependency - Add /etc/v4l2-relayd.d/ipu7.conf with icamerasrc pipeline config - Add systemd service override for GST_PLUGIN_PATH and device access - Remove camera-feed-watch, camera-feed-watch.service, camera-session, camera-feed.service, and Snapshot .desktop patching - Restore PipeWireCamera feature flag for Chromium/Brave/Chrome - Enable v4l2-relayd@ipu7.service at install time