Using virt-manager I made a Windows 11 (LTSC N) VM on my personal laptop (Tumbleweed) to mimic my work laptop in case of emergency or travel. The only missing piece is the webcam, which is essential for my job. It is a USB webcam called “emeet C960 HD”.
Now, contrary to all of the similar issues that I found online, the VM does recognise my webcam. The problem is that when I try to use it I get messages like “Your camera is in use by another application” on Teams, or “failed to access your camera” on an online meeting platform. It’s like the VM sees the webcam but lacks the permissions to use it, or wrongly believes that something else is already using it. Weirdly, the mic integrated in the webcam does work. Does that mean it’s an issue of Windows rather than virtualisation?
I have found no one with this exact issue even digging through old tech support forum posts around the internet. I hope someone can help me figure this out.
Check the ownership of the webcam device. Assuming it’s a USB connected device and you’re using USB Host Device → USB passthrough? ls -l /dev/bus/usb/*/*
It tracks with the fact that virt-manager asks for the password every time I connect the webcam, and Windows only recognises it once I have given it. Does the ownership still impact the webcam after I explicitly escalated privileges?
Thank you for your help by the way
No, the root ownership doesn’t block usage once you’ve authenticated. The VM has access to the webcam after that. (BTW, it is possible to create a udev rule to set the appropriate ownership if desired, and avoid having to authenticate.)
The issue is more likely Windows-side. You could try testing the webcam using the Windows Camera app for test purposes. Does that work as expected?
Thank you, it looks like my version of windows (LTSC N) is made without the Media Feature Pack and Windows media player, preventing the proper functioning of webcams. I’m trying to install the two and see if it solves the issue. I’m also looking into udev rules, thank you for the info
It did work, the camera is now functioning, it was entirely a Windows issue but I wouldn’t have got it without help. In case this can help someone in the future, these are the steps to install the missing packages:
In powerhsell, run: DISM /Online /Get-Capabilities
to find which version of Media.MediaFeaturePack0.0.1.0 and Media.WindowsMediaPlayer are allowed.
Run: DISM /Online /Add-Capability /CapabilityName:Media.WindowsMediaPlayer~~~~0.0.12.0
Reboot the VM.
Run: DISM /Online /Add-Capability /CapabilityName:Media.MediaFeaturePack~~~~0.0.1.0
Reboot again.