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