Skip to content

stefanpartheym/archlinux-ipu6-webcam

Repository files navigation

archlinux-ipu6-webcam

Warning

This repository currently makes IPU6 cameras only work on the latest LTS kernels (v6.6.55 and above). Unfortunately, IPU6 cameras still don't work in 6.10.x and 6.11.x kernels, as reported in #89. There is a thread on the ArchLinux forums about the current state on 6.10.x and 6.11.x kernels.

Note

Please consider the warning above.

Intel's IPU6 drivers are to be upstreamed in the new 6.10.x kernels. This means this repository will not be relevant for future releases of the linux kernel. However, for pre 6.10.x LTS kernels this repository is still helpful.

For reference see:

This repository is supposed to provide an easy installation for the patched Intel IPU6 camera drivers.

All PKGBUILDs in this repository are taken from this comment on the Archlinux forums. From v1.0.0 on, the PKGBUILDs are slightly modified to avoid conflicts with their AUR counter parts.

Supported kernels

Warning

As stated above, currently only the latest LTS kernels are supported (v6.6.55 and above).

LTS kernels:

  • 6.6.56-1-lts
  • 6.6.58-1-lts

Supported devices

Known working on these devices:

  • Lenovo ThinkPad X1 Carbon Gen 10 from #22 (comment)
  • Dell XPS 13 9315
  • Dell XPS 13 Plus 9320 from #22 (comment)
  • Dell Precision 5480 from #47
  • Dell Latitude 7340 from #56
  • Dell Latitude 7440 from #29
  • Dell Latitude 7640 from #91

May work on many more Alder Lake laptops using Intel's IPU6 cameras. Let us know if it does on yours! Support for Tiger Lake and beyond Alder Lake is in progress.

This should work with all Arch Linux installation and perhaps even EndeavourOS. This installion has been tested and should work on a fresh Manjaro installation (#26 (comment)) but there are several issues reported by Manjaro users. Testing and more issues from Manjaro users are welcome.

Install

Run shell script install.sh to install all necessary packages and enable/start services. Make sure to reboot after a successful installation.

Test

Script test.sh

Test your webcam by running script test.sh.

Chromium and Firefox-based browsers

If you want to check, whether your camera works in Chromium-based Browsers (like Chrome, Brave, etc.) you can use this website to do so. Firefox from version 115 onwards should also work.

GNOME Cheese

You can also use Cheese (a image/video capture software from GNOME) to test your video stack. To do so, identify the name of the device exposed by your video stack with v4l2-ctl --list-devices. Then call Cheese : sudo cheese -d <your_device_name>.

Example: sudo cheese -d "Virtual Camera"

Uninstall

Run shell script uninstall.sh to disable/stop services and uninstall all previously installed packages.

Make camera work in some Electron-based applications

The camera should now work without any major issues in many applications (e.g. Chromium, OBS Studio, Firefox >= 115) but it might not work correctly in some other ones (e.g. Discord) due to the default NV12 format not being supported.

This can be fixed by running ./install.sh -a, which will add /etc/systemd/system/v4l2-relayd.service.d/override.conf to convert the camera output to the YUY2 format.

Please note that some applications (e.g. GNOME Cheese) might still not work. This is due to Intel's driver just being low-quality. There is an issue curently open for this.

Hibernation support

The module 'i2c_ljca' breaks resuming from hibernation. To fix this, doing modprobe -r i2c_ljca before hibernating is necessary. A script is provided by running ./install.sh -s. This script will be executed before hibernating and after resume. Since this is using modprobe, this will most likely not work on kernel lockdowns!

If you want both workarounds, you can run ./install.sh -as.

Tips and tricks

Solving error WARNING: erroneous pipeline: no element "icamerasrc"

When using yay as an AUR helper, chances are, that you will experience the following error message after upgrading to a newer kernel version: WARNING: erroneous pipeline: no element "icamerasrc" This error most likely occurs when running the test.sh script. This is probably due to yay is using the cached icamerasrc-git package from a previous install. In order to fix this, run the following command:

yay \
  --cleanmenu=false \
  --diffmenu=false \
  --editmenu=false \
  --rebuild \
  -S icamerasrc-git

You may also need to delete gstreamer's cache in your .cache directory.

Remove the warnings from an AUR helper

Some AUR helpers will warn you of some packages installed by install.sh not being in the Arch User Repository. There is usually a way to prevent these messages from showing up using the configuration file of the helper.

For example, if you're using paru, you might want to add the following to your /etc/paru.conf (or your user's config):

NoWarn = intel-ipu6ep-camera-bin  intel-ipu6ep-camera-hal-git-fix  v4l2-relayd  v4l2loopback-dkms-git-fix

About

Easy installation for patched Intel IPU6 camera drivers

Resources

Stars

Watchers

Forks

Languages