Skip to content

🚨 WSLg GPU Acceleration Fails on Intel UHD 620 (WDDM 3.1) — dxgkrnl Ioctl Errors, Falls Back to llvmpipe #1394

@ian1roberts

Description

@ian1roberts

Windows build number:

10.0.26100.7171

Your Distribution version:

24.04

Your WSL versions:

🚨 WSLg GPU Acceleration Fails on Intel UHD 620 (WDDM 3.1) — dxgkrnl Ioctl Errors, Falls Back to llvmpipe

Summary

On a Lenovo X1 Carbon (Intel UHD 620, 8th-gen), WSLg fails to initialise GPU acceleration.
Mesa always falls back to llvmpipe.
WSL logs show repeated dxgkio_is_feature_enabled / dxgkio_query_adapter_info ioctl failures.
This appears to be a regression or unsupported path in recent Intel DCH drivers (WDDM 3.1).

All standard configuration paths (WSL2, WSLg, Mesa, environment, driver settings) appear valid.

This is reproducible on Ubuntu 24.04 under WSL2 with WSLg.


Environment

Hardware

  • Laptop: Lenovo X1 Carbon (8th Gen)
  • GPU: Intel® UHD Graphics 620 (Kaby Lake Refresh)
  • CPU: Intel i5 (8th gen)

Windows

  • Windows 11
  • Driver Model: WDDM 3.1
  • GPU Driver Version: 31.0.101.2135
  • Direct3D DDI: 12
  • DX12 Ultimate: Disabled
    (This iGPU supports D3D12 but not DX12 Ultimate.)

WSL

WSL 2
WSLg enabled
Ubuntu 24.04
Mesa 25.x (default Ubuntu userspace)

GPU device in WSL

/dev/dxg exists, so GPU virtualization is at least partially exposed.


Symptoms

1. glxinfo always shows software rendering:

OpenGL renderer string: llvmpipe (LLVM 20.1.2, 256 bits)
Vendor: Mesa
Device: llvmpipe

2. WSLg compositor logs show repeated dxgkrnl ioctl failures:

misc dxg: dxgk: dxgkio_is_feature_enabled: Ioctl failed: -22
misc dxg: dxgk: dxgkio_query_adapter_info: Ioctl failed: -22
misc dxg: dxgk: dxgkio_query_adapter_info: Ioctl failed: -2

These appear every boot and whenever WSLg starts.

3. GPU acceleration is never enabled

  • GLX + Kitty + WSLg apps fall back to CPU rendering
  • glmark2 and glxgears run on llvmpipe regardless of configuration
  • No renderer string ever reports Intel, D3D12, or Mesa D3D12

4. No misconfiguration detected

  • No LIBGL_ALWAYS_SOFTWARE, MESA_LOADER_DRIVER_OVERRIDE, etc.
  • DISPLAY and WAYLAND_DISPLAY are WSLg-managed
  • No manual X11 overrides
  • WSLg itself starts cleanly with no user-facing errors

Diagnostic Output

dxgkrnl errors

misc dxg: dxgk: dxgkio_is_feature_enabled: Ioctl failed: -22
misc dxg: dxgk: dxgkio_query_adapter_info: Ioctl failed: -22
misc dxg: dxgk: dxgkio_query_adapter_info: Ioctl failed: -22
misc dxg: dxgk: dxgkio_query_adapter_info: Ioctl failed: -2

Mesa detection

OpenGL renderer string: llvmpipe (LLVM 20.1.2, 256 bits)

WSLg service status

wslg-session.service - Started
(no hardware-accel lines in logs)

Hypothesis

This may be one of:

  1. A regression in Intel’s recent DCH drivers (WDDM 3.1)
    dxgkrnl ioctl failures appear common on UHD 620 under newer drivers.

  2. Unsupported GPU virtualization path for older iGPUs
    UHD 620 supports D3D12, but does not support DX12 Ultimate or certain D3D12 virtualization features used by WSLg.

  3. Compatibility gap between WSLg’s D3D12-based Gallium driver and older Intel architectures.


Why report this?

Even if UHD 620 eventually becomes officially “deprecated”, the failures here are silent.
Users receive:

  • No warning
  • No fallback notice
  • No explanation why GPU acceleration is unavailable

And they see extremely confusing symptoms (llvmpipe only, ioctl error -22 spam).

A clearer error path or graceful fallback would greatly improve user experience.


Request

  • Can the WSLg/WSL GPU team confirm whether Intel UHD 620 (WDDM 3.1, driver 31.0.101.2135) is officially supported, unsupported, or broken due to a recent driver regression?
  • Are there recommended driver versions known to work with this iGPU in WSLg?
  • Is the ioctl failure (-22, -2) expected for this GPU family?
  • Should users of 8th-gen Intel chips expect GPU acceleration, or fall back to software?

If you'd like, I can attach:

  • full glxinfo
  • full dxdiag
  • complete journalctl -b
  • repro video
    Just ask.

If you want me to tailor this even more (tone down, tone up, add logs inline), happy to refine it.

Steps to reproduce:

Steps to Reproduce

  1. Fresh Windows 11 install with Intel driver 31.0.101.2135

  2. Fresh WSL2 install of Ubuntu 24.04

  3. Update WSL:

    wsl --update
    wsl --shutdown
  4. Install Mesa/X11 tools in Ubuntu:

    sudo apt install mesa-utils glmark2
  5. Test:

    glxinfo | grep -i "renderer"
  6. Check logs:

    sudo journalctl -b | grep -Ei 'dxg|d3d12'

→ GPU never exposed; llvmpipe always selected.

WSL logs:

No response

WSL dumps:

No response

Expected behavior:

Expected behaviour

WSLg should expose the Intel UHD 620 via the D3D12 → dxgkrnl → Mesa Gallium driver stack, enabling hardware-accelerated OpenGL / GLES for Linux GUI apps.

glxinfo should report something similar to:

Device: Mesa Intel(R) UHD Graphics 620 (KBL GT2)

or a D3D12-backed Mesa renderer.

Actual behavior:

Actual behaviour

  • dxgkrnl ioctl calls fail on startup
  • WSLg silently falls back to software rendering
  • Mesa selects llvmpipe
  • No GPU acceleration is available to Linux GUI apps

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions