facecam-probe

Detect, fingerprint, and enumerate the Elgato Facecam. This is the first tool to run when setting up or debugging.

Usage

facecam-probe [--format text|json] [-v] <command>

Commands

detect

Scans USB bus for Elgato devices, enriches with V4L2 info.

$ facecam-probe detect

Device:     Elgato Facecam (PID 0x0078)
Firmware:   4.09
Serial:     FW06M1A07449
USB:        bus 10 addr 2 (SuperSpeed (5 Gbps))
V4L2:       /dev/video0
Card:       Elgato Facecam: Elgato Facecam

formats

Lists all pixel formats, resolutions, and frame rates. Flags broken formats.

$ facecam-probe formats

Pixel Formats:
  [0] UYVY - UYVY 4:2:2 [RELIABLE]
  [1] MJPG - Motion-JPEG [RELIABLE]

Video Modes:
  1920x1080 @ 60.0 fps (UYVY) (249 MB/s)
  1280x720 @ 30.0 fps (MJPG)
  ...

controls

Enumerates all V4L2 controls with current values, ranges, and menu items.

$ facecam-probe controls

  Brightness (0x00980900):
    type=Integer  value=128  range=[0, 255]  step=1  default=128
  Contrast (0x00980901):
    type=Integer  value=5  range=[0, 10]  step=1  default=3
  ...

topology

Shows USB sysfs details: bus, speed, manufacturer, firmware BCD, configuration.

quirks

Lists all quirks applicable to the detected device and firmware version.

diagnostics

Collects system info, kernel module status, V4L2 devices, and exports a JSON bundle.

validate

Attempts to stream each advertised format and verifies actual frame delivery.

JSON Output

All commands support --format json for machine-readable output:

facecam-probe --format json detect | jq .