Isaac Sim 2022.2.1 Docker Container Vulkan Issues

Issue while trying to run Isaac Sim in a docker container.
I am able to run the same Isaac Sim in my host machine.
The container is nvcr.io/nvidia/isaac-sim:2022.2.1 (also tested with the latest 2023 Isaac container).

root@pop-os:/isaac-sim# runapp

The NVIDIA Omniverse License Agreement (EULA) must be accepted before
Omniverse Kit can start. The license terms for this product can be viewed at
https://docs.omniverse.nvidia.com/app_isaacsim/common/NVIDIA_Omniverse_License_Agreement.html

[Info] [carb] Logging to file: /root/.nvidia-omniverse/logs/Kit/Isaac-Sim/2022.2/kit_20231130_033920.log
2023-11-30 03:39:20 [73ms] [Warning] [omni.ext.plugin] [ext: omni.sensors.nv.lidar] Extensions config 'extension.toml' doesn't exist '/isaac-sim/exts/omni.sensors.nv.lidar' or '/isaac-sim/exts/omni.sensors.nv.lidar/config'
2023-11-30 03:39:20 [73ms] [Warning] [omni.ext.plugin] [ext: omni.sensors.nv.radar] Extensions config 'extension.toml' doesn't exist '/isaac-sim/exts/omni.sensors.nv.radar' or '/isaac-sim/exts/omni.sensors.nv.radar/config'
[0.345s] [ext: omni.stats-0.0.0] startup
[0.429s] [ext: omni.rtx.shadercache-1.0.0] startup
[0.492s] [ext: omni.assets.plugins-0.0.0] startup
[0.493s] [ext: omni.gpu_foundation-0.0.0] startup
[0.498s] [ext: carb.windowing.plugins-1.0.0] startup
2023-11-30 03:39:21 [953ms] [Warning] [carb.windowing-glfw.gamepad] Joystick with unknown remapping detected (will be ignored):  PIXART HP 230 Wireless Keyboard Consumer Control [03000000f00300004363000011010000]
2023-11-30 03:39:21 [953ms] [Warning] [carb.windowing-glfw.gamepad] Joystick with unknown remapping detected (will be ignored):  ASUF1205:00 2808:0106 Touchpad [18000000082800000601000000010000]
2023-11-30 03:39:21 [953ms] [Warning] [carb.windowing-glfw.gamepad] Joystick with unknown remapping detected (will be ignored):  Asus Keyboard [03000000050b0000b619000010010000]
[0.965s] [ext: omni.kit.renderer.init-0.0.0] startup
2023-11-30 03:39:21 [970ms] [Error] [carb.graphics-vulkan.plugin] VkResult: ERROR_EXTENSION_NOT_PRESENT
2023-11-30 03:39:21 [970ms] [Error] [carb.graphics-vulkan.plugin] vkCreateInstance failed. Vulkan 1.1 is not supported, or your driver requires an update.
2023-11-30 03:39:21 [970ms] [Error] [gpu.foundation.plugin] carb::graphics::createInstance failed.
2023-11-30 03:39:21 [981ms] [Error] [carb.graphics-vulkan.plugin] VkResult: ERROR_EXTENSION_NOT_PRESENT
2023-11-30 03:39:21 [981ms] [Error] [carb.graphics-vulkan.plugin] vkCreateInstance failed. Vulkan 1.1 is not supported, or your driver requires an update.
2023-11-30 03:39:21 [981ms] [Error] [gpu.foundation.plugin] carb::graphics::createInstance failed.
2023-11-30 03:39:21 [981ms] [Error] [omni.gpu_foundation_factory.plugin] Failed to create GPU foundation devices for compatibilityMode!

And many errors follow after this.
I am able to run nvidia-smi inside the docker container with the following output.

root@pop-os:/isaac-sim# nvidia-smi
Thu Nov 30 03:43:44 2023       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 545.29.06              Driver Version: 545.29.06    CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| 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 4080 ...    Off | 00000000:01:00.0  On |                  N/A |
| N/A   44C    P5              13W / 150W |   2389MiB / 12282MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
+---------------------------------------------------------------------------------------+

I have also check the Vulkan’s cdi.d folder and respective json files.
Docker cli (I already ran with the provided cli, with and without volumes, same issue):

sudo docker run -it --rm --gpus all \
    --env DISPLAY=$DISPLAY \
    -e "ACCEPT_EULA=Y" \
    -e "PRIVACY_CONSENT=Y" \
    --device=/dev/dri:/dev/dri \
    --device /dev/snd:/dev/snd \
    --volume "/tmp/.X11-unix/:/tmp/.X11-unix:rw" \
    --entrypoint bash \
    --name isaac-sim \
    --network=host \
    --ipc host \
    --cap-add=ALL \
    --privileged \
    nvcr.io/nvidia/isaac-sim:2022.2.1

Running on:

OS Name: Pop!_OS 22.04 LTS
GNOME Version: 42.9
Windowing System: X11

@matters you could look into the proposed solution presented by the mods from users with similar issue?

@Simplychenable Yes, I did. Actually, this problem happened with different driver versions. At some point I just gave up of using Docker and used my host machine. But now I need the Docker and I cannot test the environment in my machine because of this issue.

I found a solution for this issue. It lies on Pop!_OS’ side. Just need to follow the steps here.

In summary, what I did:

distribution="ubuntu22.04" \
   && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

Changed the apt preferences for Pop!_OS by changing the file /etc/apt/preferences.d/system76-apt-preferences and added in the file:

Package: *
Pin: origin nvidia.github.io
Pin-Priority: 1002

Giving higher priority to nvidia for apt, and then

sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker

And finally using the provided docker with docker run.

When using this method, I got DEPRECATION warnings after apt-get update because of deprecated link, but I did not look into it further.

W: https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: https://nvidia.github.io/nvidia-container-runtime/stable/ubuntu18.04/amd64/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: https://nvidia.github.io/nvidia-docker/ubuntu18.04/amd64/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
1 Like

Hi @matters - Also, when you get a chance, please switch to the latest Isaac Sim 2023.1.0 docker.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.