Building sm64dx on Linux requires a MIPS binutils toolchain, Python 3.6 or later, and a copy of an original Super Mario 64 ROM for asset extraction. The build system auto-detects the correct binutils prefix for your distribution, so in most cases you only need to install the right package and runDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Project516/sm64dx/llms.txt
Use this file to discover all available pages before exploring further.
make. Ensure the repository path does not exceed 255 characters — longer paths will cause build errors.
Install dependencies
- Debian / Ubuntu
- Arch Linux
- Fedora / RHEL
Install the build dependencies with The Makefile detects the
apt:mips-linux-gnu- toolchain prefix automatically on Debian-based systems.If your distribution provides a different MIPS binutils prefix, set the
CROSS variable explicitly when running make. See Build options for details.Build steps
Place your baserom
Copy your original Super Mario 64 ROM into the project root. The file must be named You need one baserom for each version you intend to build.
baserom.<VERSION>.z64, where <VERSION> is one of jp, us, eu, sh, or cn.Run make
Build the ROM by running To build a different version or speed up compilation with parallel jobs:To build the EU version without verifying the ROM hash:Build artifacts are placed in the
make. The default version is us:build/ directory. The output ROM is named build/<VERSION>/sm64.<VERSION>.z64.Specifying the CROSS prefix
If the Makefile cannot detect a suitable MIPS toolchain automatically, or if you have multiple toolchains installed and want to select a specific one, pass theCROSS variable on the command line:
CROSS value is prepended to each binutils binary name (as, ld, ar, objcopy, etc.).