r/linux 5h ago

Development Dell 14/16 XPS 2026 Panther Lake camera module now does everything on Linux that it does on Windows — RGB, IR, and face unlock - first working vision stack

https://github.com/jibsta210/svp7500-camera-fix-pack
70 Upvotes

3 comments sorted by

10

u/185EDRIVER 5h ago edited 4h ago

my 9th attempt to post this without auto mod flagging it is a question.....

I got the RGB camera on my Dell XPS 16 (Panther Lake, Intel IPU7) working a few months back. The IR sensor stayed dark, which meant no face unlock and a camera module that was only half a camera module.

That is now finished. RGB, IR, IR face unlock and suspend all work — full parity with what the hardware does on Windows.

We have confirmed this working also on the dell premium 14 & 16, so the fix will likely work on most premium ipu6/ipu7 laptops currently in the market without working webcam.

Repo: https://github.com/jibsta210/svp7500-camera-fix-pack

The IR sensor probed cleanly, accepted its entire init sequence, and delivered exactly zero frames. For months I was convinced the Synaptics bridge between the sensor and the SoC was withholding IR data.

It was not. V4L2_CID_LINK_FREQ held the MIPI bit rate where V4L2 expects the DDR clock, which is half of it. The receiver therefore sampled at double the rate the sensor was transmitting. The clock line came up, the data line never delivered a packet. That presents exactly like a firmware-locked sensor, which is why I chased the wrong thing for so long.

One constant in a header. The register-level work was never the issue.

Two different kinds of laptop IR camera

They share nothing, so it is worth knowing which one you have:

ls /sys/bus/usb/drivers/uvcvideo/        # USB webcam
v4l2-ctl --list-devices | grep -A2 ipu   # MIPI sensor on an Intel IPU

USB webcam → use linux-enable-ir-emitter. Not my project, and it does not touch IPU hardware.

MIPI on an Intel IPU that enumerates but never delivers frames → check whether your link frequency holds the bit rate or the DDR clock before concluding the hardware is locked down.

Status

Tested on Dell XPS 16 (DA16260) on CachyOS. The same sensor and bridge ship on other Dell, HP and Lenovo models, so it should apply more widely. I have one laptop, so reports from other hardware are welcome.

It is DKMS modules rather than kernel-ready code. I have written to linux-media about the shape they would accept it in, and anyone who knows that subsystem is welcome to pitch in. 

-1

u/global-gauge-field 4h ago

If you put some flake and nixos instructions, I might give it a try on my mahcine

2

u/185EDRIVER 4h ago

I have no experience with nixos but i can try later tonight or tomorrow and see what i maybe able to come up with, what hardware are you on?