microsoft / WSL

Issues found on WSL
https://docs.microsoft.com/windows/wsl
MIT License
17.51k stars 823 forks source link

Vulkan does not recognize the NVIDIA GPU. The vulkaninfo command displays a warning: "WARNING: lavapipe is not a conformant vulkan implementation, for testing purposes only." Meanwhile, the nvidia_icd.json file is missing from the \usr\share\vulkan\icd.d directory. #12313

Open YukonKong opened 2 hours ago

YukonKong commented 2 hours ago

Windows Version

Microsoft Windows [Version10.0.22631.4460]

WSL Version

2.3.26.0

Are you using WSL 1 or WSL 2?

Kernel Version

Linux version 5.15.167.4-microsoft-standard-WSL2 (root@f9c826d3017f) (gcc (GCC) 11.2.0, GNU ld (GNU Binutils) 2.37) #1 SMP Tue Nov 5 00:21:55 UTC 2024

Distro Version

Ubuntu 20.04

Other Software

nvidia-smi: +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 565.72 Driver Version: 566.14 CUDA Version: 12.7 | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 NVIDIA GeForce RTX 4070 Laptop On | 00000000:01:00.0 On | N/A | | N/A 45C P8 3W / 140W | 1214MiB / 8188MiB | 2% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+

nvcc -V: nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2023 NVIDIA Corporation Built on Mon_Apr__3_17:16:06_PDT_2023 Cuda compilation tools, release 12.1, V12.1.105 Build cuda_12.1.r12.1/compiler.32688072_0

Repro Steps

nvidia-smi and cuda correctly recognize the nvidia GPU, but when running the vulkaninfo command, a warning 'WARNING: lavapipe is not a conformant Vulkan implementation, for testing purposes only' appears. Only llvmpipe is displayed instead of my nvidia 4070 laptop. Furthermore, I noticed that the nvidia_icd.json file is missing from the /usr/share/vulkan/icd.d directory.

=====================================================================

(sds) yukon@Yukon-PC:~/downloads$ vulkaninfo WARNING: lavapipe is not a conformant vulkan implementation, testing use only.

VULKANINFO

Vulkan Instance Version: 1.2.131

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 1
    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

Layers: count = 3

VK_LAYER_LUNARG_standard_validation (LunarG Standard Validation Layer) Vulkan version 1.0.131, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id : 0 (llvmpipe (LLVM 12.0.0, 256 bits)) Layer-Device Extensions: count = 0

VK_LAYER_MESA_device_select (Linux device selection layer) Vulkan version 1.2.73, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id : 0 (llvmpipe (LLVM 12.0.0, 256 bits)) Layer-Device Extensions: count = 0

VK_LAYER_MESA_overlay (Mesa Overlay layer) Vulkan version 1.1.73, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id : 0 (llvmpipe (LLVM 12.0.0, 256 bits)) Layer-Device Extensions: count = 0 ...

=====================================================================

(sds) yukon@Yukon-PC:~/downloads$ ls /usr/share/vulkan/icd.d/ intel_icd.x86_64.json lvp_icd.x86_64.json radeon_icd.x86_64.json

Expected Behavior

I've tried numerous methods over the past couple of days, but they all have issues. Could you please guide me to the most accurate approach? I appreciate your help!

Actual Behavior

nvidia-smi and cuda correctly recognize the nvidia GPU, but when running the vulkaninfo command, a warning 'WARNING: lavapipe is not a conformant Vulkan implementation, for testing purposes only' appears. Only llvmpipe is displayed instead of my nvidia 4070 laptop. Furthermore, I noticed that the nvidia_icd.json file is missing from the /usr/share/vulkan/icd.d directory.

Diagnostic Logs

No response

github-actions[bot] commented 2 hours ago

Logs are required for review from WSL team

If this a feature request, please reply with '/feature'. If this is a question, reply with '/question'. Otherwise please attach logs by following the instructions below, your issue will not be reviewed unless they are added. These logs will help us understand what is going on in your machine.

How to collect WSL logs Download and execute [collect-wsl-logs.ps1](https://github.com/Microsoft/WSL/blob/master/diagnostics/collect-wsl-logs.ps1) in an **administrative powershell prompt**: ``` Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/WSL/master/diagnostics/collect-wsl-logs.ps1" -OutFile collect-wsl-logs.ps1 Set-ExecutionPolicy Bypass -Scope Process -Force .\collect-wsl-logs.ps1 ``` The script will output the path of the log file once done. If this is a networking issue, please use [collect-networking-logs.ps1](https://github.com/Microsoft/WSL/blob/master/diagnostics/collect-networking-logs.ps1), following the instructions [here](https://github.com/microsoft/WSL/blob/master/CONTRIBUTING.md#collect-wsl-logs-for-networking-issues) Once completed please upload the output files to this Github issue. [Click here for more info on logging](https://github.com/microsoft/WSL/blob/master/CONTRIBUTING.md#8-collect-wsl-logs-recommended-method) If you choose to email these logs instead of attaching to the bug, please send them to wsl-gh-logs@microsoft.com with the number of the github issue in the subject, and in the message a link to your comment in the github issue and reply with '/emailed-logs'.

View similar issues

Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it!

Open similar issues:

Note: You can give me feedback by thumbs upping or thumbs downing this comment.

github-actions[bot] commented 2 hours ago

Logs are required for review from WSL team

If this a feature request, please reply with '/feature'. If this is a question, reply with '/question'. Otherwise please attach logs by following the instructions below, your issue will not be reviewed unless they are added. These logs will help us understand what is going on in your machine.

How to collect WSL logs Download and execute [collect-wsl-logs.ps1](https://github.com/Microsoft/WSL/blob/master/diagnostics/collect-wsl-logs.ps1) in an **administrative powershell prompt**: ``` Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/WSL/master/diagnostics/collect-wsl-logs.ps1" -OutFile collect-wsl-logs.ps1 Set-ExecutionPolicy Bypass -Scope Process -Force .\collect-wsl-logs.ps1 ``` The script will output the path of the log file once done. If this is a networking issue, please use [collect-networking-logs.ps1](https://github.com/Microsoft/WSL/blob/master/diagnostics/collect-networking-logs.ps1), following the instructions [here](https://github.com/microsoft/WSL/blob/master/CONTRIBUTING.md#collect-wsl-logs-for-networking-issues) Once completed please upload the output files to this Github issue. [Click here for more info on logging](https://github.com/microsoft/WSL/blob/master/CONTRIBUTING.md#8-collect-wsl-logs-recommended-method) If you choose to email these logs instead of attaching to the bug, please send them to wsl-gh-logs@microsoft.com with the number of the github issue in the subject, and in the message a link to your comment in the github issue and reply with '/emailed-logs'.

View similar issues

Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it!

Open similar issues:

Note: You can give me feedback by thumbs upping or thumbs downing this comment.

YukonKong commented 2 hours ago

/question

github-actions[bot] commented 2 hours ago
Diagnostic information ``` Found '/question', adding tag 'question' ```