lukemarsden/ipu6-softisp

( forked from jwrdegoede/ipu6-softisp )

Project ID: 126051

Description

This repository contains an experimental (under development) fully open-source stack for using IPU6 based cameras with Fedora. This repository contains the following packages:

  1. The kernel patched with the upstream pending Intel IPU6 CSI receiver (input-system) support. Note this means Secure Boot needs to be disabled in the BIOS setup
  2. libcamera patched with the upstream pending software ISP support
  3. pipewire with the pipewire-libcamera plugin rebuild against the patched libcamera

Installation Instructions

Install the IPU6 camera support from this repo

sudo dnf copr enable jwrdegoede/ipu6-softisp sudo dnf --disablerepo=* --enablerepo=copr:copr.fedorainfracloud.org:jwrdegoede:ipu6-softisp --disableexcludes=all distro-sync 'kernel*' 'libcamera*' 'pipewire*' sudo dnf --disablerepo=* --enablerepo=copr:copr.fedorainfracloud.org:jwrdegoede:ipu6-softisp --disableexcludes=all install pipewire-plugin-libcamera libcamera-qcam libcamera-ipa

Note you will need to take care to avoid kernel / libcamera / pipewire getting overridden by newer versions from fedora-updates. You could e.g. at exclude=kernel*,libcamera*,pipewire* to /etc/dnf/dnf.conf

The IPU6 driver requires firmware which is not yet in linux-firmware. If you have the rpmfusion non-free repository enabled you can install this by running:

sudo dnf install ipu6-camera-bins-firmware

If you do not have the rpmfusion non-free repository enabled then do:

sudo su - cd /lib/firmware/intel wget https://raw.githubusercontent.com/intel/ipu6-camera-bins/main/lib/firmware/intel/ipu6_fw.bin https://raw.githubusercontent.com/intel/ipu6-camera-bins/main/lib/firmware/intel/ipu6ep_fw.bin

Since this COPR includes a custom kernel you will need to disable Secure Boot in your BIOS setup.

If the system also has the rpmfusion ipu6 packages installed

If the system also has the rpmfusion ipu6 packages installed, then the presence of the v4l2-relayd managed v4l2loopback will confuse wireplumber. To workaround this disable v4l2-relayd:

sudo systemctl disable --now v4l2-relayd systemctl --user restart wireplumber

The COPR kernel includes an intel-ipu6 module the intel-ipu6 akmod will automatically get skipped on systems which also have the rpmfusion ipu6 packages installed.

Note the akmods command will show a warning about the intel-ipu6 akmod: Warning: Could not determine what package owns /lib/modules/$ver/extra/intel-ipu6/

If you boot into a standard Fedora kernel again and want to re-enable v4l2-relayd from the rpmfusion packages then run:

sudo systemctl enable --now v4l2-relayd

Testing the IPU6 camera support from this repo

  • For a first quick test run qcam, this should show your laptop's camera sensor (e.g. "ov2740") as selected input, press ok and then a live view from your camera should be shown

  • For WebRTC support make sure you are at Firefox version 122 or newer:

    sudo dnf --enablerepo=updates-testing update 'firefox*'

    Quit Firefox and open it again, then in the location bar at the top of Firefox go to about:config and change media.webrtc.camera.allow-pipewire to true. After changing this setting exit Firefox and open it again before continuing.

  • For a quick test open https://mozilla.github.io/webrtc-landing/gum_test.html in Firefox and press the "Camera" button, this should show a live view from your camera

  • There currently is a camera enumeration issue when using google-meet, see: https://bugzilla.mozilla.org/show_bug.cgi?id=1869042. This can be worked around by first opening: https://mozilla.github.io/webrtc-landing/gum_test.html once and pressing the camera button there. After this the camera should also be visible in google-meet.

Active Releases

The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).

Release Architectures Repo Download
Fedora 39 aarch64 (30)*, x86_64 (23)* Fedora 39 (0 downloads)

* Total number of downloaded packages.


Quick Enable

#> dnf copr enable lukemarsden/ipu6-softisp
More info about enabling Copr repositories

Other Actions