X86 MIPI camera HW-enablement
Summary
Add support for more MIPI (non USB) cameras found on x86 laptops and tablets.
Owner
- Name: Hans de Goede
- Email: hdegoede@redhat.com
Current status
- Targeted release: Fedora Linux 42
- Last updated: 2025-01-14
- [<link to devel-announce post will be added by Wrangler> Announced]
- [<will be assigned by the Wrangler> Discussion thread]
- FESCo issue: <will be assigned by the Wrangler>
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
Detailed Description
The initial IPU6 camera support landed in Fedora 41 only works on a limited set of laptops.
The reason for this is that with MIPI cameras every different sensor and glue-chip like IO-expanders needs to be supported separately.
This change is about the ongoing work to get the camera working on more laptop models.
This is being tracked on a per sensor and/or laptop-model basis. Currently the following issues are being either actively being worked on, or are being tracked to be fixed in the future:
- IPU6 camera on TERRA PAD 1262 V2 not working, fix has been accepted upstream.
- IPU6 camera on Dell XPS 9x40 models with ov02c10 sensor not working, sensor driver has been submitted upstream.
- IPU6 camera on Dell Latitude 7450 laptop not working
- IPU6 camera on HP Spectre x360 14-eu0xxx / Spectre 16 MeteorLake with ov08x40 not working
- IPU6 camera on HP Spectre x360 2-in-1 16-f1xxx/891D with hi556 sensor not working
- IPU6 camera on Lenovo ThinkPad X1 Carbon Gen 12 not working
- Lattice MIPI Aggregator support for IPU6 cameras
- Lunar Lake MIPI camera / IPU7 CSI receiver support
- ov01a10 camera sensor driver lacks 1296x816 mode support
- No driver for ov01a1s camera sensor
- iVSC fails to probe with ETIMEDOUT
- iVSC fails to probe with EINVAL on XPS 9315
Feedback
Benefit to Fedora
Currently on many new laptop models the camera does not work OOTB in Fedora, the goal of this change is to get the camera to work OOTB on more laptop models.
Scope
- Proposal owners:
- This mainly requires kernel changes, most of this work is being done upstream. Depending on the timing some changes accepted upstream may be backported to the Fedora kernel used for the Fedora 42 release.
- Some libcamera changes may be necessary
- Other developers: N/A (not a System Wide Change)
- Release engineering: N/A (not a System Wide Change)
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with the Fedora Strategy: Yes (better hw-support should help getting more users)
Upgrade/compatibility impact
Since the improvements will be part of the kernel and libcamera all users will get these as part of the Fedora 42 upgrade.
How To Test
- See IPU6_Camera_support#How_To_Test
- If things do not work please file a bug:
- Before gathering information, please enable some extra debugging by running:
sudo grubby --update-kernel=ALL --args="intel_skl_int3472_discrete.dyndbg"
- Reboot so that the new kernel commandline takes effect
- Run the following commands to gather information:
journalctl -b 0 -k > kernel.txt
lsusb > lsusb.txt
ls -l /sys/bus/i2c/devices/ > i2c-devices.txt
ls -l /sys/bus/spi/devices/ > spi-devices.txt
- File a bug in bugzilla
- Attach all the generated "*.txt" files to the bug
- Before gathering information, please enable some extra debugging by running:
User Experience
The camera on X86 laptops with MIPI cameras should work OOTB on more laptop models.
Dependencies
None
Contingency Plan
ATM IPU6 cameras do not work at all on many laptop models. Except for the changes actually causing regressions no contingency plan is necessary. As always with kernel changes any known regressions will be fixes ASAP or the change causing the regression will be reverted.
Documentation
N/A (not a System Wide Change)
Release Notes
To be written...