# Installation Guide

### Installing Isaac Sim

From Isaac Sim 4.0 release, it is possible to install Isaac Sim using pip. This approach is experimental and may have compatibility issues with some Linux distributions.

{% hint style="warning" %}
Installing Isaac Sim with pip requires GLIBC 2.34+ version compatibility. To check the GLIBC version on your system, use command `ldd --version`.

This may pose compatibility issues with some Linux distributions. For instance, Ubuntu 20.04 LTS has GLIBC 2.31 by default. If you encounter compatibility issues, we recommend following the [Isaac Sim Binaries Installation](https://isaac-sim.github.io/IsaacLab/main/source/setup/installation/binaries_installation.html#isaacsim-binaries-installation) approach.
{% endhint %}

{% hint style="warning" %}
On Windows with CUDA 12, the GPU driver version 552.86 is required.
{% endhint %}

* To use the pip installation approach for Isaac Sim, we recommend first creating a virtual environment. Ensure that the Python version of the virtual environment is Python 3.10.

{% tabs %}
{% tab title="conda environment" %}

```shell
conda create -n isaaclab python=3.10
conda activate isaaclab
```

{% endtab %}

{% tab title="venv environment" %}
Windows:

```powershell
# create a virtual environment named isaaclab with python3.10
python3.10 -m venv isaaclab
# activate the virtual environment
isaaclab\Scripts\activate
```

Linux:

```sh
# create a virtual environment named isaaclab with python3.10
python3.10 -m venv isaaclab
# activate the virtual environment
source isaaclab/bin/activate
```

{% endtab %}
{% endtabs %}

* Next, install a CUDA-enabled PyTorch 2.4.0 build based on the CUDA version available on your system. This step is optional for Linux, but required for Windows to ensure a CUDA-compatible version of PyTorch is installed.

{% tabs %}
{% tab title="CUDA 11" %}

```sh
pip install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu118
```

{% endtab %}

{% tab title="CUDA 12" %}

```sh
pip install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu121
```

{% endtab %}
{% endtabs %}

* Before installing Isaac Sim, ensure the latest pip version is installed. To update pip, run

```sh
pip install --upgrade pip
```

* Then, install the Isaac Sim packages necessary for running Isaac Lab:

```sh
pip install isaacsim-rl isaacsim-replicator isaacsim-extscache-physics isaacsim-extscache-kit-sdk isaacsim-extscache-kit isaacsim-app --extra-index-url https://pypi.nvidia.com
```

#### Verifying the Isaac Sim installation

* Make sure that your virtual environment is activated (if applicable)
* Check that the simulator runs as expected:

```shell
# note: you can pass the argument "--help" to see all arguments possible.
isaacsim
```

By default, this will launch an empty mini Kit window.

* To run with a specific experience file, run:

```sh
# experience files can be absolute path, or relative path searched in isaacsim/apps or omni/apps
isaacsim omni.isaac.sim.python.kit
```

{% hint style="warning" %}
When running Isaac Sim for the first time, all dependent extensions will be pulled from the registry. This process can take upwards of 10 minutes and is required on the first run of each experience file. Once the extensions are pulled, consecutive runs using the same experience file will use the cached extensions.

In addition, the first run will prompt users to accept the Nvidia Omniverse License Agreement. To accept the EULA, reply `Yes` when prompted with the below message:

```
By installing or using Isaac Sim, I agree to the terms of NVIDIA OMNIVERSE LICENSE AGREEMENT (EULA)
in https://docs.omniverse.nvidia.com/isaacsim/latest/common/NVIDIA_Omniverse_License_Agreement.html

Do you accept the EULA? (Yes/No): Yes
```

{% endhint %}

If the simulator does not run or crashes while following the above instructions, it means that something is incorrectly configured. To debug and troubleshoot, please check Isaac Sim [documentation](https://docs.omniverse.nvidia.com/dev-guide/latest/linux-troubleshooting.html) and the [forums](https://docs.omniverse.nvidia.com/isaacsim/latest/isaac_sim_forums.html).

### Installing Isaac Lab

#### Cloning Isaac Lab

{% hint style="info" %}
We recommend making a [fork](https://github.com/isaac-sim/IsaacLab/fork) of the Isaac Lab repository to contribute to the project but this is not mandatory to use the framework. If you make a fork, please replace `isaac-sim` with your username in the following instructions.
{% endhint %}

Clone the Isaac Lab repository into your workspace:

{% tabs %}
{% tab title="SSH" %}

```sh
git clone git@github.com:isaac-sim/IsaacLab.git
```

{% endtab %}

{% tab title="HTTPS" %}

```sh
git clone https://github.com/isaac-sim/IsaacLab.git
```

{% endtab %}
{% endtabs %}

#### Installation

* Install dependencies using `apt` (on Ubuntu):

  ```shell
  sudo apt install cmake build-essential
  ```
* Run the install command that iterates over all the extensions in `source/extensions` directory and installs them using pip (with `--editable` flag):

{% tabs %}
{% tab title="Windows" %}

```batch
isaaclab.bat --install :: or "isaaclab.bat -i"
```

{% endtab %}

{% tab title="Linux" %}

```shell
./isaaclab.sh --install # or "./isaaclab.sh -i"
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
By default, this will install all the learning frameworks. If you want to install only a specific framework, you can pass the name of the framework as an argument. For example, to install only the `rl_games` framework, you can run

Windows:

```batch
isaaclab.bat --install :: or "isaaclab.bat -i"
```

Linux:

```shell
./isaaclab.sh --install # or "./isaaclab.sh -i"
```

The valid options are `rl_games`, `rsl_rl`, `sb3`, `skrl`, `robomimic`, `none`.
{% endhint %}

#### Verifying the Isaac Lab installation

To verify that the installation was successful, run the following command from the top of the repository:

{% tabs %}
{% tab title="Windows" %}

```batch
:: Option 1: Using the isaaclab.bat executable
:: note: this works for both the bundled python and the virtual environment
isaaclab.bat -p source\standalone\tutorials\00_sim\create_empty.py

:: Option 2: Using python in your virtual environment
python source\standalone\tutorials\00_sim\create_empty.py
```

{% endtab %}

{% tab title="Linux" %}

```shell
# Option 1: Using the isaaclab.sh executable
# note: this works for both the bundled python and the virtual environment
./isaaclab.sh -p source/standalone/tutorials/00_sim/create_empty.py

# Option 2: Using python in your virtual environment
python source/standalone/tutorials/00_sim/create_empty.py
```

{% endtab %}
{% endtabs %}

The above command should launch the simulator and display a window with a black ground plane. You can exit the script by pressing `Ctrl+C` on your terminal. On Windows machines, please terminate the process from Command Prompt using `Ctrl+Break` or `Ctrl+fn+B`.
