[Critical Bug] RTX 5070 Ti (Mobile) - Missing nvidia_icd.json in WSL2 causes Vulkan initialization failure on Driver 591.86

System Configuration:

  • GPU: NVIDIA GeForce RTX 5070 Ti (Laptop)

  • Driver: Game Ready Driver 591.86 (Clean install performed)

  • OS: Windows 11 + WSL2 (Ubuntu 24.04, Kernel 6.6.87.2)

  • WSL Status: wsl --update is latest.

The Issue: I am unable to run any Vulkan-based applications (Isaac Sim 5.1 / Isaac Lab) in WSL2. While CUDA works perfectly (nvidia-smi detects the GPU, and headless RL training works), graphical rendering fails completely.

Evidence:

  1. vulkaninfo fails to find the NVIDIA GPU and defaults to llvmpipe (CPU).

  2. The Root Cause: The file /usr/lib/wsl/lib/nvidia_icd.json is MISSING in WSL2.

  3. I searched C:\Windows\System32\DriverStore on the host Windows for nvidia_icd.json but it is also missing in the driver package.

  4. Manual workaround using MESA_LOADER_DRIVER_OVERRIDE=dzn results in ZINK: failed to choose pdev.

Logs:

  • vkCreateInstance failed with ERROR_INCOMPATIBLE_DRIVER

  • [Warning] nvidia-smi not found in '/usr/bin/' (Minor path issue)

  • [Error] Failed to create any GPU devices

Conclusion: It seems the Driver 591.86 package for RTX 50 series mobile lacks the necessary Vulkan ICD configuration files for WSL2 passthrough. Please verify and fix in the next release.

I am reporting the exact same behavior, confirming this isn’t isolated to the 50-series mobile chips. I am seeing this on an RTX 3070 Desktop running Windows 11 + WSL2.

Environment:

  • GPU: NVIDIA GeForce RTX 3070 (Desktop)

  • Windows Driver: 581.15

  • OS: Windows 11

  • WSL2 Distro: Ubuntu 24.04.4 LTS

Observations:

  1. vulkaninfo fails to detect the discrete GPU and defaults to llvmpipe.

  2. The file /usr/lib/wsl/lib/nvidia_icd.json is missing within the WSL2 environment.

  3. I have manually searched the host’s C:\Windows\System32\DriverStore\FileRepository\ for the driver payload. The nvidia_icd.json file is missing from the driver package entirely.

Because the file is missing from the DriverStore on the host, the WSL2 auto-mounting mechanism has no source manifest to map into the container. This appears to be a regression/packaging error in the recent 581.xx driver branch that affects the Vulkan ICD delivery.

Is there a plan to re-release these drivers with the missing ICD manifest, or is there an official temporary ICD template we should use for WSL2?

Am really interested to see this issue fixued, and also know which driver version currently avaialble that includes the necessary files for a working vulkan environment inside WSLg v2

Great debugging here. I ran into the exact same wall with my RTX 5070 Ti. I waited for a fix, but since NVIDIA hasn’t addressed this Vulkan ICD missing regression in the recent 581.xx branch, I completely gave up on WSL2 for this workflow.

Instead of fighting the translation layer, I wiped my WSL setup and installed a native Ubuntu 24.04 LTS dual boot. Using the native Linux proprietary drivers, everything (including Isaac Sim) runs flawlessly and at full speed out of the box. If you are doing heavy Vulkan rendering or robotics simulation, going native dual-boot is honestly the only sane workaround right now to bypass this headache.

Unfortunately, there is still no official fix for the newest drivers on WSL2. I was in the same boat and got tired of waiting.

Instead of rolling back to ancient drivers (which might break newer Windows games), I just bit the bullet and installed a native Ubuntu 24.04 dual boot. Honestly, it’s 100% worth it. You get full GPU performance without the WSL overhead, and you don’t have to deal with these random container driver bugs anymore. Highly recommend making the switch!