Created attachment 2087005 [details] kernel.txt 1. Please describe the problem: The integrated MIPI webcam on my Lenovo ThinkPad X9 15 is not working under Fedora. Standard applications do not detect the camera or fail to display a video stream. I have attempted to enable the camera by following the guide provided by Hans de Goede for IPU6 cameras here: https://hansdegoede.dreamwidth.org/27235.html This involved installing ipu6-camera-hal and ipu6-camera-bins from the RPM Fusion Non-Free repository and potentially updating kernel components and v4l2loopback from testing repositories as per earlier instructions related to the guide. Despite following these steps, the camera remains non-functional. I have enabled dynamic kernel debugging for the relevant module (intel_skl_int3472_discrete.dyndbg) via grubby and rebooted before collecting the attached logs (kernel.txt, lsusb.txt, i2c-devices.txt, spi-devices.txt). 2. What is the Version-Release number of the kernel: 6.14.3-300.vanilla.fc42.x86_64 3. Did it work previously in Fedora? If so, what kernel version did the issue *first* appear? No, this camera has never worked yet. Not on Fedora 41 or 42 installation. 4. Can you reproduce this issue? If so, please provide the steps to reproduce the issue below: Yes, the issue is persistent and easily reproducible with given hardware. 5. Does this problem occur with the latest Rawhide kernel? To install the Rawhide kernel, run ``sudo dnf install fedora-repos-rawhide`` followed by ``sudo dnf update --enablerepo=rawhide kernel``: This has not been tested. I am currently running the standard Fedora 42 kernel (version listed above). I can attempt to test with Rawhide if requested by developers as part of the bug investigation. 6. Are you running any modules that not shipped with directly Fedora's kernel?: Yes. As part of the attempt to fix the issue by following the linked guide, I have installed packages from the RPM Fusion Non-Free repository, specifically ipu6-camera-hal and ipu6-camera-bins. Depending on the exact steps from the guide and previous troubleshooting, akmod-v4l2loopback or kmod-v4l2loopback might also be installed or updated, potentially from testing repositories. 7. Please attach the kernel logs. You can get the complete kernel log for a boot with ``journalctl --no-hostname -k > dmesg.txt``. If the issue occurred on a previous boot, use the journalctl ``-b`` flag.
Created attachment 2087013 [details] lsusb.txt
Created attachment 2087014 [details] i2c-devices.txt
Created attachment 2087015 [details] spi-devices.txt
Samuel, thank you for filing this bug. Unfortunately I do not have good news for you. Your laptop is using a Lunar Lake CPU which has the IPU7 not the IPU6, and the IPU7 is not supported at all yet. Intel does have out of tree drivers for the IPU7 but I don't have hw to test those yet so I cannot work on rpmfusion packages yet. But even when the out of tree drivers are packaged, your X9 seems to use a Sony camera sensor rather then the usual Omnivision sensors used on the more classic ThinkPad models and I do not believe that Sony sensor is even supported by the out of tree drivers. So I'm afraid that your pretty much out of luck wrt camera support for your laptop model. We can revisit this and see if there is anything we can do with the FOSS stack once IPU7 CSI receiver support has landed in the main kernel, but that is still quite far away.
Hi Hans, thank you for the quick response to the issue. That sounds really sad, if I had foreseen that, I probably would have chosen another model. Can I help the issue and provide you my hardware for the time to test the out of tree drivers? :) If that could make a difference you would be willing to work on the rpmfusion packages, just write me an email. Do you have a very broad estimation when are you expecting IPU7 CSI receiver support in the main kernel. Is it a matter of months, 6 months, a year or longer? Best regards, Samuel
Hi Hans, thank you for the quick response to the issue. That sounds really sad, if I had foreseen that, I probably would have chosen another model. Can I help the issue and provide you my hardware for the time to test the out of tree drivers? :) If that could make a difference and you would be willing to work on the rpmfusion packages, just write me an email. Do you have a very broad estimation when are you expecting IPU7 CSI receiver support in the main kernel. Is it a matter of months, 6 months, a year or longer? Best regards, Samuel
Good news the just released 6.17 kernel has support for the IPU7 CSI2 receiver and the missing USBIO drivers have recently landed in linux-next. I have backported the USBIO drivers + a few other camera fixes to the Fedora 6.17 kernel: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/4105 I've also prepared an updated libcamera-0.5.2 Fedora package with support for IPU7 (Lunar Lake) CSI2 receivers as well as backporting a set of upstream SwStats and AGC fixes, fixing various crashes as well as the bad flicker MIPI camera users have been hitting with libcamera 0.5.2. Together these 2 updates should make the FOSS MIPI camera support work on most Meteor Lake, Lunar Lake and Arrow Lake laptops: https://bodhi.fedoraproject.org/updates/FEDORA-2025-a2b653cff6 https://bodhi.fedoraproject.org/updates/FEDORA-2025-bdeff04027 Please install these updates, disable the proprietary stack from rpmfusion (if installed) by running: "sudo ipu6-driver-select foss", reboot and give the new drivers a try by running qcam, snapshot or video-conferencing in Firefox. After testing please report the testing results in this bug. If things work well for you please leave positive feedback on the updates in bodhi. Note snapshot on Lunar Lake triggers a bug in the LNL Vulkan code, to avoid this start snapshot from a terminal with: GSK_RENDERER=gl snapshot
As mentioned in the previous comment and also here: https://hansdegoede.dreamwidth.org/31089.html This should be fixed by the latest F43 kernel + libcamera builds, closing. If this is not fixed please reopen this bug.
Hi Hans, thank you for your help and the work on the drivers. Sorry that I couldnt try it earlier, finally I found the time. Since my technical skills arent sufficient, i let AI help. I (hopefully) successfully compiled and installed the latest libcamera from source. However, the camera is still not detected. Here is the kernel log, which shows an imx471 ... failed to check hwcfg: -517 error. Oct 20 23:24:30 fedora kernel: ACPI: \: Can't tag data node Oct 20 23:24:30 fedora kernel: ACPI: \: Can't tag data node Oct 20 23:24:30 fedora kernel: ACPI: \: Can't tag data node Oct 20 23:24:30 fedora kernel: ACPI: \: Can't tag data node Oct 20 23:24:30 fedora kernel: ACPI: \: Can't tag data node Oct 20 23:24:30 fedora kernel: pnp 00:07: disabling [mem 0x000c0000-0x000c3fff] because i> Oct 20 23:24:30 fedora kernel: pnp 00:07: disabling [mem 0x000c8000-0x000cbfff] because i> Oct 20 23:24:30 fedora kernel: pnp 00:07: disabling [mem 0x000d0000-0x000d3fff] because i> Oct 20 23:24:30 fedora kernel: pnp 00:07: disabling [mem 0x000d8000-0x000dbfff] because i> Oct 20 23:24:30 fedora kernel: hpet_acpi_add: no address or irqs in _CRS Oct 20 23:24:30 fedora kernel: i8042: PNP: PS/2 appears to have AUX port disabled, if thi> Oct 20 23:24:30 fedora kernel: device-mapper: core: CONFIG_IMA_DISABLE_HTABLE is disabled> Oct 20 23:24:30 fedora kernel: ENERGY_PERF_BIAS: Set to 'normal', was 'performance' Oct 20 23:24:30 fedora systemd-modules-load[247]: Failed to find module 'v4l2loopback' Oct 20 23:24:30 fedora systemd-modules-load[247]: Failed to find module 'v4l2loopback' Oct 20 23:24:30 fedora systemd-escape[376]: Input 'luks-306aed6d-30c1-40d1-91c2-5f0fb3ec4> Oct 20 23:24:30 fedora systemd-escape[383]: Input 'luks-a3c96519-9b65-4890-bbbb-8400e466b> Oct 20 23:24:31 fedora kernel: [90B blob data] Oct 20 23:24:32 fedora kernel: intel_ish_ipc 0000:00:12.0: ISH loader: cmd 2 failed 10 Oct 20 23:24:32 fedora kernel: intel_ish_ipc 0000:00:12.0: ISH loader: cmd 2 failed 10 Oct 20 23:24:32 fedora kernel: intel_ish_ipc 0000:00:12.0: ISH loader: cmd 2 failed 10 Oct 20 23:24:40 fedora kernel: v4l2loopback: loading out-of-tree module taints kernel. Oct 20 23:24:41 fedora kernel: intel_pmc_core INT33A1:00: Assuming a default substate ord> Oct 20 23:24:41 fedora kernel: intel_ipu7: module is from the staging directory, the qual> Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 Oct 20 23:24:41 fedora kernel: thinkpad_acpi: ThinkPad ACPI EC access misbehaving, disabl> Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 Oct 20 23:24:41 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-bz-> Oct 20 23:24:41 fedora kernel: iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-bz-> Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 Oct 20 23:24:41 fedora kernel: spi-nor spi0.0: supply vcc not found, using dummy regulator Oct 20 23:24:41 fedora kernel: imx471 i2c-SONY471A:00: failed to check hwcfg: -517 And here is the debug output from libcamera, which shows "No sensor found". thinkpad@fedora:~$ LIBCAMERA_LOG_LEVELS=*:DEBUG qcam [0:11:47.204561023] [5309] DEBUG IPAModule ipa_module.cpp:333 ipa_ipu3.so: IPA module /usr/local/lib64/libcamera/ipa/ipa_ipu3.so is signed [0:11:47.204913366] [5309] DEBUG IPAManager ipa_manager.cpp:229 Loaded IPA module '/usr/local/lib64/libcamera/ipa/ipa_ipu3.so' [0:11:47.205146505] [5309] DEBUG IPAModule ipa_module.cpp:333 ipa_soft_simple.so: IPA module /usr/local/lib64/libcamera/ipa/ipa_soft_simple.so is signed [0:11:47.205196532] [5309] DEBUG IPAManager ipa_manager.cpp:229 Loaded IPA module '/usr/local/lib64/libcamera/ipa/ipa_soft_simple.so' [0:11:47.205346480] [5309] INFO Camera camera_manager.cpp:330 libcamera v0.5.2+99-bfd68f78 [0:11:47.205673170] [5322] DEBUG Camera camera_manager.cpp:73 Starting camera manager [0:11:47.215683090] [5322] DEBUG DeviceEnumerator device_enumerator.cpp:230 New media device "intel-ipu7" created from /dev/media0 [0:11:47.216108328] [5322] DEBUG DeviceEnumerator device_enumerator_udev.cpp:96 Defer media device /dev/media0 due to 32 missing dependencies [0:11:47.220769695] [5322] DEBUG DeviceEnumerator device_enumerator_udev.cpp:322 All dependencies for media device /dev/media0 found [0:11:47.220795866] [5322] DEBUG DeviceEnumerator device_enumerator.cpp:258 Added device /dev/media0: intel-ipu7 [0:11:47.221444752] [5322] DEBUG Camera camera_manager.cpp:140 Found registered pipeline handler 'ipu3' [0:11:47.221798039] [5322] DEBUG Camera camera_manager.cpp:140 Found registered pipeline handler 'simple' [0:11:47.221873145] [5322] DEBUG DeviceEnumerator device_enumerator.cpp:318 Successful match for media device "intel-ipu7" [0:11:47.221941079] [5322] INFO SimplePipeline simple.cpp:1689 No sensor found for /dev/media0 [0:11:47.221980978] [5322] DEBUG Camera camera_manager.cpp:140 Found registered pipeline handler 'uvcvideo' No camera detected It seems the kernel driver for the sensor is not initializing correctly. Please let me know if you need any more information. It would be very kind, if you could help me further. Thank you for your work. Best regards, Samuel
Samual, thank you for testing. It looks like the problem is the IMX471 sensor not being in the list of supported sensors, specifically it seems that Intel has never submitted this patch for upstream merging: https://github.com/intel/ipu6-drivers/blob/master/patch/v6.11/0008-Subject-PATCH-media-ipu-bridge-Support-imx471-sensor.patch I've started a Fedora kernel test-build with that patch added: https://koji.fedoraproject.org/koji/taskinfo?taskID=138544016 Note this is still building at the moment, this will take a couple of hours to finish. Please give this a test-spin and see if this works better, you can find instructions for directly installing a kernel from koji (Fedora's buildsystem) here: https://fedorapeople.org/~jwrdegoede/kernel-test-instructions.txt
I tried the kernel from koji. --- sudo dnf install -y koji mkdir ~/kernel-test cd ~/kernel-test # fetch all RPMs built in that task koji download-task 138544016 sudo rpm -ivh kernel-core-*.rpm kernel-modules-core-*.rpm kernel-modules-*.rpm --- Unfortunately the IMX471 sensor is probably still causing the problem. I created a script for diagnostics, take a look at the current output as well. camera-diagnostics-script.sh https://drive.google.com/file/d/1uWMUy54SZ0KQ9nVkgQcU5bimxpqXd6Kj/view?usp=sharing camera_diagnostics_20251031_123004.txt https://drive.google.com/file/d/1kTJG8Jv8sCYnSkr5gdg4wluA9pZ7o2au/view?usp=sharing
Maybe 1. I booted the Koji/test kernel: 6.17.5-300.ipu6.fc43.x86_64, and the IPU7 core + isys are loaded and bound to the PCI device 8086:645d. That’s good. 2. The system now creates a lot of /dev/video* nodes and v4l2-ctl --list-devices shows a single ipu7 device exposing /dev/video0…31. So the bridge + IPU7 plumbing is alive. 3. But there is no imx471 module on disk and modprobe -n imx471 fails. ACPI still exposes your privacy LEDs (SONY471A_00::privacy_led and HM1092_00::privacy_led), which matches the camera hardware we suspected. Net: I’m missing the sensor driver. That’s why apps still can’t get a picture. My thoughts on next steps —> Use the Fedora COPR that ships the IPU6/7 camera stack (fastest)