You are not logged in.
OBS Version: 31.0.3
Kernel Version: 6.14.2-arch1-1
v4l2loopback-utils Version: 0.14.0-1
vulkan-radeon Version: 25.0.3-1
> v4l2-ctl --list-devices
OBS Virtual Camera (platform:v4l2loopback-000):
/dev/video2
Laptop Camera: Laptop Camera (usb-0000:c4:00.4-1):
/dev/video0
/dev/video1
/dev/media0When I click "Start Virtual Camera" on OBS Studio I get the "Failed to start virtual camera" error. Checking the logs, I see "Failed to start streaming on '/dev/video2' (Invalid argument)." I tried downgrading to 0.13.2-1.
> sudo downgrade v4l2loopback-dkms
> sudo downgrade v4l2loopback-utils
> sudo rmmod -f v4l2loopback
> sudo modprobe v4l2loopbackI could start the Virtual Camera, but Google Meet and other conferencing software could not detect my virtual camera anymore. also some other programs need v4l2 so I can no longer keep it in the downgraded state. Are there any fixes other than waiting for OBS to correct their code?
Offline
I am also having the same problem and the same error in obs logs, did you find a solution to this?
Offline
I am also having the same problem and the same error in obs logs, did you find a solution to this?
Offline
I also ran into the same issue with the following software versions.
> pacman -Q linux obs-studio v4l2loopback-dkms v4l2loopback-utils vulkan-radeon
linux 6.14.9.arch1-1
obs-studio 31.0.3-2
v4l2loopback-dkms 0.14.0-1
v4l2loopback-utils 0.14.0-1
vulkan-radeon 1:25.1.1-2I downgraded the v4l2loopback-dkms and v4l2loopback-utils packages using the following commands.
sudo pacman -U https://archive.archlinux.org/packages/v/v4l2loopback-dkms/v4l2loopback-dkms-0.13.2-1-any.pkg.tar.zst
sudo pacman -U https://archive.archlinux.org/packages/v/v4l2loopback-dkms/v4l2loopback-utils-0.13.2-1-any.pkg.tar.zstThen I rebooted and was able to successfully use OBS virtual camera. Here are the final list of versions I used.
> pacman -Q linux obs-studio v4l2loopback-dkms v4l2loopback-utils vulkan-radeon
linux 6.14.9.arch1-1
obs-studio 31.0.3-2
v4l2loopback-dkms 0.13.2-1
v4l2loopback-utils 0.13.2-1
vulkan-radeon 1:25.1.1-2Offline
Same issue with version 0.15.0. I tested and then downgraded again to get OBS virtual camera to work.
Offline
If you're trying to keep the 0.13.2 version working on Arch kernel 6.15.2-arch1-1 then you'll need the following patch.
diff --git a/var/lib/dkms/v4l2loopback/0.13.2/source/v4l2loopback.c b/var/lib/dkms/v4l2loopback/0.13.2/source/v4l2loopback.c
index 25cb1be..5166e64 100644
--- a/var/lib/dkms/v4l2loopback/0.13.2/source/v4l2loopback.c
+++ b/var/lib/dkms/v4l2loopback/0.13.2/source/v4l2loopback.c
@@ -1682,8 +1682,8 @@ static int vidioc_querybuf(struct file *file, void *fh, struct v4l2_buffer *b)
static void buffer_written(struct v4l2_loopback_device *dev,
struct v4l2l_buffer *buf)
{
- del_timer_sync(&dev->sustain_timer);
- del_timer_sync(&dev->timeout_timer);
+ timer_delete_sync(&dev->sustain_timer);
+ timer_delete_sync(&dev->timeout_timer);
spin_lock_bh(&dev->list_lock);
list_move_tail(&buf->list_head, &dev->outbufs_list);
@@ -2255,8 +2255,8 @@ static int v4l2_loopback_close(struct file *file)
atomic_dec(&dev->open_count);
if (dev->open_count.counter == 0) {
- del_timer_sync(&dev->sustain_timer);
- del_timer_sync(&dev->timeout_timer);
+ timer_delete_sync(&dev->sustain_timer);
+ timer_delete_sync(&dev->timeout_timer);
}
try_free_buffers(dev);Then you can rebuild the module.
sudo dkms install --no-depmod v4l2loopback/0.13.2 -k 6.15.2-arch1-1Last edited by sudomateo (2025-06-16 17:06:43)
Offline
If you're trying to keep the 0.13.2 version working on Arch kernel 6.15.2-arch1-1 then you'll need the following patch.
Thanks for this! Patching did fix this issue for me. Here's what I did.
sudo rmmod -f v4l2loopback // force unload module
sudo pacman -Rns v4l2loopback-dkms v4l2loopback-utils //remove packages
mkdir v4l2_patch // make new directory for building
cd v4l2_patch // change to new directory
nvim PKGBUILD // I already downloaded the PKGBUILD file from source below, copied it to the v4l2_patch folder and appiled the patch herePatched PKGBUILD file based on source: https://gitlab.archlinux.org/archlinux/ … _type=tags
# Maintainer: Bruno Pagani <archange@archlinux.org>
pkgbase=v4l2loopback
pkgname=(v4l2loopback-dkms v4l2loopback-utils)
pkgver=0.13.2
pkgrel=1
pkgdesc="v4l2-loopback device"
arch=(any)
url="https://github.com/umlaeute/v4l2loopback"
license=(GPL2)
makedepends=(help2man)
source=(${url}/archive/v${pkgver}/${pkgbase}-${pkgver}.tar.gz)
# The sha256sum for v4l2loopback-0.13.2.tar.gz from github.com/umlaeute/v4l2loopback
sha256sums=('1e57e1e382d7451aa2a88d63cc9f146eab1f425b90e76104d4c3d73127e34771')
prepare() {
cd "${pkgbase}-${pkgver}"
# PATCH START: Fix 'del_timer_sync' usage on newer kernels (6.8+)
# Addresses: 'implicit declaration of function ‘del_timer_sync’' error from earlier attempts.
# Replacing del_timer_sync with timer_delete_sync which is its replacement.
echo "Applying patch for timer functions (del_timer_sync to timer_delete_sync)..."
sed -i 's/del_timer_sync/timer_delete_sync/g' v4l2loopback.c
# Ensure the necessary header <linux/timer.h> is included for new kernel APIs.
echo "Adding #include <linux/timer.h>..."
sed -i '1s/^/#include <linux\/timer.h>\n/' v4l2loopback.c
# PATCH END
}
package_v4l2loopback-dkms() {
pkgdesc+=" – module sources"
depends=(dkms)
provides=(V4L2LOOPBACK-MODULE)
cd ${pkgbase}-${pkgver} # This is handled by prepare() and the overall makepkg process
install -Dm644 v4l2loopback.h v4l2loopback.c v4l2loopback_formats.h dkms.conf Kbuild Makefile -t "${pkgdir}"/usr/src/${pkgbase}-${pkgver}/
}
package_v4l2loopback-utils() {
pkgdesc+=" – utilities only"
depends=(V4L2LOOPBACK-MODULE)
cd ${pkgbase}-${pkgver} # This is handled by prepare() and the overall makepkg process
make DESTDIR="${pkgdir}" PREFIX="/usr" install-utils install-man
install -Dm644 COPYING -t "${pkgdir}"/usr/share/licenses/${pkgbase}
}makepkg -s // build patched v4l2loopback-utils & v4l2loopback-dkms
sudo pacman -U v4l2loopback-dkms-0.13.2-1-any.pkg.tar.zst v4l2loopback-utils-0.13.2-1-any.pkg.tar.zst // install newly built pkgs
sudo modprobe v4l2loopback // loaded modulevirtual cam is working in OBS again and discord is detecting it! ![]()
Offline
Reporting that OBS virtual camera is working with the latest `v4l2loopback` version. Here are the versions I'm running.
> pacman -Q linux obs-studio v4l2loopback-dkms v4l2loopback-utils vulkan-radeon
linux 6.15.9.arch1-1
obs-studio 31.1.2-1
v4l2loopback-dkms 0.15.0-1
v4l2loopback-utils 0.15.0-1
vulkan-radeon 1:25.1.7-1Offline
Just noting that clicking the "Start Virtual Camera" option in OBS 32.0.2 on kernel 6.17.9-arch1-1 failed for me today with an error about AMD/NVIDIA drivers. I manually loaded the v4l2loopback module and the virtual camera worked, telling me that OBS was no longer prompting to load the module as it used to. However, the virtual camera did not work in Chromium for me. More research led me to the following to do the following and reboot. I needed that exclusive_caps=1 option for the virtual camera to work in Chromium. I'm sure there's a better fix that I'm missing but I don't have time to further debug right now.
~> sudo cat /etc/modules-load.d/v4l2loopback.conf
v4l2loopback
~> sudo cat /etc/modprobe.d/v4l2loopback.conf
options v4l2loopback exclusive_caps=1Offline