1. Guides
  2. Linux setup

Set up Camlane on Linux: v4l2loopback, Secure Boot and the PipeWire mic

Install the Camlane .deb or AppImage, install v4l2loopback and load it with exclusive_caps=1, and pick “Camlane Camera” in your app. The microphone, “Camlane Microphone”, is created automatically on PipeWire and PulseAudio.

Steps

  1. Install Camlane

    On Debian, Ubuntu, Mint or Pop!_OS, install the .deb with sudo apt install ./camlane-desktop-linux-x86_64.deb. On other distributions, make the AppImage executable and run it.

  2. Install v4l2loopback

    Install the v4l2loopback kernel module: v4l2loopback-dkms on Debian and Ubuntu, akmod-v4l2loopback on Fedora (RPM Fusion), v4l2loopback-dkms on Arch.

  3. Load it with Camlane's options

    Run sudo modprobe v4l2loopback devices=1 video_nr=10 card_label="Camlane Camera" exclusive_caps=1, and add the same options to /etc/modprobe.d/camlane.conf so it loads at boot.

  4. Enrol the Secure Boot key if asked

    If modprobe says “Key was rejected by service”, import the DKMS key with sudo mokutil --import /var/lib/shim-signed/mok/MOK.der, reboot and choose Enroll MOK.

  5. Connect your phone

    Open Camlane on the computer and the phone, tap the computer on the phone and type the 6-digit PIN.

  6. Pick the camera and mic

    In Zoom, Chrome, Firefox, OBS or Discord, choose Camlane Camera and Camlane Microphone.

Install

Debian, Ubuntu, Linux Mint, Pop!_OS

wget https://github.com/aryan0078/camlane-releases/releases/latest/download/camlane-desktop-linux-x86_64.deb
sudo apt install ./camlane-desktop-linux-x86_64.deb

The .deb also installs a ufw application profile and a firewalld service named camlane, which the firewall guide uses.

Any distribution (AppImage)

chmod +x camlane-desktop-linux-x86_64.AppImage
./camlane-desktop-linux-x86_64.AppImage

Command line only, for servers, kiosks and OBS machines:

tar -xzf camlane-cli-linux-x86_64.tar.gz
sudo install -m755 camlane-cli /usr/local/bin/

Check downloads with sha256sum against the builds page.

The virtual camera: v4l2loopback

Camlane writes its picture into a v4l2loopback device, which every Linux app sees as a webcam. The desktop app detects a missing or misconfigured module and shows the exact command to fix it. By hand:

# 1. Install the module (DKMS rebuilds it on kernel updates)
sudo apt install v4l2loopback-dkms v4l-utils          # Debian, Ubuntu
# sudo dnf install akmod-v4l2loopback v4l-utils       # Fedora, with RPM Fusion
# sudo pacman -S v4l2loopback-dkms v4l-utils          # Arch

# 2. Load it with Camlane's options
sudo modprobe v4l2loopback devices=1 video_nr=10 card_label="Camlane Camera" exclusive_caps=1

# 3. Load it the same way after every reboot
echo v4l2loopback | sudo tee /etc/modules-load.d/camlane.conf
echo 'options v4l2loopback devices=1 video_nr=10 card_label="Camlane Camera" exclusive_caps=1' \
  | sudo tee /etc/modprobe.d/camlane.conf

# 4. Check
v4l2-ctl --list-devices
  • exclusive_caps=1 matters. Without it the device looks like both a camera and an output, and Chrome and Zoom hide it.
  • video_nr=10 keeps it at /dev/video10, away from real webcams at /dev/video0 to /dev/video9.
  • Several phones: besides “Camlane Camera” for the program, each phone can have its own camera, “Camlane Camera 1” to “Camlane Camera 4”. Load the module with one device per phone slot instead:
sudo modprobe v4l2loopback devices=5 video_nr=10,11,12,13,14 \
  card_label="Camlane Camera","Camlane Camera 1","Camlane Camera 2","Camlane Camera 3","Camlane Camera 4" \
  exclusive_caps=1,1,1,1,1

Use the same options in /etc/modprobe.d/camlane.conf. If the module is already loaded, close any app using a camera and run sudo modprobe -r v4l2loopback first.

Secure Boot

DKMS builds the module unsigned, and a computer with Secure Boot on refuses to load it:

modprobe: ERROR: could not insert 'v4l2loopback': Key was rejected by service

Enrol the DKMS signing key (a Machine Owner Key) once:

  1. When apt asks during the install, set a MOK password. If it didn’t ask, run sudo mokutil --import /var/lib/shim-signed/mok/MOK.der and choose a password.
  2. Reboot. A blue MOK manager screen appears before the system starts.
  3. Choose Enroll MOK → Continue → Yes, type the password, then Reboot.
  4. Run the modprobe line above again.

Camlane detects this error and shows the same steps. The alternative is turning Secure Boot off in the firmware settings.

The microphone: nothing to install

On start, Camlane creates a Camlane Microphone input on PipeWire (through pipewire-pulse) or PulseAudio, the equivalent of:

pactl load-module module-null-sink sink_name=camlane_sink sink_properties=device.description="Camlane Sink"
pactl load-module module-remap-source master=camlane_sink.monitor source_name=camlane_mic \
      source_properties=device.description="Camlane Microphone"

It removes both when it quits. Check it with pactl list short sources | grep camlane.

Flatpak and Snap apps

Sandboxed apps need permission to see cameras:

flatpak override --user --device=all us.zoom.Zoom
snap connect chromium:camera

Firewall

ufw on Ubuntu and firewalld on Fedora block the phone by default. Camlane works anyway, because the computer dials the phone instead, but opening the firewall for your local network makes connecting faster. See the firewall guide.

Something not covered here? Email hello@camlane.live.