https://hansdegoede.dreamwidth.org/28841.html
Account name: [ ] Password [ ] [Log in]
(OpenID?) (Forgot it?) [ ] Remember Me
You're viewing [personal profile] hansdegoede's journal
Create a Dreamwidth Account Learn More
[ ] [Interest ] [Go]
Reload page in style: site light
Hans de Goede
IPU6 camera support in Fedora 41
IPU6 camera support in Fedora 41
Oct. 2nd, 2024 07:50 pm
hansdegoede: me (Default)
[personal profile] hansdegoede
I'm happy to announce that the last tweaks have landed and that the
fully FOSS libcamera software ISP based IPU6 camera support in Fedora
41 now has no known bugs left. See the Changes page for testing
instructions.
Supported hardware
Unlike USB UVC cameras where all cameras work with a single kernel
driver, MIPI cameras like the Intel IPU6 cameras require multiple
drivers. The IPU6 input-system CSI receiver driver is common to all
laptops with an IPU6 camera, but different laptops use different
camera sensors and each sensor needs its own driver and then there
are glue ICs like the LJCA USB IO-expander and the iVSC (Intel Visual
Sensing Controller) and there also is the ipu-bridge code which
translates Windows oriented ACPI tables with sensor info into the
fwnodes which the Linux drivers expect.
This means that even though IPU6 support has landed in Fedora 41 not
all laptops with an IPU6 camera will work. Currently the IPU6
integrated in the following CPU models works if the sensor + glue hw/
sw is also supported:
* Tiger Lake
* Alder Lake
* Raptor Lake
Jasper Lake and Meteor Lake also have an IPU6 but there is some more
integration work necessary to get things to work there. Getting
Meteor Lake IPU6 cameras to work is high on my TODO list.
The mainline kernel IPU6 CSI receiver + libcamera software ISP has
been successfully tested on the following models:
* Various Lenovo ThinkPad models with ov2740 (INT3474) sensor (1)
* Various Dell models with ov01a10 (OVTI01A0) sensor
* Dell XPS 13 PLus with ov13b10 (OVTIDB10/OVTI13B1)
* Some HP laptops with hi556 sensor (INT3537)
To see which sensor your laptop has run: "ls /sys/bus/i2c/devices"
this will show e.g. "i2c-INT3474:00" if you have an ov2740, with
INT3474 being the ACPI Hardware ID (HID) for the sensor. See here for
a list of currently known HID to sensor mappings. Note not all of
these have upstream drivers yet. In that cases chances are that there
might be a sensor driver for your sensor here.
We could really use help with people submitting drivers from there
upstream. So if you have a laptop with a sensor which is not in the
mainline but is available there, you know a bit of C-programming and
you are willing to help, then please drop me an email so that we can
work together to get the driver upstream.
1) on some ThinkPads the ov2740 sensor fails to start streaming most
of the time. I plan to look into this next week and hopefully I can
come up with a fix.
MIPI camera Integration work done for Fedora 41
After landing the kernel IPU6 CSI receiver and libcamera software ISP
support upstream early in the Fedora 41 cycle, there still was a lot
of work to do with regards to integrating this into the rest of the
stack so that the cameras can actually be used outside of the qcam
test app.
The whole stack looks like this "kernel - libcamera - pipewire |
pipewire-camera-consuming-app". Where the 2 currently supported
pipewire-camera consuming apps are Firefox and GNOME Snapshot.
Once this was all up and running testing found quite a few bugs which
have all been fixed now:
* Firefox showing 13 different cameras in its camera selection
pulldown for a single IPU6 camera (fix).
* Installing pipewire-plugin-libcamera leads to UVC cameras being
powered on all the time causing significant battery drain (bug,
bug, discussion, fix).
* Pipewire does not always recognizes cameras on login (bug, bug,
bug, fix).
* Pipewire fails to show cameras with relative controls (fix).
* spa_libcamera_buffer_recycle sometimes fails, causing stream to
freeze on first frame (bug, fix)
* Firefox chooses bad default resolution of 640x480. I worked with
Jan Grulich to get this fixed and this is fixed as of
firefox-130.0.1-3.fc41. Thank you Jan!
* Snapshot prefers 4:3 mode, e.g. 1280x1080 on 16:9 camera sensors
capable of 1920x1080 (pending fix)
* Added intel-vsc-firmware, pipewire-plugin-libcamera,
libcamera-ipa to the Fedora 41 Workstation default package-set (
pull, pull, pull)
Tags:
* fedora,
* ipu6,
* kernel,
* libcamera,
* pipewire
* Previous Entry
* Add Memory
* Share This Entry
* Next Entry
---------------------------------------------------------------------
* 3 comments
* Reply
---------------------------------------------------------------------
Flat | Top-Level Comments Only
Testing on Fedora 40
Date: 2024-10-04 06:28 am (UTC)
From: [personal profile] oez
Thx for all this great work! Just tested on my current everyday
working Fedora 40 install and now I see dmesg telling me "intel-ipu6
0000:00:05.0: Found supported sensor INT3474:01" and GNOME snapshot
is showing my face.
These are good signs.
For firefox-131.0-2.fc40.x86_64, I've this bug showing 13 different
cameras. I noticed that I may not have an up-to-date pipewire
(pipewire-1.0.8-1.fc40.x86_64). So I will wait for Fedora 41, which
is not a big deal (at least for me ;-)). Again, thx a lot Hans !
Olivier.
* Link
* Reply
no subject
Date: 2024-10-04 06:34 am (UTC)
From: [personal profile] cachapa
Thanks for your work Hans!
I've been trying to make the camera work on my Dell XPS 13 9340
developer edition but so far with no success.
I know there are Linux drivers because the camera does work out of
the box in Ubuntu 22 the laptop shipped with but unfortunately even
upgrading the official distro stops it from working.
ls /sys/bus/i2c/devices shows me i2c-HIMX1092:00 which I do not see
in either supported hardware you linked, that might be the reason for
my troubles.
* Link
* Reply
* Thread
* Hide 1 comment
* Show 1 comment
no subject
Date: 2024-10-04 09:42 am (UTC)
hansdegoede: me (Default)
From: [personal profile] hansdegoede
Cachapa, the i2c-HIMX1092:00 device is an infrared sensor there also
should be a second normal sensor. The normal sensor not being visible
typically is caused by something being amiss with the Intel VSC
driver which needs to probe the iVSC chip successfully before the
main sensor will show up.
Please drop me an email at hdegoede@redhat.com then we can debug this
further over email and hopefully get your system to work.
* Link
* Reply
* Thread from start
* Parent
* Previous Entry
* Add Memory
* Share This Entry
* Next Entry
* 3 comments
* Reply
Flat | Top-Level Comments Only
Profile
hansdegoede: me (Default)
Hans de Goede
* Recent Entries
* Archive
* Reading
* Tags
* Memories
* Profile
October 2024
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Most Popular Tags
* acer - 1 use
* acpi - 2 uses
* android - 2 uses
* arm - 1 use
* backlight - 6 uses
* baytrail - 3 uses
* bios - 1 use
* ccrma - 1 use
* cherrytrail - 3 uses
* disney+ - 1 use
* drm - 1 use
* em7345 - 1 use
* fedora - 106 uses
* g15 - 1 use
* gnome - 12 uses
* gphoto - 3 uses
* grub - 8 uses
* initramfs - 1 use
* ipu6 - 5 uses
* kernel - 49 uses
* kms - 1 use
* lcdproc - 1 use
* libcamera - 1 use
* libinput - 2 uses
* libv4l - 1 use
* linux - 5 uses
* lm_sensors - 2 uses
* logitech - 2 uses
* mesa - 4 uses
* picframe - 2 uses
* pipewire - 1 use
* plymouth - 8 uses
* pwm - 1 use
* qemu - 12 uses
* revspace - 1 use
* rk3188 - 1 use
* rockchip - 1 use
* shim - 2 uses
* soldering - 1 use
* spice - 16 uses
* uas - 1 use
* unbrick - 1 use
* usb - 3 uses
* v4l-utils - 1 use
* virtualbox - 1 use
* wayland - 5 uses
* wwan - 1 use
* xorg - 25 uses
* z-10 - 1 use
Page Summary
* [personal profile] oez - Testing on Fedora 40
* [personal profile] cachapa - (no subject)
Style Credit
* Style: Neutral Good for Practicality by [personal profile]
timeasmymeasure
Expand Cut Tags
No cut tags
Page generated Oct. 5th, 2024 11:00 pm
Powered by Dreamwidth Studios
Top of page