Nvidia Isaac Sim in Incus with ROS2 Humble

No more Distro Hopping for ROS 2 Humble...and no loss with Performance

Nvidia Isaac Sim in Incus with ROS2 Humble
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)

This Tutorial Will be divided into 2 parts, the Host Machine and the Container.

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/22.04 ros-humble-rtx

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

Add GUI Profile

incus profile add ros-humble-rtx gui

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

GPU Device Setup

incus config device add ros-humble-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-humble-rtx gpu gpu gputype=physical
incus config set ros-humble-rtx nvidia.runtime=true
incus config set ros-humble-rtx nvidia.driver.capabilities=all 
incus config set ros-humble-rtx nvidia.require.cuda true

Restart Container

incus restart ros-humble-rtx

Enter the Container

incus ubuntu ros-humble-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 2 Humble

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