WSL2 OpenGL D3D12 is being very slow
When I run glxgears in WSL2 Ubuntu with my NVIDIA GTX 1650, I get very low FPS
415 frames in 5.0 seconds = 82.836 FPS
367 frames in 5.0 seconds = 73.247 FPS
373 frames in 5.0 seconds = 74.504 FPS
371 frames in 5.0 seconds = 74.085 FPS
366 frames in 5.0 seconds = 73.052 FPS
WSL2 is definitely using my GPU, as my CPU llvmpipe glxgears is ~1000 FPS
VSync does not seem to be the issue, as this also occurs with vblank_mode=0
On normal Linux with my GPU, I get around 2000 FPS in glxgears
es2gears is also slower on my GPU than my CPU
Does anyone know why this is? I get that D3D12 is a translation layer but surely it isn't that slow? Here is my system info
Distribution: Ubuntu 24.04.3 LTS
GPU: NVIDIA GeForce GTX 1650
Driver Version: 581.57
WSL version: 2.6.1.0
Kernel version: 6.6.87.2-1
WSLg version: 1.0.66
MSRDC version: 1.2.6353
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.26100.1-240331-1435.ge-release
Windows version: 10.0.19045.6456
export MESA_LOADER_DRIVER_OVERRIDE=d3d12
export MESA_D3D12_DEFAULT_ADAPTER_NAME="NVIDIA"
export GALLIUM_DRIVER=d3d12
OpenGL vendor string: Microsoft Corporation
OpenGL renderer string: D3D12 (NVIDIA GeForce GTX 1650)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 25.0.7-0ubuntu0.24.04.1
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 25.0.7-0ubuntu0.24.04.1
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 25.0.7-0ubuntu0.24.04.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
direct rendering: Yes
Thank you :)
Posted Nov 5, 2025, 1:46 AM UTC
16