V4l2loopback devices not showing in applications

pop-osv4lv4l2loopback

I have been successfully using v4l2loopback, with v4l2sink in OBS, to "send" my obs preview panel output to Zoom. The v4l2loopback devices have recently stopped showing in Zoom, Firefox & Brave. However, I can confirm the loopback is viewable in VLC.

I'm on:

  • Pop!_OS (20.10)
  • v4l2loopback-dkms (0.12.5-1)
  • OBS (with the v4l2sink plug-in) (26.0.2+dfsg1-1)
  • Zoom (5.4.3)

I normally start the loopback device with the following:

sudo modprobe v4l2loopback video_nr=99 card_label="OBS Video Source" exclusive_caps=1

This is usually run on boot via:

$ cat /etc/modprobe.d/v4l2loopback.conf 
options v4l2loopback video_nr=99 card_label="OBS Video Source" exclusive_caps=1

$ cat /etc/modules-load.d/v4l2loopback.conf
v4l2loopback

The device shows via v4l2-ctl:

v4l2-ctl --list-devices
OBS Video Source (platform:v4l2loopback-000):
    /dev/video99

Cam Link 4K: Cam Link 4K (usb-0000:06:00.1-4):
    /dev/video2
    /dev/video3

UVC Camera (046d:0990) (usb-0000:06:00.3-1):
    /dev/video0
    /dev/video1

and once I start the v4l2sink in OBS, I can view this in VLC. However, as mentioned, the OBS Video Source device is no longer showing up in any applications that I've tried, as a selectable source.

How can I get the OBS Video Source show up as a source in Zoom again?

Best Answer

supported colourspace/dimenion

many applications only support certain colourspaces and dimensions.

try to output the data with some common dimensions ("640x480", "1280x720") and a common colourspace ("YUY2" aka "YUYV").

just now, i've successfully connected zoom (5.4.53350.1027) to a YUY2:1280x720 loopback device, as output from OBS (25.0.7-325-ga2ad2c6ca)

buggy version of v4l2loopback-dkms

Ubuntu-20.04 is known to have patched the v4l2loopback-dkms sources to prevent an error - unfortunately the patch broke the functionality of the module.

if using a known-good resolution/colourspace doesn't help, try using the last upstream release (rather than the package).

however: in general, you should stick with the distribution-provide packages.

Related Question