-
Notifications
You must be signed in to change notification settings - Fork 320
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WSL cannot load NVIDIA OpenGL. #1312
Comments
EDIT: See https://gist.github.com/lzlrd/0d9b757d2122f551794fd00c7f0752d6 as there are a few updates there (inc. fixing Wayland). I won't be updating the message below going forward.So I got this working on both Ubuntu, and Arch. First, start with a fresh install (of archlinux from https://gitlab.archlinux.org/archlinux/archlinux-wsl or Ubuntu from For Arch:
$ glxinfo | grep Device
Device: D3D12 (NVIDIA GeForce RTX 4080 SUPER) (0xffffffff)
$ vulkaninfo | grep "GPU id"
WARNING: dzn is not a conformant Vulkan implementation, testing use only.
GPU id = 0 (Microsoft Direct3D12 (NVIDIA GeForce RTX 4080 SUPER))
GPU id = 1 (llvmpipe (LLVM 19.1.7, 256 bits))
GPU id = 0 (Microsoft Direct3D12 (NVIDIA GeForce RTX 4080 SUPER))
GPU id = 1 (llvmpipe (LLVM 19.1.7, 256 bits))
GPU id = 0 (Microsoft Direct3D12 (NVIDIA GeForce RTX 4080 SUPER))
GPU id = 1 (llvmpipe (LLVM 19.1.7, 256 bits))
GPU id : 0 (Microsoft Direct3D12 (NVIDIA GeForce RTX 4080 SUPER)):
GPU id : 1 (llvmpipe (LLVM 19.1.7, 256 bits)): For Ubuntu:
The reason we're using just the Vulkan driver from Kisak's repo. is that the mesa package causes llvmpipe to be used instead of D3D12. Maybe overring Update: Documented at https://gist.github.com/lzlrd/0d9b757d2122f551794fd00c7f0752d6, as well. |
Windows build number:
10.0.26100.3476
Your Distribution version:
24.04
Your WSL versions:
1.When I try to use hardware acceleration, my WSL can't find file libnvidia-gl.so
~$ ls /usr/lib/wsl/lib | grep nvidia
libnvidia-encode.so
libnvidia-encode.so.1
libnvidia-ml.so.1
libnvidia-opticalflow.so
libnvidia-opticalflow.so.1
nvidia-smi
2.WSL is not using your NVIDIA GPU for OpenGL/Vulkan.
glxinfo | grep "OpenGL renderer" → Shows D3D12 (Intel UHD Graphics) instead of RTX 4060 and I can't change it manuly.
vulkaninfo | grep "GPU id" → Shows LLVM software renderer, meaning hardware acceleration is missing.
3.WSL does not have full NVIDIA library support:
nvidia-smi works, but only sees CUDA, not OpenGL.
4.Segmentation fault (core dumped) when running OpenGL apps:
glxgears crashes, meaning MESA+NVIDIA are not working together.
5.WSL may be using an outdated or incompatible driver:
WSL reports NVIDIA-SMI 570.124.03, but Windows reports 572.60.
Possible mismatch between Windows and WSL driver versions.
6.Vulkan driver is broken:
vulkaninfo | grep "GPU id" → "ERROR_INCOMPATIBLE_DRIVER"
Likely due to missing /usr/share/vulkan/icd.d/nvidia_icd.json.
Steps to reproduce:
WSL logs:
wlog.log
WSL dumps:
No response
Expected behavior:
No response
Actual behavior:
WSL installation does not have the full NVIDIA driver stack for OpenGL and Vulkan.
missing libnvidia-gl.so, which is needed for OpenGL rendering.
NVIDIA GPU is detected (nvidia-smi works), but OpenGL is still using Intel GPU (D3D12).
Vulkan also fails with ERROR_INCOMPATIBLE_DRIVER, meaning WSL is not correctly using the NVIDIA driver.
The text was updated successfully, but these errors were encountered: