> ## Documentation Index
> Fetch the complete documentation index at: https://docs.godrift.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# System Requirements

> Supported platforms, dependencies, and compatibility for Drift CLI

## Supported Platform

| Requirement | Supported |
| - | - |
| **Operating System** | Ubuntu 22.04 (Jammy) or 24.04 (Noble) |
| **Architecture** | x86\_64 (amd64) |
| **ROS Version** | ROS2 Humble (LTS) on 22.04, or Jazzy on 24.04. Foxy is EOL and unsupported |
| **Simulators** | Gazebo Sim (Harmonic), MuJoCo 3.8.1+, Isaac Sim 5.1 / 6.0 (NVIDIA RTX GPU required) |

Ubuntu and ROS2 are paired — each ROS2 release targets exactly one Ubuntu LTS:

| Ubuntu | ROS2 distribution | Status |
| - | - | - |
| 22.04 (Jammy) | Humble (LTS) | Recommended |
| 24.04 (Noble) | Jazzy | Supported |
| 20.04 (Focal) | *(none)* | No supported ROS2 distribution |

<Warning>
  **Ubuntu 20.04 has no supported ROS2 distribution.** Humble requires 22.04 and Jazzy requires 24.04. The only ROS2 release that shipped for 20.04 was Foxy, which reached end-of-life in June 2023 and is not tested or supported.

  If you're on 20.04, the **MuJoCo workflow still works** — it doesn't need ROS2 in the loop. Every Gazebo/ROS2 path in these docs assumes 22.04 or 24.04.
</Warning>

<Note>
  Support for additional ROS distributions is on the roadmap.
</Note>

## Dependencies

Drift CLI works with the simulator + framework combinations below. You need at least one path installed — most users have both.

### ROS2 + Gazebo Harmonic path

For traditional ROS2 workflows: URDF / SDF, launch files, controllers, RViz, bridge to Gazebo Harmonic.

Install ROS2 Humble on Ubuntu: [official install guide](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debs.html) — or ask Drift to install it after first launch:

```drift theme={null}
install ROS2 Humble and Gazebo Harmonic, then verify they work
```

Install Gazebo Harmonic: [official install guide](https://gazebosim.org/docs/harmonic/install_ubuntu).

### MuJoCo path

For fast headless / scriptable simulation: MJCF, Python control loops, contact-rich tasks, RL training.

```bash theme={null}
pip install mujoco
python3 -c "import mujoco; print(mujoco.__version__)"
```

Drift expects MuJoCo 3.8.1 or newer. The Python passive viewer (`mujoco.viewer.launch_passive`) works on Linux with a working display.

### Isaac Sim path (optional)

For RTX-quality rendering, USD assets, and Omniverse pipelines. Unlike the two paths above, this one has a hard GPU requirement:

| Requirement | Needed for |
| - | - |
| NVIDIA GPU with RT cores (GeForce RTX, RTX A-series, RTX PRO) | Any Isaac Sim rendering |
| 16 GB GPU memory or more | An interactive Isaac Sim window (smaller RTX cards verify headlessly instead) |
| Isaac Sim 5.1 or 6.0 — pip package or the standalone binary distribution | Launching and verifying scenes |

Datacenter cards without RT cores (A100, H100), CPU-only machines, and VMs or containers without GPU passthrough can't render Isaac Sim. Drift can still author and validate the scene on those machines.

Ask Drift to walk you through the install if you don't have it:

```drift theme={null}
install missing packages for Isaac Sim
```

See the [Isaac Sim guide](/guides/isaac-sim) for what works on which hardware.

### Additional Tools

<Note>
  Drift works in any terminal, including the integrated terminal in **VS Code** or **Cursor** with no extra setup.
</Note>

If you take the ROS2 path, the standard ROS2 build tools come with a typical install:

* `colcon` — build tool for ROS2 workspaces
* `rosdep` — dependency management for ROS2 packages

## Verifying Your Setup

After installing, verify everything is reachable:

```bash theme={null}
# Check ROS2 (if using the ROS2 path)
ros2 --version

# Check Gazebo (if using the Gazebo path)
gz sim --version

# Check MuJoCo (if using the MuJoCo path)
python3 -c "import mujoco; print(mujoco.__version__)"

# Check the GPU (if using the Isaac Sim path)
nvidia-smi --query-gpu=name,memory.total --format=csv

# Check Drift
drift --help
```

If the ones you care about return version information, you're ready to go.

## Resource Protection

Simulators can exhaust GPU memory, thrash RAM, or hang a GPU driver — and freeze the machine with them. Drift guards every simulator launch so that can't take your session down:

* **Before launch** — if GPU memory or system RAM is already heavily used, Drift warns and lets you continue or cancel. Only one on-screen simulator runs at a time.
* **While running** — Drift watches the resource the render actually uses (GPU memory for a viewer, RAM for headless and software-rendered sims). On a sustained overload or a GPU stall it stops the simulator's processes only; Drift itself and your other work are never touched.
* **After a stop** — an on-screen sim is relaunched headless once so the task can still finish.

The guard is fail-open: if it can't read your hardware it never blocks a launch. It works with NVIDIA, AMD, and Intel GPUs on Linux. To turn it off, start Drift with `DRIFT_GPU_GUARD_ENABLED=0`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.