Skip to content

Vulkan support in WSL2/WSLg #1254

@AreamanM

Description

@AreamanM

Hi, I have been trying to setup vulkan on my WSL2 Arch Linux instance, I installed the vulkan-devel package and ran vulkaninfo which gave the following output:

ERROR: [Loader Message] Code 0 : vkCreateInstance: Found no drivers!
Cannot create Vulkan instance.
This problem is often caused by a faulty installation of the Vulkan driver or attempting to use a GPU that does not support Vulkan.
ERROR at /usr/src/debug/vulkan-tools/Vulkan-Tools-1.3.269/vulkaninfo/./vulkaninfo.h:688:vkCreateInstance failed with ERROR_INCOMPATIBLE_DRIVER

I checked if WSL can see my GPU by running glxinfo -B and the output verified that my discrete GPU is recognised:

~ $ glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Microsoft Corporation (0xffffffff)
    Device: D3D12 (NVIDIA GeForce RTX 3070 Ti Laptop GPU) (0xffffffff)
    Version: 24.1.0
    Accelerated: yes
    Video memory: 16106MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1
OpenGL vendor string: Microsoft Corporation
OpenGL renderer string: D3D12 (NVIDIA GeForce RTX 3070 Ti Laptop GPU)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 24.1.0-arch1.1
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 24.1.0-arch1.1
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.1 Mesa 24.1.0-arch1.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10

After doing some research, I found some reports suggesting there is D3D12 -> Vulkan in Mesa drivers from some time now but I did not find any official Microsoft source to confirm this.

Hence I want to ask is Vulkan properly supported in WSL2 + WSLg? If so, are there official docs on this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions