hansdegoede: me (Default)
[personal profile] hansdegoede
I have been working on getting the camera on the ThinkPad X1 Carbon Gen 12 to work under Fedora.

This requires 3 things:

  1. Some ov08x40 sensor patches, these are available as downstream cherry-picks in Fedora kernels >= 6.12.13
  2. A small pipewire fix to avoid WirePlumber listing a bunch of bogus extra "ipu6" Video Sources, these fixes are available in Fedora's pipewire packages >= 1.2.7-4
  3. I2C and GPIO drivers for the new Lattice USB IO-expander, these drivers are not available in the upstream / mainline kernel yet

I have also rebased the out of tree IPU6 ISP and proprietary userspace stack in rpmfusion and I have integrated the USBIO drivers into the intel-ipu6-kmod package. So for now getting the cameras to work on the X1 Carbon Gen 12 requires installing the out of tree drivers through rpmfusion. Follow these instructions to enable rpmfusion, you need both the free and nonfree repos.

Then make sure you have a new enough kernel installed and install the rpmfusion akmod for the USBIO drivers:

sudo dnf update 'kernel*'
sudo dnf install akmod-intel-ipu6

The latest version of the out of tree IPU6 ISP driver can co-exist with the mainline / upstream IPU6 CSI receiver kernel driver. So both the libcamera software ISP FOSS stack and Intel's proprietary stack can co-exist now. If you do not want to use the proprietary stack you can disable it by running 'sudo ipu6-driver-select foss'.

After installing the kmod package reboot and then in Firefox go to Mozilla's webrtc test page and click on the "Camera" button, you should now get a camera permisson dialog with 2 cameras: "Built in Front Camera" and "Intel MIPI Camera (V4L2)" the "Built in Front Camera" is the FOSS stack and the "Intel MIPI Camera (V4L2)" is the proprietary stack. Note the FOSS stack will show a strongly zoomed in (cropped) image, this is caused by the GUM test-page, in e.g. google-meet this will not be the case.

I have also been making progress with some of the other open IPU6 issues:


Re: X1 12th

Date: 2025-03-05 01:23 pm (UTC)
From: [personal profile] kja999
Hi,

Likewise, very happy to see how much progress is made and appreciate the work, but following these instructions, something is still not working.

Using the gum test on firefox, camera access is confirmed, status is 'Success' plus fedora confirms the device is in use.
However, video is null, in other browsers (Vivaldi) I get a black box.
Activity light next to the webcam doesn't activate, so I am not sure the hardware is really active.

dmesg | grep ipu6
[ 4.196350] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[ 4.196591] intel-ipu6 0000:00:05.0: IPU6 in secure mode touch 0x80000000 mask 0x0
[ 4.223106] intel-ipu6 0000:00:05.0: FW version: 20230925
[ 4.224209] intel-ipu6 0000:00:05.0: Found supported sensor OVTI08F4:00
[ 4.224253] intel-ipu6 0000:00:05.0: Connected 1 cameras
[ 4.225808] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[ 4.260978] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[ 4.307805] intel-ipu6 0000:00:05.0: CSE authenticate_run done
[ 4.307817] intel-ipu6 0000:00:05.0: IPU6-v4[7d19] hardware version 6
[ 4.626198] intel_ipu6_psys.psys intel_ipu6.psys.40: pkg_dir entry count:8
[ 4.626601] intel_ipu6_psys.psys intel_ipu6.psys.40: psys probe minor: 0

cam -l
[0:20:42.849329255] [5860] INFO Camera camera_manager.cpp:325 libcamera v0.3.2
[0:20:42.869452848] [5863] INFO SimplePipeline simple.cpp:1548 No sensor found for /dev/media0
Available cameras:

Profile

hansdegoede: me (Default)
Hans de Goede

May 2025

S M T W T F S
    123
45678910
11121314151617
1819202122 2324
25262728293031

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 11th, 2025 03:54 pm
Powered by Dreamwidth Studios