DISCLAIMER
issue is written with claude after I tried to fix the problem with it; i'm not technologically literate enough to know what's going on.
Device: Microsoft Surface Pro 6
Kernel: 6.19.8-surface-2
OS: Linux Mint (Ubuntu 24.04 base)
Summary
The IPU3 camera pipeline does not work. The sensor drivers load and appear in the media graph, but ipu_bridge never creates links between the sensors and the CSI-2 ports, so libcamera sees an empty camera list.
What works
- Kernel detects all 3 sensors:
ipu3-cio2 0000:00:14.3: Connected 3 cameras
- Sensor modules load:
ov5693, ov8865, ov7251
- Media devices
/dev/media0 (ipu3-cio2) and /dev/media1 (ipu3-imgu) exist
- Sensors appear in media graph as entities
What doesn't work
- Sensors have 0 links in the media topology — not connected to any CSI-2 port
ipu_bridge produces no dmesg output
- No INT3472 devices present:
ls /sys/bus/platform/devices/INT3472* returns nothing
libcamera v0.7.1 reports: CameraMananger::cameras() is empty
Media topology (abbreviated)
- entity 37: ov7251 3-0060 (1 pad, 0 link, 0 routes)
- entity 39: ov8865 3-0010 (1 pad, 0 link, 0 routes)
- entity 41: ov5693 2-0036 (1 pad, 0 link, 0 routes)
All CSI-2 sink pads have no incoming links.
Relevant dmesg
ipu3-cio2 0000:00:14.3: Found supported sensor INT33BE:00
ipu3-cio2 0000:00:14.3: Found supported sensor INT347A:00
ipu3-cio2 0000:00:14.3: Found supported sensor INT347E:00
ipu3-cio2 0000:00:14.3: Connected 3 cameras
No ipu_bridge lines appear at all.
I2C devices present
i2c-INT33BE:00
i2c-INT347A:00
i2c-INT347A:00-VCM
i2c-INT347E:00
Hypothesis
The Surface Pro 6 ACPI tables do not include INT3472 PMIC entries, which ipu_bridge relies on to map sensors to CSI-2 ports. This may require a quirk or ACPI SSDT override specific to this device.
What I've tried
- Built and installed libcamera v0.7.1 from source with
-Dipas=ipu3 -Dpipelines=ipu3
- Manually loaded
ipu3-cio2 and ipu3-imgu modules
- Running
cam --list as root
DISCLAIMER
issue is written with claude after I tried to fix the problem with it; i'm not technologically literate enough to know what's going on.
Device: Microsoft Surface Pro 6
Kernel: 6.19.8-surface-2
OS: Linux Mint (Ubuntu 24.04 base)
Summary
The IPU3 camera pipeline does not work. The sensor drivers load and appear in the media graph, but
ipu_bridgenever creates links between the sensors and the CSI-2 ports, so libcamera sees an empty camera list.What works
ipu3-cio2 0000:00:14.3: Connected 3 camerasov5693,ov8865,ov7251/dev/media0(ipu3-cio2) and/dev/media1(ipu3-imgu) existWhat doesn't work
ipu_bridgeproduces no dmesg outputls /sys/bus/platform/devices/INT3472*returns nothinglibcamera v0.7.1reports:CameraMananger::cameras() is emptyMedia topology (abbreviated)
All CSI-2 sink pads have no incoming links.
Relevant dmesg
No
ipu_bridgelines appear at all.I2C devices present
Hypothesis
The Surface Pro 6 ACPI tables do not include INT3472 PMIC entries, which
ipu_bridgerelies on to map sensors to CSI-2 ports. This may require a quirk or ACPI SSDT override specific to this device.What I've tried
-Dipas=ipu3 -Dpipelines=ipu3ipu3-cio2andipu3-imgumodulescam --listas root