-
Notifications
You must be signed in to change notification settings - Fork 12
Getting Started
Welcome! Here you'll learn how you can use DolRecomp and ModernGekko together for your next GameCube/Wii Recompilation. It is recommended to use ModernGekko-Template as it sets up the general environment for user's to build their recompilations on, even if not used directly, it can serve as a helpful reference.
By the end of this tutorial, your recomp probably won't (yet) look like this
BUT your recomp should at least be able to boot up properly, though maybe with some bugs.
You will need:
- A C Compiler: (e.g., GCC, Clang, or MSVC)
- CMake: (Version 3.20 or higher)
- Some other things.
The latest downloads for CMake are available here. For legacy versions, here.
Warning
Versions of CMake that are below 3.20 will not work with this project.
Default compiler for Linux is set to GCC in ModernGekko-Template.
On a Debian based machine run:
sudo apt-get install -y ninja-build build-essential pkg-config cmake \
libevdev-dev libudev-dev libgtk-3-dev libsystemd-dev \
libbluetooth-dev libasound2-dev libpulse-dev libgl1-mesa-dev \
libxrandr-dev libxi-dev- Fedora:
sudo dnf install -y gcc gcc-c++ make ninja-build pkgconf-pkg-config cmake \
libevdev-devel systemd-devel gtk3-devel bluez-libs-devel \
alsa-lib-devel pulseaudio-libs-devel mesa-libGL-devel \
libXrandr-devel libXi-devel- Arch Linux and Arch-based distributions:
sudo pacman -S --needed base-devel ninja cmake pkgconf \
libevdev systemd-libs gtk3 bluez-libs \
alsa-lib libpulse mesa libglvnd \
libxrandr libxiDefault compiler for MacOS is set to Clang in ModernGekko-Template.
Make sure you have Xcode build tools installed along with homebrew and run:
brew install cmake ninja pkg-configDefault compiler for Windows is set to MSVC in ModernGekko-Template.
Use winget and run:
winget install -e --id Kitware.CMake
winget install -e --id Ninja-build.Ninja
winget install -e --id Microsoft.VisualStudio.2022.BuildTools --override "--add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"Install Microsoft Visual Studio.
On Windows, Clang, GCC/MinGW, and MSVC-style generators should all work. If devkitPro is installed, CMake also checks its MSYS2 zlib location.
Alternatively, you can use UCRT64 to build:
winget install -e --id MSYS2.MSYS2Then, get the toolchain:
pacman -S --needed \
base-devel git \
mingw-w64-ucrt-x86_64-toolchain \
mingw-w64-ucrt-x86_64-cmake \
mingw-w64-ucrt-x86_64-ninjaUCRT64 is considerably more reliable, so if you run into issues with MSVC, this is the next best option.
git clone --recursive https://github.com/ExpansionPak/ModernGekko-Template.git
cd ModernGekko-Template
From the repo root:
make tools # to build DolRecomp and ModernGekko
- Experimental LLVM backend
For those who need maximum runtime performance over the default C backend, LLVM is a solid, though currently incomplete, choice.
DolRecomp currently requires LLVM 19 or 20.
To build a game using the LLVM backend for the first time:
make llvm ISO="/path/to/game.iso"After the game has been extracted, use it's slug:
make llvm GAME=Game-SlugTo build and immediately launch:
make llvm-run GAME=Game-SlugIf CMake cannot locate LLVM automatically, provide it's directory:
make llvm GAME=Game-Slug LLVM_DIR="/path/to/llvm/lib/cmake/llvm"Now you can use any GameCube or Wii iso, and recompile/run them.
From the repo root:
make run ISO="iso/Your Game.iso" # first time
make run GAME=<slug> # subsequent runs, once extracted
After the build completes and you see your recompilation run (if not file an issue with full details), your recompilation can be complete if you like, but there are many things that can be added including: higher resolution, wide screen (including ultra wide), control setup, setting up a launcher installation, and much more. For this, go to Using ModernGekko page.
If you are having issues with the build process, check if the Troubleshooting Page has your issue. If not, skip to "Reporting an issue" in the sidebar. More often then not, your issue will be here.