The following drivers are missing from the mainline (and thus the Fedora) kernel, which is causing MIPI cameras on current Dell laptop models to not work: https://github.com/intel/vision-drivers.git Note there is both a regular driver as well as integrated update support into that driver. Which is something which might just as well be done from userspace. For upstreaming my advice would be to start with stripping out the upstream support. After removing the update support I do not believe that there will be a whole lot code left in the driver. Just some code to put the MITM vision chip in pass-through mode. Upstreaming the remaining code / minimal driver should be relatively easy. Note this bug is mainly intended as a tracker-bug and to have a single bug to block all the various per laptop model bugs on. Reproducible: Always
For now with Fedora 43 this can be worked around by manually installing the vision drivers: 1. Enter the machines BIOS and disable secure-boot. This is necessary since you will be installing a manually compiled unsigned kernel module. 2. "sudo dnf install kernel-devel-matched libcamera-qcam" 3. Reboot 4. Do *not* try to use the camera yet! 5. Run the following commands from a terminal: git clone https://github.com/intel/vision-drivers.git cd vision-drivers make sudo insmod intel_cvs.ko 6. On some laptops like the XPS 13 9350 the probing of the sensor fails if the vision drivers are not there, leading to e.g. the following showing in dmesg / "journalctl -b 0 -k" output: de nov. 07 22:16:15 patufet kernel: ov02c10 i2c-OVTI02C1:00: Error reading reg 0x300a: -121 de nov. 07 22:16:15 patufet kernel: ov02c10 i2c-OVTI02C1:00: failed to find sensor: -121 de nov. 07 22:16:15 patufet kernel: ov02c10 i2c-OVTI02C1:00: probe with driver ov02c10 failed with error -121 If this happens then the sensor drivers need to be reloaded after the "sudo insmod intel_cvs.ko", e.g. do: sudo rmmod ov02c10 sudo modprobe ov02c10 7. Now try to use the camera by running "qcam". If the camera does not work in qcam, file a new bug for this following: https://fedoraproject.org/wiki/Changes/X86_MIPI_CameraHwEnablement#How_To_Test ; or collect new "journalctl -b 0 -k" output and attach that to your bug if you already have a bug open for your specific case. Note please do not add comments about things not working in your specific case to this generic tracking bug. 8. These kind of cameras do not really sending hotplug events when they become ready, so after steps 5. + 6. pipewire likely needs to be restarted to see the camera now that it works: systemctl --user restart pipewire That should be enough, but if e.g. "Camera" (snapshot) still does not see the camera then you can also try: systemctl --user restart wireplumber Note the snapshot / camera app in Fedora 43 defaults to using Vulkan for rendering which is known to cause issues with some iGPU-s to work around this you can start it from a terminal using: GSK_RENDERER=gl snapshot
Updated workaround instructions. New: Add note about disabling secure boot. For now with Fedora 43 this can be worked around by manually installing the vision drivers: 1. Enter the machines BIOS and disable secure-boot. This is necessary since you will be installing a manually compiled unsigned kernel module. 2. "sudo dnf install kernel-devel-matched libcamera-qcam" 3. The next steps will only work with secureboot disabled If you have secureboot enabled in your BIOS, reboot, enter you BIOS setup and disable secureboot. 4. (Re)boot into the latest kernel installed in step 2. 5. Do *not* try to use the camera yet! 6. Run the following commands from a terminal: git clone https://github.com/intel/vision-drivers.git cd vision-drivers make sudo insmod intel_cvs.ko 7. On some laptops like the XPS 13 9350 the probing of the sensor fails if the vision drivers are not there, leading to e.g. the following showing in dmesg / "journalctl -b 0 -k" output: de nov. 07 22:16:15 patufet kernel: ov02c10 i2c-OVTI02C1:00: Error reading reg 0x300a: -121 de nov. 07 22:16:15 patufet kernel: ov02c10 i2c-OVTI02C1:00: failed to find sensor: -121 de nov. 07 22:16:15 patufet kernel: ov02c10 i2c-OVTI02C1:00: probe with driver ov02c10 failed with error -121 If this happens then the sensor drivers need to be reloaded after the "sudo insmod intel_cvs.ko", e.g. do: sudo rmmod ov02c10 sudo modprobe ov02c10 8. Now try to use the camera by running "qcam". If the camera does not work in qcam, file a new bug for this following: https://fedoraproject.org/wiki/Changes/X86_MIPI_CameraHwEnablement#How_To_Test ; or collect new "journalctl -b 0 -k" output and attach that to your bug if you already have a bug open for your specific case. Note please do not add comments about things not working in your specific case to this generic tracking bug. 9. These kind of cameras do not really sending hotplug events when they become ready, so after steps 5. + 6. pipewire likely needs to be restarted to see the camera now that it works: systemctl --user restart pipewire That should be enough, but if e.g. "Camera" (snapshot) still does not see the camera then you can also try: systemctl --user restart wireplumber Note the snapshot / camera app in Fedora 43 defaults to using Vulkan for rendering which is known to cause issues with some iGPU-s to work around this you can start it from a terminal using: GSK_RENDERER=gl snapshot
*** Bug 2425726 has been marked as a duplicate of this bug. ***