Gvisor doesn't inject the icd file for nvidia, as is done by nvidia container toolkit
- Dominant language
- Go
- Stars
- 19.3k
- Forks
- 2k
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 264
Description
### Description
Currently, gVisor does not inject `nvidia_icd.json` even when `nvproxy-allowed-driver-capabilities = "all"` is set.
When running with the nvidia container toolkit, this file injection is handled automatically, which allows vulkan to correctly detect the graphics card, instead of falling back to the CPU pipeline.
### Steps to reproduce
Run a workload with gVisor, such as `ubuntu:latest`.
Install `vulkan-tools`, and run `vulkaninfo --summary 2>/dev/null | grep -E "deviceName|deviceType|driverName"`, see that it outputs:
```
deviceType = PHYSICAL_DEVICE_TYPE_CPU
deviceName = llvmpipe (LLVM 15.0.7, 256 bits)
driverName = llvmpipe
```
Try `find / -name "nvidia_icd.json"` which returns no results.
### runsc version
```shell
release-20260309.0
```
### docker version (if using docker)
```shell
```
### uname
_No response_
### kubectl (if using Kubernetes)
```shell
```
### repo state (if built from source)
_No response_
### runsc debug logs (if available)
```shell
```
Contributor guide
Assessment
This issue has not been assessed yet.