V4l2loopback error

Since a week or so I have problems getting vivaldi browser to access the virtual cam from OBS. It used to work fine. Doing an update I now see:

[40/72] Removing kmod-v4l2loopback-7.1.3-200.fc44.x86 100% [==================] |   1.0   B/s |   3.0   B |  00m00s
>>> Running %postun scriptlet: kmod-v4l2loopback-7.1.3-200.fc44.x86_64-0:0.15.4-1.fc44.x86_64
>>> Finished %postun scriptlet: kmod-v4l2loopback-7.1.3-200.fc44.x86_64-0:0.15.4-1.fc44.x86_64
>>> Scriptlet output:
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_fh_exit
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol video_ioctl2
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_format_info
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_fh_del
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_fh_add
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_ctrl_handler_init_class
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_ctrl_handler_setup
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol video_devdata
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_ctrl_new_custom
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_ctrl_subscribe_event
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_event_pending
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_fh_init
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_fill_pixfmt
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol video_unregister_device
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_event_subscribe
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol video_device_alloc
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_device_register
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol __video_register_device
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_ctrl_handler_free
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_device_unregister
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol [40/72] Removing kmod-v4l2loopback-7.1.3-200.fc44.x86_64-0:0.15.4-1.fc44.x 100% |   0.0   B/s |   3.0   B |  00m03s
>>> Running %postun scriptlet: kmod-v4l2loopback-7.1.3-200.fc44.x86_64-0:0.15.4-1.fc44.x86_64
>>> Finished %postun scriptlet: kmod-v4l2loopback-7.1.3-200.fc44.x86_64-0:0.15.4-1.fc44.x86_64
>>> Scriptlet output:
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_fh_exit
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol video_ioctl2
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_format_info
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_fh_del
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_fh_add
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_ctrl_handler_init_class
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_ctrl_handler_setup
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol video_devdata
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_ctrl_new_custom
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_ctrl_subscribe_event
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_event_pending
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_fh_init
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_fill_pixfmt
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol video_unregister_device
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_event_subscribe
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol video_device_alloc
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_device_register
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol __video_register_device
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_ctrl_handler_free
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_device_unregister
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol video_device_release
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_event_queue
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_fill_pixfmt_mp
>>> depmod: WARNING: /lib/modules/7.1.3-200.fc44.x86_64/extra/v4l2loopback/v4l2loopback.ko.xz needs unknown symbol v4l2_event_unsubscribe
>>> 
[41/72] Removing kmod-v4l2loopback-7.1.3-200.fc44.x86_64-0:0.15.3-2.fc44.x 100% |   0.0   B/s |   3.0   B |  00m03s
[

Did something break v4l2loopback? Is it still needed for OBS virtual cam to work?

You are using a kmod that fedora does not ship right?
It looks like the code of that kmod needs updating to the new kernel.
But to could also be as simple as you need to run depmod.
You could try sudo depmod first, check its man page on how to run it.

I have it working without problems on kernel 7.1.4, what I have installed is the meta-package kmod-v4l2loopback which pulls in the appropriate version for each kernel (i.e. kmod-v4l2loopback-7.1.4) it comes from rpmfusion.

Is it possible that you’re pulling the kmod from a third party repository that has broken?

Can you provide the output of dnf repolist and dnf info kmod-v4l2loopback?

When I install v4l2 this is what is installed on f44

$ sudo dnf install akmod-v4l2loopback
Updating and loading repositories:
Repositories loaded.
Package                                              Arch        Version                                               Repository                              Size
Installing:
 akmod-v4l2loopback                                  x86_64      0:0.15.4-1.fc44                                       rpmfusion-free-updates             104.9 KiB
Installing dependencies:
 v4l2loopback                                        x86_64      0:0.15.4-1.fc44                                       rpmfusion-free-updates              78.9 KiB

Thus the only package that needs to be specified for installation is akmod-v4l2loopback. It will pull in the necessary dependencies then uses akmods to build the kmod-v4l2loopback package for each kernel as updates occur.

If you directly install the kmod-v4l2loopback package from rpmfusion it might not be properly configured for your specific kernel, while using the akmod-v4l2loopback package should always configure it correctly for your kernel (including running depmod for the new module it installs). Additionally, using the kmod-v4l2lopback package forces the user to depend upon the rpmfusion repo being 100% in sync with the fedora repos, and it often happens that they may be out of sync at times.

From the below you can see that the kmod was built for the currently running kernel (7.1.4-204) and the newly installed kernel (7.1.5) that I have not yet booted.

$ dnf list --installed | grep v4l2
akmod-v4l2loopback.x86_64                            0.15.4-1.fc44                        rpmfusion-free-updates
kmod-v4l2loopback-7.1.4-204.fc44.x86_64.x86_64       0.15.4-1.fc44                        @commandline
kmod-v4l2loopback-7.1.5-200.fc44.x86_64.x86_64       0.15.4-1.fc44                        @commandline
v4l2loopback.x86_64                                  0.15.4-1.fc44                        rpmfusion-free-updates

It really makes no differnece atall


[root@zztestakmods ~]# dnf install kmod-v4l2loopback
Updating and loading repositories:
Repositories loaded.
Package                                              Arch        Version                                              Repository                            SizeInstalling:
 kmod-v4l2loopback                                   x86_64      0:0.15.4-1.fc44                                      rpmfusion-free-updates             0.0   BInstalling dependencies:
 akmod-v4l2loopback                                  x86_64      0:0.15.4-1.fc44                                      rpmfusion-free-updates           104.9 KiB v4l2loopback                                        x86_64      0:0.15.4-1.fc44                                      rpmfusion-free-updates            78.9 KiB
Transaction Summary:
 Installing:         3 packages

Total size of inbound packages is 155 KiB. Need to download 155 KiB.
After this operation, 184 KiB extra will be used (install 184 KiB, remove 0 B).
Is this ok [y/N]: y
[1/3] kmod-v4l2loopback-0:0.15.4-1.fc44.x86_64                                                                          100% | 146.0 KiB/s |   8.9 KiB |  00m00s[2/3] v4l2loopback-0:0.15.4-1.fc44.x86_64                                                                               100% | 377.4 KiB/s |  42.6 KiB |  00m00s[3/3] akmod-v4l2loopback-0:0.15.4-1.fc44.x86_64                                                                         100% | 832.0 KiB/s | 103.2 KiB |  00m00s----------------------------------------------------------------------------------------------------------------------------------------------------------------[3/3] Total                                                                                                             100% | 251.6 KiB/s | 154.7 KiB |  00m01sRunning transaction
[1/5] Verify package files                                                                                              100% |   2.9 KiB/s |   3.0   B |  00m00s[2/5] Prepare transaction                                                       



[root@zztestakmods ~]# rpm -qa kmod\*
kmod-libs-34.2-4.fc44.x86_64
kmod-34.2-4.fc44.x86_64
kmodtool-1.2.1-1.fc44.noarch
kmod-VirtualBox-7.1.3-201.fc44.x86_64-7.2.12-1.fc44.x86_64
kmod-VirtualBox-7.1.4-200.fc44.x86_64-7.2.12-1.fc44.x86_64
kmod-VirtualBox-7.1.4-204.fc44.x86_64-7.2.12-1.fc44.x86_64
kmod-v4l2loopback-0.15.4-1.fc44.x86_64
kmod-v4l2loopback-7.1.4-204.fc44.x86_64-0.15.4-1.fc44.x86_64

Notice that the kmod-v4l2loopback-7.1.4-204.fc44.x86_64 is the package that was built locally.

$ dnf repolist 
repo id                                           repo name                                    
code                                              Visual Studio Code                           
copr:copr.fedorainfracloud.org:mlampe:webkit2gtk3 Copr repo for webkit2gtk3 owned by mlampe    
docker-ce-stable                                  Docker CE Stable - x86_64                    
fedora                                            Fedora 44 - x86_64                           
fedora-cisco-openh264                             Fedora 44 openh264 (From Cisco) - x86_64     
onlyoffice                                        onlyoffice repo                              
protonvpn-fedora-stable                           ProtonVPN Fedora Stable repository           
rpmfusion-free                                    RPM Fusion for Fedora 44 - Free              
rpmfusion-free-updates                            RPM Fusion for Fedora 44 - Free - Updates    
rpmfusion-nonfree                                 RPM Fusion for Fedora 44 - Nonfree           
rpmfusion-nonfree-nvidia-driver                   RPM Fusion for Fedora 44 - Nonfree - NVIDIA  
rpmfusion-nonfree-updates                         RPM Fusion for Fedora 44 - Nonfree - Updates 
updates                                           Fedora 44 - x86_64 - Updates                 
vivaldi                                           vivaldi                                      
vivaldi-snapshot                                  vivaldi-snapshot

and

$ dnf info kmod-v4l2loopback 
Updating and loading repositories: 
Repositories loaded. 
Available packages 
Name           : kmod-v4l2loopback 
Epoch          : 0 
Version        : 0.15.4 
Release        : 1.fc44 
Architecture   : x86_64 
Download size  : 8.9 KiB 
Installed size : 0.0   B 
Source         : v4l2loopback-kmod-0.15.4-1.fc44.src.rpm 
Repository     : rpmfusion-free-updates 
Summary        : Metapackage which tracks in v4l2loopback kernel module for newest kernel 
URL            : https://github.com/umlaeute/v4l2loopback 
License        : GPL-2.0-or-later 
Description    : This is a meta-package without payload which sole purpose is to require the 
               : v4l2loopback kernel module(s) for the newest kernel, 
               : to make sure you get it together with a new kernel. 
Vendor         : RPM Fusion