One-shot installer for the SM64 PC port โ choose Render96ex (HD + DynOS) or SM64EX (vanilla). Both get Render96 HD textures & models + Odyssey Moveset โ Cappy, captures, roll, dive & more.
curl -fsSL https://raw.githubusercontent.com/zonaro/Mario64/main/install.sh -o install.sh && chmod +x install.sh && ./install.sh
You must own a legally dumped, unmodified Super Mario 64 (US) ROM. No ROMs are distributed.
The official OMM build is manual and fragile. This automates it end-to-end.
Detects your distro, installs deps, clones, patches, builds and installs. No manual steps.
Clone & compilation happen in /tmp and are deleted. Only the game stays in
~/Mario64.
Choose Render96ex or SM64EX โ both get Render96 HD textures & models + full Odyssey moveset (Cappy, captures, roll, dive, cap bounce).
ROM hash verified, patch rejects detected, defensive fixes for the star-crash bug, idempotent re-runs.
What happens when you run the installer.
Pick 1 Render96ex (recommended, tester) or 2 SM64EX
(master) โ or set ENGINE=render96|sm64ex to skip the prompt. Both get
Render96 HD packs.
Detects pacman / apt / dnf / zypper and installs
git curl make gcc python3 SDL2 GLEW p7zip (skip with SKIP_DEPS=1).
Uses ROM_ZIP if set, otherwise scans the script dir. If not found, prompts for the path
(drag & drop) or auto-searches ~/Downloads, ~/ROMs,
~/Games etc.
Prompts for the install folder โ leave empty for ~/Mario64. Override with
FINAL_DIR=~/Games/Mario64.
Clones the chosen base (Render96/Render96ex or sm64pc/sm64ex), applies
omm.patch +
defensive fixes, builds with make -j$(nproc) โ all inside
/tmp/mario64_build_XXXXXX.
Moves build/us_pc to the chosen folder, installs Render96 HD packs (both engines),
creates
launch.sh + desktop entry, then deletes the temp dir.
~/Mario64/build/us_pc/sm64.r96x (or
sm64.us.f3dex2e for SM64EX) ยท
~/Mario64/launch.sh ยท ~/.local/bin/render96-odyssey or
sm64ex-odyssey ยท desktop entry in your app menu.
| Variable | Default | Description |
|---|---|---|
ENGINE |
prompt (render96) |
render96 (Render96ex) or sm64ex โ aliases: r96,
ex, sm64; also BASE/R96/SM64EX
|
ROM_ZIP |
auto-detect / prompt | Path to .z64 / .n64 / .v64 / .zip |
FINAL_DIR |
~/Mario64 |
Install folder (prompt; empty = ~/Mario64) |
BRANCH |
tester (r96) / master (ex) |
Base branch (override per engine) |
JOBS |
nproc |
Parallel make jobs |
SKIP_DEPS |
0 |
1 to skip dep install |
SKIP_MODELS |
0 |
1 to skip model packs |
FORCE |
0 |
1 to force clean rebuild |
Already installed for both bases (Render96 packs).
Pause โ DynOS โ Packs โ enable Render96_DynOS_v3.25
Options โ Model Packs โ Render96_DynOs_v3.25
Options โ Controls โ keyboard or gamepad
Linux ยท unmodified Super Mario 64 (US) ROM ยท build tools auto-installed
The build verifies the ROM SHA1
(9bef1128717f958171a4afac3ed78ee2bb4e86ce) and aborts on a hacked/extended ROM. PortMaster
is not used โ it targets handheld CFWs and has no desktop Linux port for Render96ex.