[Unit] After=camera-init.service [Service] Environment=GST_PLUGIN_PATH=/usr/lib/gstreamer-1.0 # Board-specific VIDEOSRC, regenerated on every start from the configured one. # Optional on purpose: without it /etc/v4l2-relayd.d/ipu7.conf applies unchanged. EnvironmentFile=-/run/v4l2-relayd-ipu7-videosrc.env # Remove the last override first: each ExecStartPre re-reads the environment # files, so the generator then sees the configured VIDEOSRC, not a stale one. ExecStartPre=-/usr/bin/rm -f /run/v4l2-relayd-ipu7-videosrc.env ExecStartPre=-/usr/share/intel-ipu7-camera/camera-videosrc-init ExecStopPost=-/usr/bin/rm -f /run/v4l2-relayd-ipu7-videosrc.env # Relax sandboxing for icamerasrc hardware access PrivateNetwork=no InaccessibleDirectories= ReadOnlyDirectories= DevicePolicy=auto # Give v4l2-relayd time to initialize, then restart WirePlumber # so PipeWire re-probes the device with the correct format ExecStartPost=/bin/bash -c 'sleep 2 && systemctl --user -M 1000@ restart wireplumber.service 2>/dev/null || true'