Skip to content

Releases: copyleftdev/facecam-ubuntu

v0.1.0 — Initial Release

05 Apr 00:15

Choose a tag to compare

facecam-ubuntu v0.1.0

Linux-native runtime for the Elgato Facecam on Ubuntu. First public release.

What's included

5 tools:

  • facecam-probe — detect, fingerprint, enumerate (formats, controls, quirks, USB topology)
  • facecam-daemon — normalization pipeline (v4l2 capture → v4l2loopback virtual camera)
  • facecam-ctl — control the daemon (profiles, controls, diagnostics, USB reset)
  • facecam-harness — automated compatibility test suite (8 tests)
  • facecam-visual — live viewer with waveform monitor, RGB histogram, zebra stripes, focus peaking, A/B comparison, and frame timing waterfall

System integration:

  • udev rules — stable /dev/video-facecam symlink, auto-start daemon on plug
  • systemd service — managed lifecycle with unlimited restart
  • v4l2loopback config — exclusive_caps=1 for Chromium compatibility
  • 4 default profiles — default, streaming, lowlight, meeting

Quality:

  • 10-entry quirk registry — every workaround traces to observed device behavior
  • AFL++ fuzz tested — 633K+ executions across 6 targets, 0 crashes
  • CI — cargo fmt, clippy -D warnings, test, .deb build

Install

sudo dpkg -i facecam-ubuntu_0.1.0_amd64.deb
sudo apt-get install -f
facecam-probe detect

Requirements

  • Ubuntu 24.04+ (tested on 25.10, kernel 6.8+)
  • USB 3.0 port (mandatory)
  • Elgato Facecam firmware 4.00+ recommended (4.09 tested)

Verified device data (firmware 4.09)

  • Formats: UYVY 4:2:2 + MJPEG (1080p/720p/540p at 60/30fps)
  • 10 V4L2 controls (brightness, contrast, saturation, sharpness, WB, exposure, zoom)
  • Extension Unit GUID {a8e5782b-36e6-4fa1-87f8-83e32b323124} with 9 proprietary controls (undocumented)
  • USB 2.0 fallback: PID switches to 0x0077, product string USB3-REQUIRED-FOR-FACECAM

Documentation

copyleftdev.github.io/facecam-ubuntu