-
Notifications
You must be signed in to change notification settings - Fork 10.7k
Windows 11 with WSL2 Ubuntu
If you want to use WSL2 on Windows 11 you will notice, that Ubuntu WSL2 doesn't come with USB-Webcam support in the Kernel. You need to do two things: Compile the Kernel with the right modules integrated and forward your USB Webcam from Windows to Ubuntu with the usbipd app. Here are detailed Steps:
This tutorial will guide you through the process of setting up WSL2 Ubuntu with USB webcam support, rebuilding the kernel, and preparing the environment for the Deep-Live-Cam project.
Install WSL2 Ubuntu from the Microsoft Store or using PowerShell:
-
Install the USB/IP tool for Windows:
https://learn.microsoft.com/en-us/windows/wsl/connect-usb -
In Windows PowerShell (as Administrator), connect your webcam to WSL:
usbipd list
usbipd bind --busid x-x # Replace x-x with your webcam's bus ID
usbipd attach --wsl --busid x-x # Replace x-x with your webcam's bus ID
You need to redo the above every time you reboot wsl or re-connect your webcam/usb device.
Follow these steps to rebuild the kernel:
guide
- After rebuilding, restart WSL with the new kernel.
Within Ubuntu:
- Clone the repository:
git clone [https://github.com/hacksider/Deep-Live-Cam](https://github.com/hacksider/Deep-Live-Cam)
- Follow the installation instructions in the repository, including cuda toolkit
- Check if USB and webcam modules are built into the kernel:
zcat /proc/config.gz | grep -i "CONFIG_USB_VIDEO_CLASS"
- Verify video devices:
sudo ls -al /dev/video*
- Add user to video group and set permissions:
sudo usermod -a -G video $USER
sudo chgrp video /dev/video0 /dev/video1
sudo chmod 660 /dev/video0 /dev/video1
- Create a udev rule for permanent permissions:
sudo nano /etc/udev/rules.d/81-webcam.rules
Add this content:
KERNEL=="video[0-9]*", GROUP="video", MODE="0660"
- Reload udev rules:
sudo udevadm control --reload-rules && sudo udevadm trigger
-
Log out and log back into your WSL session.
-
Start Deep-Live-Cam with
python run.py --execution-provider cuda --max-memory 8
where 8 can be changed to the number of GB VRAM of your GPU has, minus 1-2GB. If you have a RTX3080 with 10GB I suggest adding 8GB. Leave some left for Windows.
If you encounter this error:
[ONNXRuntimeError] : 1 : FAIL : Failed to load library libonnxruntime_providers_cuda.so with error: libcufft.so.10: cannot open shared object file: No such file or directory
Follow these steps:
- Install CUDA Toolkit 11.8 (ONNX 1.16.3 requires CUDA 11.x, not 12.x):
https://developer.nvidia.com/cuda-11-8-0-download-archive
select: Linux, x86_64, WSL-Ubuntu, 2.0, deb (local) - Check CUDA version:
/usr/local/cuda/bin/nvcc --version
-
If the wrong version is installed, remove it completely:
https://askubuntu.com/questions/530043/removing-nvidia-cuda-toolkit-and-installing-new-one -
Install CUDA Toolkit 11.8 again https://developer.nvidia.com/cuda-11-8-0-download-archive, select: Linux, x86_64, WSL-Ubuntu, 2.0, deb (local)
sudo apt-get -y install cuda-toolkit-11-8