---
title: "Set Up Isaac Sim and Isaac Lab — Instructions"
canonical: "https://build.nvidia.com/playbooks/isaac/instructions.md"
---

# Step 1. Install gcc-11 and git-lfs

Confirm that GCC/G++ 11 is the default compiler before building:

```bash
sudo apt update && sudo apt install -y gcc-11 g++-11
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 200
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 200
sudo apt install git-lfs
gcc --version
g++ --version
```

Expected output should show GCC/G++ version 11.x.

# Step 2. Clone the Isaac Sim repository

Clone Isaac Sim from the NVIDIA GitHub repository and set up Git LFS to pull large files.

This playbook pins **Isaac Sim v6.2.0** and **Isaac Lab 3.0**. Step 6 pins a specific revision of Isaac Lab's `release/3.0.0` branch that targets Isaac Sim 6.2. Use these refs instead of the default `develop` branches so the installation and training commands below match the checked-out code.

```bash
git clone --depth=1 --recursive --branch=v6.2.0 https://github.com/isaac-sim/IsaacSim
cd IsaacSim
git lfs install
git lfs pull
```

# Step 3. Build Isaac Sim

Build Isaac Sim and accept the license agreement.

```bash
./build.sh
```

When the build succeeds, you should see a message similar to: **BUILD (RELEASE) SUCCEEDED (Took 674.39 seconds)**

# Step 4. Set Isaac Sim environment paths

Stay inside the Isaac Sim directory when running the following commands. The release path uses the `linux-aarch64` build layout for this hardware platform:

```bash
export ISAACSIM_PATH="${PWD}/_build/linux-aarch64/release"
export ISAACSIM_PYTHON_EXE="${ISAACSIM_PATH}/python.sh"
```

# Step 5. Run Isaac Sim

Launch Isaac Sim using the provided Python executable. Preload `libgomp` so the runtime finds the OpenMP library on this hardware platform:

```bash
export LD_PRELOAD="$LD_PRELOAD:/lib/aarch64-linux-gnu/libgomp.so.1"
${ISAACSIM_PATH}/isaac-sim.sh
```

Isaac Sim should start. Close it when you are ready to continue with Isaac Lab.

# Step 6. Clone the Isaac Lab repository

Clone Isaac Lab from the NVIDIA GitHub repository. Complete Steps 1–5 first so `ISAACSIM_PATH` points at a built Isaac Sim release.

Return to the parent directory of `IsaacSim` before cloning so `IsaacLab` is created alongside it. This layout allows Step 10 to remove both repositories.

Isaac Lab 3.0 does not yet have a final `v3.0.0` tag. Pin commit `4b081ff69eee56bb65137b762f2d265eb92ec36e` from `release/3.0.0`, which targets Isaac Sim 6.2. The earlier `v3.0.0-EA` tag targets Isaac Sim 6.1. This pinned revision supports the `./isaaclab.sh` launcher for source-built Isaac Sim and the `train` subcommand used in Step 9.

```bash
cd ..
git clone --branch=release/3.0.0 https://github.com/isaac-sim/IsaacLab
cd IsaacLab
git checkout --detach 4b081ff69eee56bb65137b762f2d265eb92ec36e
git submodule update --init --recursive
```

# Step 7. Create a symbolic link to the Isaac Sim installation

Confirm `ISAACSIM_PATH` is set, then create a symbolic link to the Isaac Sim installation directory:

```bash
echo "ISAACSIM_PATH=$ISAACSIM_PATH"
ln -sfn "${ISAACSIM_PATH}" "${PWD}/_isaac_sim"
ls -l "${PWD}/_isaac_sim/python.sh"
```

Expected output should show a valid symlink to `python.sh` under `_isaac_sim`.

# Step 8. Install Isaac Lab

Install the build tools, Python 3.12 headers, and X11 development libraries required by Isaac Lab on aarch64, then install Isaac Lab:

```bash
sudo apt update
sudo apt install -y cmake build-essential python3.12-dev libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libgl1-mesa-dev
./isaaclab.sh --install
```

# Step 9. Run Isaac Lab and validate humanoid reinforcement learning training

Launch training with Isaac Lab 3.0's `train` subcommand and select `isaacsim_physx` to use the Isaac Sim build from Step 3. The task name is `Isaac-Velocity-Rough-H1` (without the older `-v0` suffix). You can run the training in one of the following modes:

**Option 1: Headless mode (recommended for faster training)**

Runs without visualization and outputs logs directly to the terminal.

```bash
export LD_PRELOAD="$LD_PRELOAD:/lib/aarch64-linux-gnu/libgomp.so.1"
./isaaclab.sh train --rl_library rsl_rl --task Isaac-Velocity-Rough-H1 physics=isaacsim_physx --viz none
```

**Option 2: Visualization enabled**

Runs with real-time visualization in Isaac Sim, allowing you to monitor the training process interactively.

```bash
export LD_PRELOAD="$LD_PRELOAD:/lib/aarch64-linux-gnu/libgomp.so.1"
./isaaclab.sh train --rl_library rsl_rl --task Isaac-Velocity-Rough-H1 physics=isaacsim_physx --viz kit
```

Training should start and print progress logs for the `Isaac-Velocity-Rough-H1` task.

# Step 10. Cleanup

Cleanup is optional rollback — not required to finish the playbook.

> [!WARNING]
> This removes the cloned Isaac Sim and Isaac Lab repositories and their build artifacts. Copy any custom work elsewhere first if you want to keep it.

```bash
cd ..
rm -rf IsaacSim IsaacLab
```