I have a container-based Omniverse Nucleus server set up and working on an Ubuntu 22.04 machine; RTX 4090.
I am trying to install the container-based Isaac Sim on that same server, but when I followed the instructions on Container installation of Isaac Sim, the ‘docker run’ command fails.
Installation reference: Container Installation — Omniverse IsaacSim
Command:
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running prestart hook #0: exit status 1, stdout: , stderr: Auto-detected mode as ‘legacy’
nvidia-container-cli: mount error: stat failed: /dev/nvidia-modeset: no such file or directory: unknown.
Troubleshooting:
nvidia driver is working on the bare-metal machine (Ubuntu 22.04):
running nvidia-smi works and shows all the information about the RTX 4090 GPU.
nvidia driver is visible in basic Ubuntu container.
Running sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
shows the same GPU information.
nvidia driver is visible in CUDA Docker container.
Running sudo docker run --rm --runtime=nvidia -ti nvidia/cuda:12.8.0-cudnn-runtime-ubuntu22.04
spins up a CUDA container, and running nvidia-smi on that container’s command line shows the same GPU
Nucleus Navigator works
I can run the Omniverse container collection with the installation run script docker compose --env-file /opt/ove/base_stack/nucleus-stack.env -f /opt/ove/base_stack/nucleus-stack-no-ssl.yml up -d
and connect to the Omniverse Navigator from an outside workstation at [ip]:8080.
However, Isaac Sim’s container does not start up with the standard Docker run instruction.
I’ve tried both Isaac Sim 4.2.0 and 4.5.0.
Thanks, and always a fair question! :)
In response, I did an apt remove nvidia-container-toolkit to get the current version out, then followed the steps in the Container Installation again related to the nvidia-container-toolkit.
I was able to successfully run the docker + nvidia test of docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
and have it display the GPU information.
Unfortunately, running the docker run code for Isaac Sim 4.5.0 failed again with the same error:
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running prestart hook #0: exit status 1, stdout: , stderr: Auto-detected mode as 'legacy'
nvidia-container-cli: mount error: stat failed: /dev/nvidia-modeset: no such file or directory: unknown.
I noticed in the 4.5.0 docs that the recommended NVIDIA driver version is a bit back:
The recommended driver version for Isaac Sim is 535.129.03 for Linux.
I installed the default current version (Jan 2025), and based on the nvidia-smi output, it’s more recent than 535:
Would it be worth backing up the driver version if 535.XX has been more thoroughly tested with Isaac Sim 4.5.0 than 570.XX? Or is there another route someone would recommend for trouble-shooting the Isaac Sim startup error?
Thanks!
Hi. Yes. 535.129.03 is the recommended driver version that the Isaac Sim 4.5.0 container is tested with.
An alternative is to try the 550.144.03 version which is the latest stable production driver.
The 570 drivers is not recommended because it is currently a beta driver.
Try re-installing the recommended driver using the .run installer with the default options.
Changing the driver version to 550.144.03 didn’t immediately help: Isaac Sim container startup still failed.
The issue turned out to be Secure Boot not allowing the Nvidia drivers to work correctly.
This was surprising because I had followed the process from the forum post below to get the Nvidia driver signed and so allowed under Secure Boot. I was fooled by the successful running of nvidia-smi and the Nucleus server container, thinking that indicated the Nvidia driver was successfully loaded on boot, but that was apparently naive… :)
Secure Boot on Linux post: NVIDIA drivers not working while Secure Boot is enabled after updating to Ubuntu 24.04 - #2 by mohammad.vazirpanah1
With Secure Boot enabled in the BIOS, with driver 550.144.03, the docker run command to start the Isaac Sim container produced the same error as before: nvidia-container-cli: mount error: stat failed: /dev/nvidia-modeset: no such file or directory: unknown.
With Secure Boot disabled in the BIOS, the docker run command for Isaac Sim started up the image correctly, and I was able to ./runheadless and connect to the Isaac Sim image with the Isaac Sim WebRTC Streaming client. Through that I was able to try the first Isaac Sim Quickstart trials. The HUD in Isaac Sim confirmed the GPU was available and being used.