-
Notifications
You must be signed in to change notification settings - Fork 6
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 debian based OS run this.
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-devChange the package manager you use for your Linux distro.
Default compiler for MacOS is set to Clang in ModernGekko-Template.
Make sure to have Xcode build tools installed along with using homebrew and do
brew install cmake ninja pkg-configDefault compiler for Windows is set to MSVC in ModernGekko-Template.
Use winget and do
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.
git clone https://github.com/ExpansionPak/ModernGekko-Template
cd ModernGekko-Template
From the repo root:
make tools # to build DolRecomp and ModernGekko
On a fresh clone of this repo, the build will fail with compile errors in netplay_protocol_test.cpp/netplay_session.cpp and (later, at per-game recompile time) a missing cpu/cpu.h - the vendored Dolphin NetPlay API in this pinned lib/ModernGekko commit doesn't match what those call sites expect. You need to apply the patches for now.
- add vendor/dolphin/GXRuntime/include/cpu/cpu.h
- add tools/netplay_session_stub.cpp and point CMakeLists.txt at it instead of tools/netplay_session.cpp, and disable the netplay protocol test target
- simplify FormatWindowTitle in src/runtime/dolphin_runtime.cpp
Now you can use any GameCube or Wii, and recompile then run them.
From the repo root:
make run ISO="iso/Your Game.iso" # first time — extracts, recompiles, launches
make run GAME=<slug> # subsequent runs, once extracted
After the build completes and seeing your recompilation run (if not file an issue with full details), you 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.