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
- Replace su - with systemctl --global enable + runuser; su - fails silently
in pacman install scripts, leaving camera-feed-watch.service disabled
- Remove _add_pipewire_camera(): adding PipeWireCamera/WebRtcPipeWireCamera
to browser flags routes camera through PipeWire which is non-functional for
this setup; V4L2 direct access to /dev/video50 works correctly
- Fix disable-libcamera.conf: replace broken /dev/null script override with
correct WirePlumber 0.5 wireplumber.profiles syntax
Closes#56
Alternative kernel package based on Arch Linux 6.19.9 with 12 upstream
SDCA backport patches that enable audio on Intel Panther Lake systems
(Dell XPS 2026 and similar hardware with CS35L57 SoundWire amps).
The stock 6.19.9 kernel lacks the SDCA class/function topology driver
code needed for PTL audio. These patches backport the SDCA support from
mainline v7.0 to the stable 6.19.x series.
Tested on Dell XPS 16 (Panther Lake): all 4 CS35L57 amps probe with
calibration, SDCA jack detection works, sof-soundwire sound card
registers successfully.
CONFIG_RUST is disabled to avoid build failures with newer Rust
toolchain versions. Rust is not required for audio functionality.