Skip to content

Releases

libcamera-loopback 0.1.0

Choose a tag to compare

@alanbato alanbato released this 04 Nov 20:03
599510a

First release.

libcamera-loopback feeds a v4l2loopback device from a libcamera camera, starting the camera only while an app is reading. It's a drop-in replacement for v4l2-relayd that writes frames with write(), which fixes frozen video in PipeWire apps and crashes in browsers on Intel IPU6 laptops. It was built for, and tested on, a Dell XPS 13 Plus 9320 (OmniVision OV01A10) on Ubuntu 24.04.

Install

  • Ubuntu / Debian: download libcamera-loopback_0.1.0-1_all.deb below, then run
    sudo apt install ./libcamera-loopback_0.1.0-1_all.deb.
    Ubuntu 24.04's libcamera is too old for IPU6; see the README section "Building libcamera".
  • Arch Linux: not on the AUR yet. Build it with makepkg -si from packaging/arch (see the README). It uses Arch's libcamera; not yet tested on real hardware.
  • From source: git clone and sudo ./install.sh.

Then, as your user, run systemctl --user restart wireplumber.

Included

  • libcamera-loopback.py and its systemd service (settings go in /etc/default/libcamera-loopback).
  • v4l2loopback options (exclusive_caps=1, max_buffers=3). See the README for why the buffer count matters.
  • patches/libcamera-softisp-agc-hysteresis.patch (LGPL-2.1-or-later), an optional libcamera 0.8.0 patch. It fixes stutter on sensors behind slow I²C buses.
  • tools/frame-timing.py and tools/jitter-diag.py for diagnosing stutter.

Known issues

  • GNOME Snapshot and Cheese crash at startup on Ubuntu 24.04. This looks like a GStreamer/PipeWire bug, not a libcamera-loopback one. Browsers work.
  • Colours are uncalibrated until someone writes a tuning file for the sensor.

SHA256SUMS lists the checksum of the .deb.