microsoft / microsoft/WSL

Hardware-accelerated vulkan in WSL2

Open
#7,790 23 comments 19 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

GPU
Dominant language
C++
Stars
33.7k
Forks
1.8k
Avg merge
3d 17h
Merged PRs (30d)
116

Description

Version

Microsoft Windows [Version 10.0.22000.348]

WSL Version
  • WSL 2
  • WSL 1
Kernel Version

5.10.60.1

Distro Version

Ubuntu 21.04

Other Software

GPU: AMD Ryzen 7 5800U IGPU

AMD drivers version: https://www.amd.com/en/support/kb/release-notes/rn-rad-win-wsl-support (recommended for use with WSL)

vulkaninfo --summary
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
==========
VULKANINFO
==========

Vulkan Instance Version: 1.2.162


Instance Extensions: count = 18
-------------------------------
VK_EXT_acquire_xlib_display            : extension revision 1
VK_EXT_debug_report                    : extension revision 10
VK_EXT_debug_utils                     : extension revision 2
VK_EXT_direct_mode_display             : extension revision 1
VK_EXT_display_surface_counter         : extension revision 1
VK_KHR_device_group_creation           : extension revision 1
VK_KHR_display                         : extension revision 23
VK_KHR_external_fence_capabilities     : extension revision 1
VK_KHR_external_memory_capabilities    : extension revision 1
VK_KHR_external_semaphore_capabilities : extension revision 1
VK_KHR_get_display_properties2         : extension revision 1
VK_KHR_get_physical_device_properties2 : extension revision 2
VK_KHR_get_surface_capabilities2       : extension revision 1
VK_KHR_surface                         : extension revision 25
VK_KHR_surface_protected_capabilities  : extension revision 1
VK_KHR_wayland_surface                 : extension revision 6
VK_KHR_xcb_surface                     : extension revision 6
VK_KHR_xlib_surface                    : extension revision 6

Instance Layers: count = 3
--------------------------
VK_LAYER_KHRONOS_validation Khronos Validation Layer     1.2.162  version 1
VK_LAYER_MESA_device_select Linux device selection layer 1.2.73   version 1
VK_LAYER_MESA_overlay       Mesa Overlay layer           1.1.73   version 1

Devices:
========
GPU0:
        apiVersion         = 4202691 (1.2.195)
        driverVersion      = 1 (0x0001)
        vendorID           = 0x10005
        deviceID           = 0x0000
        deviceType         = PHYSICAL_DEVICE_TYPE_CPU
        deviceName         = llvmpipe (LLVM 13.0.0, 256 bits)
        driverID           = DRIVER_ID_MESA_LLVMPIPE
        driverName         = llvmpipe
        driverInfo         = Mesa 21.3.0 - kisak-mesa PPA (LLVM 13.0.0)
        conformanceVersion = 0.0.0.0
Repro Steps

Run vulkaninfo --summary

Expected Behavior

I expect vulkan to use the actual GPU in WSL2

Actual Behavior

It uses lavapipe software emulation

Diagnostic Logs

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing vulkaninfo --summary in the reported WSL 2, Ubuntu, and AMD GPU environment, then compare the exposed device with the expected hardware. The issue is done when Vulkan selects the actual GPU instead of lavapipe software emulation; no source files or tests are identified in the report.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, ubuntu
Domain
computer-graphics, operating-systems
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.