Intel MIPI laptop camera not working (24.04)

Having read and tried many suggested strategies (e.g. IntelMIPICamera - Ubuntu Wiki, Dell XPS 9320 camera listed, but not working) I am not able to get the camera working on my HP Spectre Laptop.

Many of the suggested fixes I do not fully understand, so it is possible I have made things worse.

The error when trying to run Cheese is “Device wants 2:0:0:0 colorimetry”, not supported by /dev/video0.

I have tried both drivers listed

A plug-in USB camera works fine. Kernel is 6.11.0-1023-oem if that is relevant. One ‘fix’ I tried involved patching this but seemed to make no difference.

Is this an issue for which there is a general explanation and solution, or is it specific to individual circumstances (e.g. specific laptop and camera, kernel version and so on)?

Any suggestions welcome. Thanks

Intel’s new “MIPI IPU 6” webcams are still in the half-supported stage on
Linux. They are wired through a little image-processing block (the IPU) that
needs firmware, a kernel driver, and a userspace camera-HAL. Most of that
code is only just landing upstream, so on Ubuntu it works only if all three
pieces line up:

OEM or HWE kernel that contains the IPU 6 media driver
(for Noble this is linux-oem-24.04* or linux-oem-6.11).

DKMS package that glues the driver to that kernel
intel-ipu6-dkms

Camera HAL / libcamera back-end
libcamhal-ipu6, libcamera, libcamera-ipa-dyn.

Canonicals oem-kernel PPA provides those packages for a handful of Dell and
Lenovo models; HP’s Spectre uses the same IPU6 stack but its sensor IDs
haven’t been whitelisted yet, so the HAL loads but won’t deliver frames.
Cheese then throws the “device wants 2:0:0:0 colorimetry” message and exits.
What you can (realistically) do today

Keep the USB webcam for meetings – the Spectre’s built-in camera will
light up only once the HAL recognises its sensor ID.

Stay on the OEM/HWE kernel and keep intel-ipu6* packages installed so
future updates can pick the camera up automatically. You can check with

sudo dmesg | grep -i ipu6

– when support lands you’ll see the sensor probed without errors.

Try libcamera directly (sometimes works even if Cheese fails):

sudo apt install libcamera-apps
libcamera-hello

If you get a preview window, you can stream into video-conference software
via v4l2loopback.

Why there’s no “one-line” fix yet

Support depends on exact sensor model + ACPI table entries HP used in
that Spectre revision. Upstream maintainers add them one laptop at a time
because every vendor wires the IPU6 differently. Until HP submits (or
Canonical back-ports) your machine’s quirks, the driver loads but the HAL
refuses to start – exactly what you’re seeing.

Bottom line

For now the behaviour is “expected”: the IPU6 stack is present but doesn’t
know your HP sensor. Keep the OEM kernel and intel-ipu6 packages, watch
for future updates, and use a USB webcam in the meantime. Once the Spectre’s
sensor is merged upstream, your built-in camera should just start working
after a normal apt upgrade.

1 Like

Thank you Mehmet for your detailed reply.

If I understand you correctly I just install the relevant packages and wait for updates to modify them with appropriate camera support.

In doing so I installed linux-oem-24.04* but when installing intel-ipu6* there was an error with dkms due to attempting install for kernel 6.14 (I have 6.11).

Also I am not sure how to install libcamera and libcamera-apps. This seems like a complicated process.

Thanks again.
Michael

You’ve got the right idea: keep the OEM kernel and the IPU-6 packages
installed, then let normal updates pull in support for your HP sensor when it
lands. A few clarifications and fixes:


Use the 6.11 OEM kernel only

intel-ipu6-dkms is built by Canonical only for the OEM kernels.
If you have stray 6.14 generic headers lying around DKMS tries to compile for
them and bombs out.

# remove any leftover generic 6.14 bits
sudo apt purge 'linux-*-6.14*'

# make sure you have the complete 6.11 OEM stack
sudo apt install linux-oem-6.11 linux-oem-6.11-headers

Reinstall the DKMS package so it builds against 6.11:

sudo apt install --reinstall intel-ipu6-dkms

Check it finished:

dkms status | grep ipu6
# should say "installed" for 6.11.0-xxxx-oem

Install libcamera and the IPU-6 HAL from Ubuntu’s repo

All of these are in universe now no manual build needed.

sudo apt install libcamhal-ipu6 libcamera0 libcamera-ipa-dyn \
                 libcamera-tools libcamera-apps

Test with libcamera

libcamera-hello     # opens a 5-second preview window

If it shows video, the stack is good; Cheese, Zoom, etc. will start picking
up /dev/video* once their flatpak/snap interfaces are refreshed. If you
still see “no camera found”, it means your HP sensor ID isn’t yet in the HAL
and you really do have to wait for the next update.


Keep the packages and just update normally

From here on:

sudo apt update && sudo apt full-upgrade

About once a month the OEM kernel and libcamhal-ipu6 get refreshed. The
moment your particular sensor quirk is merged, the built-in webcam will come
alive without any extra tweaks. Until then, the USB camera is the fallback.

Thank you again Mehmet

I am getting closer, but could I seek advice on two practical steps.

with dkms status | grep iu6 I get
ipu6-drivers/0~git202406240945.aecec2aa-0ubuntu2~24.04.3, 6.11.0-1023-oem, x86_64: installed (WARNING! Diff between built and installed module!)
ipu6-drivers/0~git202406240945.aecec2aa-0ubuntu2~24.04.3, 6.11.0-26-generic, x86_64: installed (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!)

I have tried to remove both the built and installed modules but each time I select the Intel module from Software and Updates - Additional Drivers this difference warning returns. Is it a problem?

Secondly, when I install the libcamera modules I get

Package libcamera0 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
libcamera-v4l2 libcamera-ipa libcamera0.2
gstreamer1.0-libcamera

E: Package ‘libcamera0’ has no installation candidate
E: Unable to locate package libcamera-ipa-dyn
E: Unable to locate package libcamera-apps

Thanks
Michael