Commit Graph
10 Commits
Author SHA1 Message Date
GaggeryandGitHub e3ed6931a0 Merge pull request #67 from TsaiGaggery/fix-camera-v4l2-relayd-v2
intel-ipu7-camera: v4l2-relayd with OBS and Zoom fixes
2026-04-01 14:18:47 +02:00
David Heinemeier Hansson 6eb4a87b50 Bump version 2026-03-26 09:38:58 +01:00
David Heinemeier HanssonandGitHub 83f010451e Revert "intel-ipu7-camera: use v4l2-relayd for on-demand camera feed" 2026-03-26 09:37:53 +01:00
Spencer Bull ad14b24066 add v4l2-relayd to omarchy package mirror and as a dep to intel-ipu7-camera
Signed-off-by: Spencer Bull <Spencer.Bull@Dell.com>
2026-03-25 10:12:51 -05:00
Gaggery Tsai cc1508c75c intel-ipu7-camera: use v4l2-relayd for on-demand camera feed
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
2026-03-24 22:14:08 -07:00
Spencer Bull b311f063ac fix(intel-ipu7-camera): fix service enable, remove broken PipeWire browser flags
- 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
2026-03-20 06:54:14 -05:00
David Heinemeier Hansson 1a76269919 Make it safe to do updates 2026-03-19 18:26:44 +01:00
David Heinemeier Hansson 938900a5e7 Fix update conflict 2026-03-18 19:57:09 +01:00
David Heinemeier Hansson 8fa543a57e Fix intel ipu7 camera package for sleep/wake 2026-03-17 13:41:21 +01:00
David Heinemeier Hansson d0a0ff3849 Rename package 2026-03-15 18:28:00 +01:00