Hello! Getting these ipu6 cameras working in past Ubuntu releases was often a struggle, but starting in 24.10, things would work out-of-the-box without any extra PPA installations. In the 25.04 beta, however, things have regressed and I’m unsure what has gone wrong. Would appreciate any pointers, or wondering if anyone else is struggling with the same.
ffplay of /dev/video0
shows the video test image…
ffplay /dev/video0
However, the camera is working on some level, because gstreamer will show an image:
gst-launch-1.0 libcamerasrc ! video/x-raw,width=1024,height=768 ! autovideosink
cam -l
shows a bunch of errors and warnings, but does see a camera…
cam -l
[0:14:07.156913161] [12220] INFO Camera camera_manager.cpp:325 libcamera v0.3.1+64-ce690bd9
[0:14:07.203448240] [12221] WARN CameraSensor camera_sensor.cpp:259 'ov01a10 3-0036': Recommended V4L2 control 0x009a0922 not supported
[0:14:07.203527956] [12221] ERROR V4L2 v4l2_subdevice.cpp:1086 'ov01a10 3-0036': Unable to get rectangle 2 on pad 0/0: Inappropriate ioctl for device
[0:14:07.203548609] [12221] WARN CameraSensor camera_sensor.cpp:306 'ov01a10 3-0036': The PixelArraySize property has been defaulted to 1280x800
[0:14:07.203558030] [12221] ERROR V4L2 v4l2_subdevice.cpp:1086 'ov01a10 3-0036': Unable to get rectangle 1 on pad 0/0: Inappropriate ioctl for device
[0:14:07.203567521] [12221] WARN CameraSensor camera_sensor.cpp:317 'ov01a10 3-0036': The PixelArrayActiveAreas property has been defaulted to (0, 0)/1280x800
[0:14:07.203582603] [12221] ERROR V4L2 v4l2_subdevice.cpp:1086 'ov01a10 3-0036': Unable to get rectangle 0 on pad 0/0: Inappropriate ioctl for device
[0:14:07.203594840] [12221] WARN CameraSensor camera_sensor.cpp:325 'ov01a10 3-0036': Failed to retrieve the sensor crop rectangle
[0:14:07.203602607] [12221] WARN CameraSensor camera_sensor.cpp:331 'ov01a10 3-0036': The sensor kernel driver needs to be fixed
[0:14:07.203609090] [12221] WARN CameraSensor camera_sensor.cpp:333 'ov01a10 3-0036': See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information
[0:14:07.205808530] [12221] WARN CameraSensorProperties camera_sensor_properties.cpp:283 No static properties available for 'ov01a10'
[0:14:07.205827625] [12221] WARN CameraSensorProperties camera_sensor_properties.cpp:285 Please consider updating the camera sensor properties database
[0:14:07.205838361] [12221] WARN CameraSensor camera_sensor.cpp:479 'ov01a10 3-0036': Failed to retrieve the camera location
[0:14:07.205845456] [12221] WARN CameraSensor camera_sensor.cpp:501 'ov01a10 3-0036': Rotation control not available, default to 0 degrees
[0:14:07.212106101] [12221] WARN IPAProxy ipa_proxy.cpp:161 Configuration file 'ov01a10.yaml' not found for IPA module 'simple', falling back to 'uncalibrated.yaml'
[0:14:07.212227065] [12221] WARN IPASoft soft_simple.cpp:114 Failed to create camera sensor helper for ov01a10
Available cameras:
1: 'ov01a10' (\_SB_.PC00.LNK1)
v4l2-ctl --list-devices
does show the ipu6 device at /dev/media0, and a bunch of other video devices. Unsure why that is.
v4l2-ctl --list-devices
ipu6 ():
/dev/video1
/dev/video2
/dev/video3
/dev/video4
/dev/video5
/dev/video6
/dev/video7
/dev/video8
/dev/video9
/dev/video10
/dev/video11
/dev/video12
/dev/video13
/dev/video14
/dev/video15
/dev/video16
/dev/video17
/dev/video18
/dev/video19
/dev/video20
/dev/video21
/dev/video22
/dev/video23
/dev/video24
/dev/video25
/dev/video26
/dev/video27
/dev/video28
/dev/video29
/dev/video30
/dev/video31
/dev/video32
ipu6 (PCI:0000:00:05.0):
/dev/media0
Virtual Camera (platform:v4l2loopback-000):
/dev/video0
dmesg output re: ipu6
seems OK-ish. There’s a message about IPU6 bridge init failed
, but perhaps that’s noise given that gstreamer can read the camera fine.
➜ ~ sudo dmesg | grep ipu6
[ 10.600627] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[ 22.119139] pci 0000:00:05.0: deferred probe pending: intel-ipu6: IPU6 bridge init failed
[ 22.822604] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[ 22.840063] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[ 22.909654] intel-ipu6 0000:00:05.0: CSE authenticate_run done
[ 22.909664] intel-ipu6 0000:00:05.0: IPU6-v3[a75d] hardware version 5
I’m on the 25.04 beta:
lsb_release -d
Description: Ubuntu Plucky Puffin (development branch)
The driver settings window looks like:
The v4l2-relay service seems healthy, but I’m not sure it’s doing the relay with the correct params.
● v4l2-relayd.service - v4l2-relay daemon service
Loaded: loaded (/usr/lib/systemd/system/v4l2-relayd.service; enabled; preset: enabled)
Active: active (running) since Sun 2025-04-13 16:10:09 PDT; 19min ago
Invocation: 1b6476675d2d495a9edd1c44ce6cbdea
Main PID: 2706 (v4l2-relayd)
Tasks: 5 (limit: 36844)
Memory: 7.2G (peak: 7.4G)
CPU: 57.687s
CGroup: /system.slice/v4l2-relayd.service
└─2706 /usr/bin/v4l2-relayd -i videotestsrc -o "appsrc name=appsrc caps=video/x-raw,format=YUY2,width=1280,height=720,framerate=30/1 ! videoconvert ! v4l2sink name=v4l2sink device=/dev/video0"
Apr 13 16:10:09 fpotter-5480-ubuntu systemd[1]: Starting v4l2-relayd.service - v4l2-relay daemon service...
Apr 13 16:10:09 fpotter-5480-ubuntu systemd[1]: Started v4l2-relayd.service - v4l2-relay daemon service.
Apr 13 16:10:09 fpotter-5480-ubuntu (sh)[2706]: v4l2-relayd.service: Referenced but unset environment variable evaluates to an empty string: SPLASHSRC