Installation#
Install Isaac Lab with uv. Use the source checkout for development, or install the published wheel with uv in your own project. Containers use the same uv dependency lock.
System requirements#
Full Isaac Sim workflows require Python 3.12 on Ubuntu 22.04+ or Windows 11. Use a recent NVIDIA production driver and a workstation with at least 32 GB RAM and 16 GB GPU VRAM. Rendering can require additional VRAM. Confirm your machine against the Isaac Sim system requirements and Omniverse technical requirements.
Isaac Sim 5.1 and older are not supported. Use Isaac Sim 6.1 with Python 3.12. The Isaac Sim wheels require GLIBC 2.35 or newer on Linux.
The CUDA 13.0 PyTorch build requires NVIDIA driver 580.65.06 or newer on Linux and
580.88 or newer on Windows, as documented in the PyTorch CUDA 13.0 requirements. CUDA 13.0 wheels support Blackwell GPUs.
Use the latest NVIDIA production branch driver. Version 580.95.05 or later is recommended on
Linux x86_64 and aarch64, 580.142 on DGX Spark, and 581.42.00 on Windows. If a new GPU or
driver issue requires a newer release, use the production driver from the Unix Driver Archive. On Linux, the Isaac Sim Compatibility Checker
and Linux troubleshooting guide can identify
unsupported host configurations.
Linux aarch64 and DGX Spark requirements
DGX Spark requires CUDA 13 or newer and the corresponding PyTorch build. Install the build prerequisites before installing Isaac Lab:
sudo apt install python3.12-dev libgl1-mesa-dev libx11-dev libxcursor-dev \
libxi-dev libxinerama-dev libxrandr-dev
SkillGen, XR teleoperation, livestream, Hub Workstation Cache, Cosmos Transfer1, and RLinf are not currently supported or validated on DGX Spark. SkillGen depends on native CUDA/C++ extensions whose toolchain has not been validated on DGX Spark, while XR remains limited by unvalidated encoding performance.
Automatic setup with uv (recommended)#
Use this path for the fastest setup from an Isaac Lab checkout. uv resolves the
project environment on each invocation, so you do not need to create or activate an environment manually.
Install uv, clone Isaac Lab, and start a workflow:
curl -LsSf https://astral.sh/uv/install.sh | sh
git clone git@github.com:isaac-sim/IsaacLab.git --branch develop
cd IsaacLab
git clone https://github.com/isaac-sim/IsaacLab.git --branch develop
cd IsaacLab
# Newton backend without Isaac Sim
uv run isaaclab train --rl_library rsl_rl \
--task Isaac-Cartpole-Direct physics=newton_mjwarp
# OV PhysX backend
uv run --extra ovphysx isaaclab train --rl_library rsl_rl \
--task Isaac-Cartpole-Direct physics=ovphysx
# Full Isaac Sim support
uv run --extra isaacsim isaaclab train --rl_library rsl_rl \
--task Isaac-Cartpole-Direct physics=isaacsim_physx
# Play a policy
uv run isaaclab play --rl_library rsl_rl --task Isaac-Cartpole-Direct --viz newton
curl -LsSf https://astral.sh/uv/install.sh | sh
git clone git@github.com:isaac-sim/IsaacLab.git --branch develop
cd IsaacLab
git clone https://github.com/isaac-sim/IsaacLab.git --branch develop
cd IsaacLab
# Newton backend
uv run isaaclab train --rl_library rsl_rl \
--task Isaac-Cartpole-Direct physics=newton_mjwarp
# OV PhysX backend
uv run --extra ovphysx isaaclab train --rl_library rsl_rl \
--task Isaac-Cartpole-Direct physics=ovphysx
# Full Isaac Sim support
uv run --extra isaacsim isaaclab train --rl_library rsl_rl \
--task Isaac-Cartpole-Direct physics=isaacsim_physx
# Play a policy
uv run isaaclab play --rl_library rsl_rl --task Isaac-Cartpole-Direct --viz newton
Note
For direct Python commands that import Isaac Sim on aarch64, prefix the
command with LD_PRELOAD=/lib/aarch64-linux-gnu/libgomp.so.1.
Enable Windows long-path support before cloning. In an elevated PowerShell window, run:
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name LongPathsEnabled -Value 1 -PropertyType DWORD -Force
Then open a new Command Prompt window and run:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
git clone git@github.com:isaac-sim/IsaacLab.git --branch develop
cd IsaacLab
git clone https://github.com/isaac-sim/IsaacLab.git --branch develop
cd IsaacLab
:: Newton backend without Isaac Sim
uv run isaaclab train --rl_library rsl_rl ^
--task Isaac-Cartpole-Direct physics=newton_mjwarp
:: OV PhysX backend
uv run --extra ovphysx isaaclab train --rl_library rsl_rl ^
--task Isaac-Cartpole-Direct physics=ovphysx
:: Full Isaac Sim support
uv run --extra isaacsim isaaclab train --rl_library rsl_rl ^
--task Isaac-Cartpole-Direct physics=isaacsim_physx
:: Play a policy
uv run isaaclab play --rl_library rsl_rl --task Isaac-Cartpole-Direct --viz newton
uv run installs the core dependencies automatically. The --extra <name>
option includes the selected optional integration in the command’s environment. Place it
before isaaclab; for example, --extra ov installs both ovphysx and ovrtx
backends. Pass a comma-separated list or repeat --extra. No extras conflict, so
any combination resolves into one environment. The --extra all shortcut installs the
curated ov, rl-games, sb3, skrl, rsl-rl, rerun, and viser extras.
It does not include Isaac Sim or the specialized rlinf, mimic, teleop,
tetrahedralization, video, and leapp extras; request them by name:
uv run --extra all isaaclab train --rl_library rsl_rl \
--task Isaac-Cartpole-Direct physics=ovphysx
See Optional extras for the available extras.
uv run --extra <name> <command> syncs the selected extra into the project environment
and then runs the command.
The source checkout selects PyTorch’s CUDA 13.0 build on Linux x86_64, Linux aarch64, and Windows.
No additional command flags are needed.
The published wheel pins the PyTorch versions, but downstream uv projects must configure their own
PyTorch indexes because uv does not inherit a dependency project’s tool.uv.sources settings.
Head over to the Quickstart, which starts with your first task and introduces the available commands, RL libraries, backends, and visualizers.
Manage a uv environment explicitly#
To prepare the checkout without launching a workflow, run:
uv sync --extra isaacsim
uv run --extra isaacsim python scripts/tutorials/00_sim/create_empty.py --viz kit
Omit --extra isaacsim for the default Newton environment. uv downloads the required
Python version and manages .venv. To choose another directory, set
UV_PROJECT_ENVIRONMENT before both uv sync and uv run. Keep the same extras
on subsequent commands so uv preserves the integrations you selected.
You can activate this environment for tools that expect python on PATH:
source .venv/bin/activate
On Windows Command Prompt, use .venv\Scripts\activate.
Isaac Lab Python package#
Use this path when Isaac Lab is a dependency of an external Python project. The released
isaaclab package includes the unified train, play, zero_agent, random_agent,
benchmark, train_multigpu, demo, and example commands.
Downstream projects can register their task package through the isaaclab.tasks Python package
entry-point group; projects created by the template generator configure this automatically.
To create a project built on Isaac Lab, see Build your own project or task.
Note
Isaac Lab wheels are published for major releases, not every patch release.
Installing an unreleased Git revision#
The aggregate package can also be built directly from an Isaac Lab Git revision. Point uv at the
tools/wheel_builder subdirectory so it uses the same dependency metadata and packaged runtime
resources as a released wheel:
[project]
dependencies = ["isaaclab"]
[tool.uv.sources]
isaaclab = { git = "https://github.com/isaac-sim/IsaacLab.git", rev = "<git-revision>", subdirectory = "tools/wheel_builder" }
Use a commit hash or release tag for reproducible environments. A branch name is accepted, but updating the lockfile can then select a newer Isaac Lab revision and dependency set.
Installing the published wheel#
Use NVIDIA’s package index for the 3.0.0rc1 prerelease. Do not use the
[tool.uv.sources] Git entry from the previous workflow when installing the published wheel.
Choose how you want uv to manage the dependency. Both workflows start with the base
isaaclab package; add optional capabilities only when your project needs them.
uv init --python 3.12 my_isaaclab_project
cd my_isaaclab_project
uv add --index https://pypi.nvidia.com isaaclab==3.0.0rc1
uv venv --python 3.12 env_isaaclab
source env_isaaclab/bin/activate
uv pip install --index https://pypi.nvidia.com isaaclab==3.0.0rc1
uv venv --python 3.12 env_isaaclab
env_isaaclab\Scripts\activate
uv pip install --index https://pypi.nvidia.com isaaclab==3.0.0rc1
uv venv --python 3.12 env_isaaclab
source env_isaaclab/bin/activate
uv pip install --index https://pypi.nvidia.com isaaclab==3.0.0rc1
The project workflow records the dependency in pyproject.toml and updates uv.lock. Use it
when Isaac Lab is part of an application you maintain; use a standalone environment for exploratory
or temporary work.
Optional extras#
Add extras only when your project needs them. Most extras work with
uv pip install "isaaclab[<extra>]" in a standalone environment or
uv add "isaaclab[<extra>]" in a uv project. The importers and isaacsim extras
have dedicated commands below.
Extra |
What it installs |
|---|---|
|
Isaac Sim ( |
|
Both OV backends: OV PhysX and OV RTX. |
|
OV PhysX only / OV RTX only. |
|
The corresponding RL framework. |
|
The corresponding visualizer. |
|
Isaac Lab Mimic / XR teleoperation. The wheel’s |
|
Mesh tetrahedralization / video recording. |
|
LEAP model export support. |
|
Standalone URDF and MJCF conversion without Isaac Sim. |
|
The curated |
|
Developer test and documentation tooling. |
Use all for the curated list above. Isaac Sim, standalone importers, specialized extras
(rlinf, mimic, teleop, tetrahedralization, video, leapp), and the
developer test tooling remain opt-in.
Note
RL-Games and Robomimic are not included in the published wheel metadata because the versions
used by Isaac Lab are installed from Git and do not provide package-index wheels. To use either
integration, install Isaac Lab from a source checkout and select the rl-games or mimic
extra there.
Note
On Linux, the mimic extra may build its egl-probe dependency from source. Install
CMake and a C++ compiler first with sudo apt install cmake build-essential.
Installing the importers extra#
Install this extra to convert URDF and MJCF files without Isaac Sim.
Warning
Use the full command below. Without the overrides, the importer extra can downgrade packages used by the base Isaac Lab install. The overrides keep Isaac Lab’s tested versions.
uv pip install "isaaclab[importers]==3.0.0rc1" \
--overrides "https://raw.githubusercontent.com/isaac-sim/IsaacLab/v3.0.0-EA/tools/wheel_builder/uv-overrides.txt" \
--index https://pypi.nvidia.com \
--index-strategy unsafe-best-match
Installing the isaacsim extra#
Isaac Sim 6.1 pins dependencies that conflict with Isaac Lab. Install the isaacsim extra with
the tested overrides:
uv pip install "isaaclab[isaacsim]==3.0.0rc1" \
--overrides "https://raw.githubusercontent.com/isaac-sim/IsaacLab/v3.0.0-EA/tools/wheel_builder/uv-overrides.txt" \
--extra-index-url https://pypi.nvidia.com \
--index-strategy unsafe-best-match
Add other extras inside the brackets when needed; for example, use
isaaclab[isaacsim,all] to include the curated all list.
Installing CUDA-enabled PyTorch#
Install the CUDA 13.0 PyTorch build using the commands for your platform:
uv pip install -U torch==2.11.0 torchvision==0.26.0 --index-url https://download.pytorch.org/whl/cu130
uv pip install -U torch==2.11.0 torchvision==0.26.0 --index-url https://download.pytorch.org/whl/cu130
Note
Install the required Python, OpenGL, and X11 development packages before installing Isaac Lab:
sudo apt install python3.12-dev libgl1-mesa-dev libx11-dev libxcursor-dev libxi-dev \
libxinerama-dev libxrandr-dev
uv pip install -U torch==2.11.0 torchvision==0.26.0 --index-url https://download.pytorch.org/whl/cu130
Note
If Isaac Sim reports OpenMP preload warnings, use the system GNU OpenMP library:
unset LD_PRELOAD
export LD_PRELOAD=/lib/aarch64-linux-gnu/libgomp.so.1
Note
If importing omni.client or torch fails because libcarb.so cannot allocate a
static TLS block, preload libcarb.so before launching Python:
export LD_PRELOAD=$(python -c "import sys,os;[print(os.path.join(p,'omni','client','libcarb.so')) for p in sys.path if os.path.isfile(os.path.join(p,'omni','client','libcarb.so'))]" 2>/dev/null | head -1)${LD_PRELOAD:+:$LD_PRELOAD}
If you installed the isaacsim extra, verify it before running your project:
isaacsim
The first launch downloads Isaac Sim extensions and can take more than ten minutes. It also asks
you to accept the NVIDIA Omniverse EULA; set OMNI_KIT_ACCEPT_EULA=yes for a non-interactive
environment. Run a project script with python my_script.py.
Generate VS Code or Cursor settings for the current workspace with:
uv run isaaclab --editor
Warning
This command generates .vscode/settings.json and pyrightconfig.json in the workspace.
The Pyright configuration inherits an existing [tool.pyright] table and adds paths discovered
from the active Python environment.
Build Isaac Sim from source#
Build Isaac Sim from source only when you need to modify it or test a nightly revision. Building requires Ubuntu 22.04 or newer on Linux. For driver requirements, see the technical requirements. On Windows, enable long-path support before building.
Clone Isaac Sim next to the Isaac Lab checkout. From the Isaac Lab root, run the source-build
command. It incrementally builds Isaac Sim and links the live release tree as _isaac_sim:
git clone https://github.com/isaac-sim/IsaacSim.git ../IsaacSim
uv run isaaclab --isaacsim_source ../IsaacSim
Isaac Lab runs the active uv environment through Isaac Sim’s generated Python launcher.
This loads Kit and extensions directly from the source build without creating wheels or
changing pyproject.toml and uv.lock. Run Isaac Lab against the source build with:
uv run isaaclab train --rl_library rsl_rl --task Isaac-Cartpole-Direct physics=isaacsim_physx
After changing Isaac Sim source, run the same --isaacsim_source command again. The native
build is incremental, and the link continues to expose the updated build immediately; no
wheel packaging or dependency resolution step is required.
Docker and HPC clusters#
Install Docker Engine, Docker Compose, and the NVIDIA Container Toolkit.
Place the Isaac Lab checkout under /home when Docker was installed with Snap.
Clone Isaac Lab, then build, start, and enter the development container:
git clone git@github.com:isaac-sim/IsaacLab.git --branch develop
cd IsaacLab
git clone https://github.com/isaac-sim/IsaacLab.git --branch develop
cd IsaacLab
./docker/container.py start
./docker/container.py enter base
The container uses a uv environment built on Isaac Sim’s interpreter and mounts the repository’s source and docs
directories for live editing. Use ./docker/container.py stop to stop it and
./docker/container.py copy to retrieve logs, data, and documentation artifacts.
For HPC, build the image on a machine with Docker, convert it to an Apptainer/Singularity image, and submit it with the cluster’s SLURM or PBS workflow. Keep cluster-specific paths and scheduler settings outside the base image.
See Running Isaac Lab in Docker for volume management, X11, image extensions, pre-built containers, worked examples, and complete cluster instructions.
Cloud workstations#
Isaac Automator provisions GPU workstations on AWS, GCP, Azure, and Alibaba Cloud. Install Docker, then clone and build Isaac Automator:
git clone https://github.com/isaac-sim/IsaacAutomator.git
cd IsaacAutomator
./build
./run ./deploy-aws
Replace deploy-aws with deploy-gcp, deploy-azure, or deploy-alicloud. Use
--isaaclab and --isaacsim to select Git revisions. Connection details for SSH, noVNC, and
NoMachine are stored in state/<deployment-name>/info.txt.
Manage the workstation from the Automator container:
./stop <deployment-name>
./start <deployment-name>
./upload <deployment-name>
./download <deployment-name>
./destroy <deployment-name>
Preserve the state directory because it contains the deployment metadata.
See Cloud Deployment for credentials, provider options, connection methods, data transfer, and the complete workstation lifecycle.
Next steps#
Continue with the quickstart to run a task and train a policy. For asset caching, Nucleus migration, and regional asset services, see Manage Asset Downloads. For setup, launch, and performance problems, use the troubleshooting reference.