Skip to content

WSL GPU (Vulkan/DXG) Not Working on AMD Radeon 780M (Ryzen 7 PRO 8840HS) #41410

Description

Environment

Component Version
WSL version 2.7.12.0
WSL Kernel 6.18.33.2-microsoft-standard-WSL2
WSLg 1.0.73.2
Direct3D 1.611.1-81528511
DXCore 10.0.26100.1-240331-1435.ge-release
Windows 10.0.26100.8893
Linux distro Ubuntu 26.04 LTS (Resolute Raccoon)
dxgkrnl version 2.0.3 (builtin)
GPU AMD Radeon 780M (Ryzen 7 PRO 8840HS) — device ID 0x1900
Windows GPU driver 32.0.31035.1003 (July 2026, WDDM 3.2)

Problem

Vulkan only exposes the software llvmpipe CPU renderer. No GPU device is detected. /dev/dri/ does not exist.

vulkaninfo --summary
...
GPU0:
  deviceName = llvmpipe (LLVM 21.1.8, 256 bits)
  driverID   = DRIVER_ID_MESA_LLVMPIPE

Root Cause (Diagnosed)

The WSL kernel's dxgkrnl driver (v2.0.3) registers the following VMBus GUIDs:

38a6d333-0000-0000-0000-000000000000
38a6d448-0000-0000-0000-000000000000
711dad3a-73ce-468b-90a9-ede6906841b2

However, the Windows AMD driver (32.0.31035.1003) exposes a different VMBus GUID for the GPU channel:

dde9cbc0-5060-4436-9448-ea1254a5d177

This GUID is not recognized by dxgkrnl, so it appears as Unknown GUID in dmesg and no driver is ever bound to the device:

[ 0.464648] hv_vmbus: registering driver dxgkrnl
[ 2.449362] misc dxg: dxgk: dxgkio_is_feature_enabled: Ioctl failed: -22
[ 2.455402] misc dxg: dxgk: dxgkio_query_adapter_info: Ioctl failed: -22

Manually binding the device via sysfs confirms the mismatch — the bind is silently ignored and /dev/dri/ never appears.

Steps to Reproduce

  1. Install WSL2 on a machine with AMD Radeon 780M (Ryzen 7 PRO 8840HS)
  2. Install Ubuntu 26.04 in WSL
  3. Install vulkan-tools and run vulkaninfo --summary → only llvmpipe shown
  4. Run ls /dev/dri/No such file or directory
  5. Run sudo dmesg | grep dxg → shows Ioctl failed: -22
  6. Run cat /sys/bus/vmbus/devices/*/class_id | sort -udde9cbc0-5060-4436-9448-ea1254a5d177 present but unbound
  7. Run ls /sys/bus/vmbus/drivers/dxgkrnl/ → GUID dde9cbc0 is not listed

Expected Behavior

/dev/dri/renderD128 should appear and vulkaninfo --summary should show AMD Radeon 780M as a Vulkan-capable GPU device.

What Was Tried

  • Added /usr/lib/wsl/lib and /opt/rocm/lib to ld.so.conf and ran ldconfig — no effect
  • Added gpuSupport=true to .wslconfig and restarted WSL — no effect
  • Ran wsl --update — already on latest version
  • Manually bound dde9cbc0-5060-4436-9448-ea1254a5d177 via /sys/bus/vmbus/drivers/dxgkrnl/bind — silently ignored
  • No Group Policy restrictions on Hyper-V found

Workaround

None found. /dev/dxg exists and the Windows GPU is healthy (WDDM 3.2, DXCore present). The issue is purely the unrecognized VMBus GUID in dxgkrnl.

Request

Please add dde9cbc0-5060-4436-9448-ea1254a5d177 to the dxgkrnl VMBus device ID table, or investigate why AMD driver 32.0.31035.1003 advertises a different GPU channel GUID than what dxgkrnl 2.0.3 expects.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions