I want to run isaac sim inside a docker, but I can’t use the official docker, as I need it to run alognside other software that runs on ubuntu 20.04.
The problem I am facing is that while I can run the official docker fine with:
docker run --name isaac-sim --entrypoint bash -it --runtime=nvidia --gpus all -e "ACCEPT_EULA=Y" --rm --network=host \
-e "PRIVACY_CONSENT=Y" \
-v ~/docker/isaac-sim/cache/kit:/isaac-sim/kit/cache:rw \
-v ~/docker/isaac-sim/cache/ov:/root/.cache/ov:rw \
-v ~/docker/isaac-sim/cache/pip:/root/.cache/pip:rw \
-v ~/docker/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw \
-v ~/docker/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw \
-v ~/docker/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw \
-v ~/docker/isaac-sim/data:/root/.local/share/ov/data:rw \
-v ~/docker/isaac-sim/documents:/root/Documents:rw \
nvcr.io/nvidia/isaac-sim:4.5.0
But If I replace the image with ubuntu:20.04
sudo docker run -it --entrypoint bash -it --runtime=nvidia --gpus all -e "ACCEPT_EULA=Y" --rm --network=host -e "PRIVACY_CONSENT=Y" -v ~/docker/isaac-sim/cache/kit:/isaac-sim/kit/cache:rw -v ~/docker/isaac-sim/cache/ov:/root/.cache/ov:rw -v ~/docker/isaac-sim/cache/pip:/root/.cache/pip:rw -v ~/docker/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw -v ~/docker/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw -v ~/docker/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw -v ~/docker/isaac-sim/data:/root/.local/share/ov/data:rw -v ~/docker/isaac-sim/documents:/root/Documents:rw ubuntu:20.04
Then install dependencies, isaac sim and run it:
apt update && apt install libgl-dev:amd64 libglu1-mesa libxt6 libgomp1 libxrandr2
# install isaac sim
Then I run in the same way as the runheadless.sh
/isaac-sim/license.sh && /isaac-sim/privacy.sh && /isaac-sim/isaac-sim.streaming.sh \
--/persistent/isaac/asset_root/default="$OMNI_SERVER" \
--merge-config="/isaac-sim/config/open_endpoint.toml" --allow-root "$@"
I get these errors:
[0.107s] [ext: omni.kit.async_engine-0.0.1] startup
[0.605s] [ext: omni.metrics.core-0.0.1] startup
[0.605s] [ext: omni.client.lib-1.0.0] startup
[0.613s] [ext: omni.blobkey-1.1.2] startup
[0.613s] [ext: omni.stats-1.0.1] startup
[0.614s] [ext: omni.datastore-0.0.0] startup
[0.618s] [ext: omni.client-1.2.2] startup
[0.622s] [ext: omni.ujitso.default-1.0.0] startup
[0.624s] [ext: omni.hsscclient-1.1.1] startup
2025-03-25 13:31:40 [605ms] [Warning] [omni.datastore] OmniHub is inaccessible
[0.626s] [ext: omni.gpu_foundation.shadercache.vulkan-1.0.0] startup
[0.629s] [ext: omni.assets.plugins-0.0.0] startup
[0.630s] [ext: omni.gpu_foundation-0.0.0] startup
[0.636s] [ext: carb.windowing.plugins-1.0.0] startup
2025-03-25 13:31:40 [618ms] [Warning] [carb.windowing-glfw.plugin] GLFW initialization failed.
2025-03-25 13:31:40 [618ms] [Warning] [carb] Failed to startup plugin carb.windowing-glfw.plugin (interfaces: [carb::windowing::IGLContext v1.0],[carb::windowing::IWindowing v1.5]) (impl: carb.windowing-glfw.plugin)
[0.637s] [ext: omni.kit.renderer.init-0.0.0] startup
2025-03-25 13:31:40 [631ms] [Warning] [omni.platforminfo.plugin] failed to open the default display. Can't verify X Server version.
|---------------------------------------------------------------------------------------------|
| Driver Version: 0 | Graphics API: Vulkan
|=============================================================================================|
| GPU | Name | Active | LDA | GPU Memory | Vendor-ID | LUID |
| | | | | | Device-ID | UUID |
| | | | | | Bus-ID | |
|=============================================================================================|
| OS: 20.04.6 LTS (Focal Fossa) ubuntu, Version: 20.04.6, Kernel: 6.11.0-17-generic
| Processor: AMD Ryzen 9 7950X 16-Core Processor
| Cores: 16 | Logical Cores: 32
|---------------------------------------------------------------------------------------------|
| Total Memory (MB): 31210 | Free Memory: 27439
| Total Page/Swap (MB): 4095 | Free Page/Swap: 0
|---------------------------------------------------------------------------------------------|
2025-03-25 13:31:41 [1,025ms] [Error] [gpu.foundation.plugin] No device could be created. Some known system issues:
- The driver is not installed properly and requires a clean re-install.
- Your GPUs do not support RayTracing: DXR or Vulkan ray_tracing, or hardware is excluded due to performance.
- The driver cannot enumerate any GPU: driver, display, TCC mode or a docker issue. For Vulkan, test it with Vulkaninfo tool from Vulkan SDK, instead of nvidia-smi.
- For Ubuntu, it requires server-xorg-core 1.20.7+ and a display to work without --no-window.
- For Linux dockers, the setup is not complete. Install the latest driver, xServer and NVIDIA container runtime.
|---------------------------------------------------------------------------------------------|
| Driver Version: 0 | Graphics API: Vulkan
|=============================================================================================|
| GPU | Name | Active | LDA | GPU Memory | Vendor-ID | LUID |
| | | | | | Device-ID | UUID |
| | | | | | Bus-ID | |
|=============================================================================================|
| OS: 20.04.6 LTS (Focal Fossa) ubuntu, Version: 20.04.6, Kernel: 6.11.0-17-generic
| Processor: AMD Ryzen 9 7950X 16-Core Processor
| Cores: 16 | Logical Cores: 32
|---------------------------------------------------------------------------------------------|
| Total Memory (MB): 31210 | Free Memory: 27360
| Total Page/Swap (MB): 4095 | Free Page/Swap: 0
|---------------------------------------------------------------------------------------------|
2025-03-25 13:31:41 [1,472ms] [Error] [gpu.foundation.plugin] No device could be created. Some known system issues:
- The driver is not installed properly and requires a clean re-install.
- Your GPUs do not support RayTracing: DXR or Vulkan ray_tracing, or hardware is excluded due to performance.
- The driver cannot enumerate any GPU: driver, display, TCC mode or a docker issue. For Vulkan, test it with Vulkaninfo tool from Vulkan SDK, instead of nvidia-smi.
- For Ubuntu, it requires server-xorg-core 1.20.7+ and a display to work without --no-window.
- For Linux dockers, the setup is not complete. Install the latest driver, xServer and NVIDIA container runtime.
2025-03-25 13:31:41 [1,473ms] [Error] [omni.gpu_foundation_factory.plugin] Failed to create any GPU devices, including an attempt with compatibility mode.
Whereas from the provided isaac-sim docker:
[1.438s] [ext: omni.metrics.core-0.0.1] startup
[1.439s] [ext: omni.client.lib-1.0.0] startup
[1.473s] [ext: omni.blobkey-1.1.2] startup
[1.474s] [ext: omni.stats-1.0.1] startup
[1.475s] [ext: omni.datastore-0.0.0] startup
[1.487s] [ext: omni.client-1.2.2] startup
[1.497s] [ext: omni.ujitso.default-1.0.0] startup
[1.500s] [ext: omni.hsscclient-1.1.1] startup
2025-03-25 12:56:27 [1,471ms] [Warning] [omni.datastore] OmniHub is inaccessible
[1.504s] [ext: omni.gpu_foundation.shadercache.vulkan-1.0.0] startup
[1.509s] [ext: omni.assets.plugins-0.0.0] startup
[1.512s] [ext: omni.gpu_foundation-0.0.0] startup
[1.537s] [ext: carb.windowing.plugins-1.0.0] startup
2025-03-25 12:56:27 [1,508ms] [Warning] [carb.windowing-glfw.plugin] GLFW initialization failed.
2025-03-25 12:56:27 [1,508ms] [Warning] [carb] Failed to startup plugin carb.windowing-glfw.plugin (interfaces: [carb::windowing::IGLContext v1.0],[carb::windowing::IWindowing v1.5]) (impl: carb.windowing-glfw.plugin)
[1.539s] [ext: omni.kit.renderer.init-0.0.0] startup
2025-03-25 12:56:27 [1,524ms] [Warning] [omni.platforminfo.plugin] failed to open the default display. Can't verify X Server version.
|---------------------------------------------------------------------------------------------|
| Driver Version: 535.183.01 | Graphics API: Vulkan
|=============================================================================================|
| GPU | Name | Active | LDA | GPU Memory | Vendor-ID | LUID |
| | | | | | Device-ID | UUID |
| | | | | | Bus-ID | |
|---------------------------------------------------------------------------------------------|
| 0 | NVIDIA GeForce RTX 3090 | Yes: 0 | | 24576 MB | 10de | 0 |
| | | | | | 2204 | 4a771d0e.. |
| | | | | | 4 | |
|=============================================================================================|
| OS: 22.04.5 LTS (Jammy Jellyfish) ubuntu, Version: 22.04.5, Kernel: 6.11.0-17-generic
| Processor: AMD Ryzen 9 7950X 16-Core Processor
| Cores: 16 | Logical Cores: 32
|---------------------------------------------------------------------------------------------|
| Total Memory (MB): 31210 | Free Memory: 27235
| Total Page/Swap (MB): 4095 | Free Page/Swap: 0
|---------------------------------------------------------------------------------------------|
2025-03-25 12:56:28 [1,906ms] [Warning] [gpu.foundation.plugin] IOMMU is enabled.
Why is isaac-sim not finding my RTX 3090 on my ubuntu 20.04 docker?
In the same docker nvidia-smi
returns:
Tue Mar 25 13:35:03 2025
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.01 Driver Version: 535.183.01 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| 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 3090 Off | 00000000:04:00.0 Off | N/A |
| 31% 34C P8 26W / 350W | 10MiB / 24576MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
+---------------------------------------------------------------------------------------+