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
sudoprivileges.
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¶
NVIDIA Isaac Sim docs: https://docs.omniverse.nvidia.com/isaacsim/
MarineGym repository: https://github.com/Marine-RL/MarineGym
IsaacLab repository: https://github.com/Marine-RL/IsaacLab
For support, open issues on the MarineGym GitHub project or consult the community links in the project README.