> ## 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 20.04+ (Debian-based distributions)                          |
| **Architecture**     | x86\_64 (amd64)                                                     |
| **ROS Version**      | ROS2 Humble (LTS) or Jazzy recommended; Foxy is EOL and unsupported |
| **Simulators**       | Gazebo Sim (Harmonic), MuJoCo 3.8.1+                                |

<Note>
  ROS2 Foxy reached end-of-life in June 2023. It may work with Drift but is not tested or supported. Use Humble or Jazzy for a supported experience. 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.

### 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 Drift
drift --help
```

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