This guide covers installing Stable Retro on macOS, including both Intel and Apple Silicon Macs.
- Python 3.10 to 3.14
- macOS 10.13 (High Sierra) or later
For most users, the simplest installation method is via pip:
pip3 install stable-retroIf the above doesn't work for your platform:
pip3 install git+https://github.com/Farama-Foundation/stable-retro.gitIf you plan to integrate new ROMs, states or emulator cores, or plan to edit an existing environment:
git clone https://github.com/Farama-Foundation/stable-retro.git
cd stable-retro
pip3 install -e .Tested on Python 3.10.
The Game Boy (gambatte) emulator is not supported on Apple Silicon.
-
Install build dependencies:
pip install cmake wheel
-
Install system dependencies via Homebrew:
brew install pkg-config lua@5.3 libzip qt@5 capnp
-
Add Qt to your PATH:
echo 'export PATH="/opt/homebrew/opt/qt@5/bin:$PATH"' >> ~/.zshrc
-
Set the SDK root:
export SDKROOT=$(xcrun --sdk macosx --show-sdk-path)
-
Install the package:
pip install -e .
After building from source, you can optionally build the Integration UI:
-
Configure CMake with UI support:
cmake . -DCMAKE_PREFIX_PATH=/usr/local/opt/qt -DBUILD_UI=ON -UPYLIB_DIRECTORY -
Build the application:
make -j$(sysctl hw.ncpu | cut -d: -f2) -
Launch the Integration UI:
open "Gym Retro Integration.app"
An alternative option for M1/M2/M3 Macs is to use Docker:
https://github.com/arvganesh/stable-retro-docker
After installation, verify it works by running:
import stable_retro
env = stable_retro.make(game='Airstriker-Genesis-v0')
print("Installation successful!")
env.close()- Import errors: Ensure you have the correct Python version (3.10-3.14)
- Build failures on Apple Silicon: Make sure you've set
SDKROOTcorrectly - Qt not found: Verify Qt is in your PATH after running the export command
- Game Boy games not working on Apple Silicon: This is expected; the gambatte core is not supported on arm64