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.