Source Setup

This guide walks through installing MarineGym and its dependencies from source on a workstation or server. Follow the sequence of steps to ensure Isaac Sim, IsaacLab, and the MarineGym Python package are aligned.

System Requirements

Hardware

  • NVIDIA RTX 20–40 series GPU; RTX 2060 can support 2048 parallel environments, but at least 8 GB of VRAM is recommended.

  • Minimum 16 GB system memory (32 GB recommended).

  • At least 50 GB of free disk space.

Software

  • Ubuntu 20.04 or 22.04 LTS.

  • NVIDIA driver version 535 or newer.

  • Conda or Miniconda, Git, and common build tools.

  • Root or sudo privileges.

Installation Workflow

System Preparation

Update the package index and install build prerequisites:

sudo apt update
sudo apt install -y screen wget unzip git cmake build-essential

Install Isaac Sim

Download and unpack the Isaac Sim 4.1.0 standalone build:

cd ~
wget https://download.isaacsim.omniverse.nvidia.com/isaac-sim-standalone%404.1.0-rc.7%2B4.1.14801.71533b68.gl.linux-x86_64.release.zip
unzip isaac-sim-standalone@4.1.0-rc.7+4.1.14801.71533b68.gl.linux-x86_64.release.zip -d isaac410

Persist the ISAACSIM_PATH variable in ~/.bashrc so the Isaac Sim binaries are always available:

echo 'export ISAACSIM_PATH="$HOME/isaac410"' >> ~/.bashrc
source ~/.bashrc

Create the Python Environment

Isaac Sim 4.1.0 requires Python 3.10. Create and activate a dedicated environment:

conda create -n sim python=3.10 -y
conda activate sim

Clone the Repositories

Clone MarineGym (the marine RL environments) and IsaacLab (robotics simulation foundation). Update the repository URLs before deployment if you maintain internal mirrors.

cd ~
git clone https://github.com/Marine-RL/MarineGym.git
git clone https://github.com/Marine-RL/IsaacLab.git

Add the symbolic link for Isaac Sim.

cd ~/IsaacLab
ln -s ../isaac410 _isaac_sim

Copy the Conda environment overlays shipped with MarineGym into the active environment, then reactivate it so the changes take effect:

cp -r MarineGym/conda_setup/etc "$CONDA_PREFIX"
conda deactivate
conda activate sim

Install Core Dependencies

Install USD Core and supporting Python libraries at the tested versions:

pip install --upgrade pip setuptools wheel  # upgrade pip
pip install usd-core==23.11 lxml==4.9.4 tqdm xxhash

If external connectivity is limited, configure a mirror such as the Tsinghua Tuna index:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

Install IsaacLab

Run the IsaacLab installer to integrate with Isaac Sim:

cd ~/IsaacLab
./isaaclab.sh --install

Install MarineGym

Install MarineGym in editable mode so local modifications are picked up immediately:

cd ~/MarineGym
pip install -e .

Validate the Installation

Ensure the environment variable is set and MarineGym imports cleanly:

# Confirm the Isaac Sim path
echo "$ISAACSIM_PATH"
# Expected output: /home/<user>/isaac410

# Smoke-test the Python package
python -c "import marinegym; print('MarineGym installed successfully')"

Run a short example training job to confirm Isaac Sim, IsaacLab, and MarineGym interact correctly:

conda activate sim
cd ~/MarineGym
python train.py task=HoverRand algo=ppo headless=true enable_livestream=false \\
    mode=train task.drone_model.name=iAUV task.env.num_envs=4 total_frames=5000 \\
    wandb.mode=offline

Directory Layout

After installation, the working tree should resemble:

~/
├── isaac410/                 # Isaac Sim installation
│   ├── python.sh             # Python launcher
│   ├── kit/                  # Kit runtime
│   └── exts/                 # Isaac extensions
├── MarineGym/                # MarineGym source
│   ├── marinegym/            # Python package
│   ├── conda_setup/          # Conda configuration overlays
│   ├── examples/             # Usage samples
│   ├── setup.py              # Package metadata
│   └── README.md             # Project overview
└── IsaacLab/                 # IsaacLab framework
    ├── source/               # Core sources
    ├── isaaclab.sh           # Management script
    └── docs/                 # Framework docs

Performance Tuning

  • RTX 3060 (12 GB): run 2–4 parallel environments at 512×512 resolution.

  • RTX 3090 (24 GB): run 8–16 environments at 1024×1024.

  • NVIDIA A100 (40 GB): run 16–32 environments with higher fidelity.

For headless deployments, set headless=True in configuration files to skip rendering. Adjust physics step size and rendering frame rate per task to balance precision and throughput.

Additional Resources

For support, open issues on the MarineGym GitHub project or consult the community links in the project README.