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.
- Dominant language
- C++
- Stars
- 33.7k
- Forks
- 1.8k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 116
Description
### Windows Version
Microsoft Windows [Version10.0.22631.4460]
### WSL Version
2.3.26.0
### Are you using WSL 1 or WSL 2?
- [x] WSL 2
- [ ] WSL 1
### 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_
Contributor guide
Research direction
The report provides no repository files or tests to edit. Start by reproducing the issue with nvidia-smi, nvcc -V, vulkaninfo, and ls /usr/share/vulkan/icd.d/; done means determining why the NVIDIA ICD is absent and confirming that vulkaninfo lists the NVIDIA GPU rather than only llvmpipe.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, ubuntu
- Domain
- computer-graphics, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100