Nvidia Isaac Sim in Incus with ROS 1 Noetic

No more Distro Hopping for ROS 1 Noetic ...and no loss with Performance

Nvidia Isaac Sim in Incus with ROS 1 Noetic
This tutorial will not work with Nvidia GTX series cards, AMD Radeon cards, Integrated GPU's and don't try this on a Mac (even if you are stupid)

Testing Environment:

  • CPU: Ryzen 5 5600x
  • GPU: RTX 3060 Asus Phoenix V2
  • RAM: 32 GB DDR4 3600Mhz
  • SSD: 2TB NVMe Gen4
  • OS: Pop_OS! 22.04 LTS

Prerequisites:

Nvidia Drivers:

Make sure the nvidia drivers are installed, I'm using Pop_OS! and the most recent version at the time of writing is 570. Check if the Nvidia Drivers are available using the following in the terminal

nvidia-smi

Output:

Wed May 21 20:40:52 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.133.07             Driver Version: 570.133.07     CUDA Version: 12.8     |
|-----------------------------------------+------------------------+----------------------+
| 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 3060        Off |   00000000:07:00.0 Off |                  N/A |
| 30%   29C    P8              9W /  170W |      90MiB /  12288MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A            1125      G   /usr/lib/xorg/Xorg                       56MiB |
|    0   N/A  N/A            1511      G   /usr/bin/gnome-shell                      6MiB |
+-----------------------------------------------------------------------------------------+

Host

Create a New Container using Ubuntu 22.04

incus launch images:ubuntu/20.04 ros-noetic-rtx

If incus is not already installed and configured then use the following:

Add GUI Profile

incus profile add ros-noetic-rtx gui

If the gui profile has not been created before, then follow the tutorial below:

GPU Device Setup

incus config device add ros-noetic-rtx nvidia-icd disk source=/usr/share/vulkan/icd.d/nvidia_icd.json path=/usr/share/vulkan/icd.d/nvidia_icd.json
incus config device add ros-noetic-rtx gpu gpu gputype=physical
incus config set ros-noetic-rtx nvidia.runtime=true
incus config set ros-noetic-rtx nvidia.driver.capabilities=all 
incus config set ros-noetic-rtx nvidia.require.cuda true

Restart Container

incus restart ros-noetic-rtx

Enter the Container

incus ubuntu ros-noetic-rtx

Container

Install Prerequisites

sudo apt install nano git curl zip axel vulkan-tools libvulkan1 mesa-utils software-properties-common x11-apps zenity -y

Install Conda

Install ROS 1 Noetic

Set Environment Variables

echo "export MESA_VK_DEVICE_SELECT=list vulkaninfo" >> ~/.bashrc

Install Isaac Sim

Validation

mamba activate env_isaaclab
source /opt/ros/humble/setup.bash
isaacsim isaacsim.exp.full.kit