Unsolved
1 Rookie
•
2 Posts
•
2 Points
0
86
February 12th, 2026 18:16
Dell Precision 5690- Camera not working on Ubuntu 24.04 (v4l2-relayd + GStreamer 1.24.2 incompatibility)
v4l2-relayd incompatible with GStreamer 1.24.2 on Ubuntu 24.04
**Hardware:**
- Device: Dell Precision 5690 (laptop with Intel MIPI camera)
- Camera: Intel IPU6 MIPI Camera
- Camera Device: /dev/video0 (v4l2loopback virtual device)
- Backend Device: /dev/ipu-psys0
**Software:**
- OS: Ubuntu 24.04.3 LTS
- Kernel: 6.17.0-14-generic (HWE)
- GStreamer: 1.24.2
- v4l2-relayd: 0.1.2 (Dell OEM package)
- v4l2loopback: 6.17.9
**Packages:**
```
$ dpkg -l | grep -E "v4l2-relayd|gstreamer|ipu6"
ii gstreamer1.0-plugins-base:amd64 1.24.2-1 amd64 GStreamer plugins from the "base" set
ii gstreamer1.0-plugins-good:amd64 1.24.2-1ubuntu1 amd64 GStreamer plugins from the "good" set
ii libgstreamer1.0-0:amd64 1.24.2-1 amd64 Core GStreamer libraries and elements
ii v4l2-relayd 0.1.2-0ubuntu0.24.04.1 amd64 Relay daemon for video4linux loopback devices
```
## Problem Description
After Ubuntu security/package updates in late 2025/early 2026, the webcam stopped working in all applications (Chrome, Zoom, Teams, etc.). The `v4l2-relayd@default` service crashes immediately on startup with GStreamer assertion failures.
Applications report: "Camera not found" or "NotFoundError: Requested device not found"
## Root Cause
**Incompatibility:** v4l2-relayd 0.1.2 is incompatible with GStreamer 1.24.2
The service crashes with these GStreamer assertion errors:
```
g_source_remove: assertion 'tag > 0' failed
gst_element_set_state: assertion 'GST_IS_ELEMENT (element)' failed
gst_object_unref: assertion 'object != NULL' failed
```
This causes systemd to hit the start-limit and give up:
```
v4l2-relayd@default.service: Failed with result 'start-limit-hit'
```
## Steps to Reproduce
1. Install Ubuntu 24.04 on Dell Precision with Intel IPU6 camera
2. Update system packages (getting GStreamer 1.24.2)
3. Try to use camera in any application
4. Observe camera not found
**Verify service failure:**
```bash
sudo systemctl status v4l2-relayd@default
journalctl -u v4l2-relayd@default -b --no-pager
```
## Expected Behavior
- v4l2-relayd@default service should start successfully
- Should relay icamerasrc stream to /dev/video0 via v4l2loopback
- /dev/video0 should appear as "Video Capture" device
- Applications should detect and use the camera
## Actual Behavior
- v4l2-relayd@default service crashes immediately
- Service status: `failed (Result: start-limit-hit)`
- /dev/video0 remains as "Video Output" device
- Applications cannot find camera
## Logs
**Service Status:**
```
× v4l2-relayd@default.service - v4l2-relay daemon service for default
Loaded: loaded (/usr/lib/systemd/system/v4l2-relayd@.service; enabled-runtime; preset: enabled)
Active: failed (Result: start-limit-hit)
```
**Journal Logs:**
```
Feb 12 12:29:49 systemd[1]: Started v4l2-relayd@default.service
Feb 12 12:29:49 (sh)[13289]: g_source_remove: assertion 'tag > 0' failed
Feb 12 12:29:49 (sh)[13289]: gst_element_set_state: assertion 'GST_IS_ELEMENT (element)' failed
Feb 12 12:29:49 (sh)[13289]: gst_object_unref: assertion 'object != NULL' failed
Feb 12 12:29:49 systemd[1]: v4l2-relayd@default.service: Deactivated successfully.
Feb 12 12:29:49 systemd[1]: v4l2-relayd@default.service: Scheduled restart job, restart counter is at 1.
[... repeats 5 times until start-limit-hit ...]
```
**Device Status:**
```bash
$ v4l2-ctl --device=/dev/video0 --all | grep -E "Video Capture|Video Output"
Video Output # ← Wrong! Should be "Video Capture"
Read/Write
Streaming
```
## Verification that Camera Hardware Works
The camera itself and icamerasrc work fine:
```bash
$ gst-launch-1.0 icamerasrc num-buffers=1 ! fakesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:00.506244128
```
This proves the issue is in v4l2-relayd's GStreamer pipeline construction, not the camera hardware or drivers.
## Workaround
Replace v4l2-relayd with direct GStreamer pipeline:
```bash
gst-launch-1.0 icamerasrc buffer-count=7 ! videoconvert ! \
video/x-raw,format=NV12,width=1280,height=720,framerate=30/1 ! \
v4l2sink device=/dev/video0
```
This works perfectly, confirming the issue is specific to v4l2-relayd 0.1.2's interaction with GStreamer 1.24.2.
## Impact
**Severity:** High
- All users with Dell Precision + Intel IPU6 cameras on Ubuntu 24.04 affected
- Camera completely non-functional in all applications
- Regression introduced by system updates
**Affected Users:**
- Dell Precision laptop owners (5690 series with IPU6)
- Ubuntu 24.04 users with recent updates
- Anyone using v4l2-relayd + GStreamer 1.24.x
ated packages:**
- intel-ipu6-dkms
- intel-ipu6-camera-bins
- intel-ipu6-camera-hal
**Related devices:**
```
/dev/ipu-psys0 (Intel IPU6 Process System)
/dev/video0 (v4l2loopback virtual device)
/dev/video1-48 (Intel IPU6 ISYS Capture devices)
```
events found

