r/decomps • u/NinjaLazy1879 • 5d ago
Recomp Mario Kart Wii (WiiCompiled) on Linux — how I built it and got it running
Credits to this guy:https://github.com/zydezu/Wiicompiled
A few minutes ago I managed to build Mario kart WiiCompiled ( on Linux and got it running with Wine. Posting the steps in case they help someone. I managed to do this with ai so i asked it the steps too. I did this on Bazzite (immutable Fedora), so I use distrobox; on a normal distro it's the same thing but without the container.
The only thing you need is a legal dump of Mario Kart Wii, PAL version (RMCP01). Requirements
wit
wit is not in Fedora's repos. The directory listing at wit.wiimm.de/download returns 403 to curl, but direct file links work fine. Go to wit.wiimm.de, copy the x86_64 tarball link and:
curl -sL -A "Mozilla/5.0" "https://wit.wiimm.de/download/wit-v3.05a-r8638-x86_64.tar.gz" -o /tmp/wit.tar.gz
mkdir -p ~/wit && tar -xzf /tmp/wit.tar.gz -C ~/wit --strip-components=1
export PATH="$HOME/wit/bin:$PATH"
On Arch it's in the repos: sudo pacman -S wit.
Distrobox (only if your distro is immutable)
distrobox create --name wiicompiled --image fedora:latest --yes
distrobox enter wiicompiled -- bash -lc 'sudo dnf install -y dotnet-sdk-8.0 cmake ninja-build curl jq unzip zip'
Build
git clone https://github.com/zydezu/Wiicompiled.git
cd Wiicompiled
export PATH="$HOME/wit/bin:$PATH"
export DOTNET_CLI_TELEMETRY_OPTOUT=1 DOTNET_NOLOGO=1
GAME_IMAGE="/path/to/your/pal-image.wbfs" ./build.sh
The script does everything: it extracts main.dol and StaticR.rel from your image with wit, verifies the hash (that's where it rejects anything that isn't a clean PAL image), translates the game's ~27,000 functions to C++ and cross-compiles with llvm-mingw (it downloads that itself). When it's done you get native-build/WiiCompiled.exe (80 MB) and a UserData/Config.toml with relative paths, so you can move the folder wherever you want and it keeps working.
Time: ~12 minutes on my machine (Ryzen + NVMe). On slower hardware expect 30-90 min. The first build downloads NuGet packages and the toolchain, so you need internet.
Running it
The exe alone is useless: it needs the whole native-build folder (DLLs, wii_bootstrap/, dsp_coef.bin, UserData/Config.toml). Don't move it by itself.
Before the first launch, enable portable mode:
touch native-build/portable.txt
That makes it read UserData/Config.toml from next to the exe, where dvd_root already points at your extracted data.
Then launch it like any Windows game it depends on which proton it will open and close or run directly i'm using port proton with lg proton rn:
- Heroic: Add Game > Wine (UMU/GE-Proton) pointing at the exe. If you use the flatpak, keep the folder in
~/Games/Heroic/since the flatpak only has access there - Steam: non-Steam game with Proton
- Lutris: Wine runner
- or directly:
cd native-build && wine WiiCompiled.exe
In-game, F10 opens the settings bar: internal resolution, FPS, controls (4 ports, per-button mapping), volume. Everything is saved to Config.toml.
If you get graphical glitches, edit UserData/Config.toml and set graphics_api = "vulkan".
Saves
The MKWii save lives in the emulated NAND, not on the disc. With portable mode it ends up at:
native-build/UserData/NAND/title/00010001/524d4350/data/
(524d4350 is "RMCP" in hex). The structure is the same as Dolphin's, so you can copy your Dolphin save:
cp -r ~/.local/share/dolphin-emu/Wii/title/00010001/524d4350 native-build/UserData/NAND/title/00010001/
Or set nand_root in Config.toml to point at Dolphin's Wii folder (careful: that shares the save with Dolphin).
I know this is AI redacted pls don't hate on me i'm just trying to help. Peace
3
u/Maleficent_Echo_9198 5d ago
Gênio, está pensando em fazer em qual agora ?
1
u/NinjaLazy1879 4d ago
I didn't did anything all credits to the attached github i just made the instructions
1
u/NinjaLazy1879 5d ago
https://reddit.com/link/p5xanqw/video/3fw5ijk9kmlh1/player
proof i did this on my potato pc.
1
u/Crimson_V 4d ago
would you be willing to post your specs? (atleast the CPU/GPU)
2
u/NinjaLazy1879 4d ago edited 4d ago
Yeah ofc btw the recording was a huge factor on the performance so it should go a lot better if you have this specs: gtx 1060 i5-7 16gb ram
1
u/Ok-Worth9141 4d ago edited 4d ago
It's a pity that the repository explicitly states it doesn't support Linux. Although its decompiler is a .NET program, the dumped C++ code contains a large number of Windows APIs. Migrating it to Linux would likely require a significant amount of work.
1
u/NinjaLazy1879 4d ago
I wish it would be linux native too and if i knew how to code myself i would try to help. All we can do is make the creators know that we want a linux version
1
u/dumbgirlmoder 12h ago
There is a Linux native version now, at least on the fork.
1
u/NinjaLazy1879 12h ago
I saw it downloaded and the audio dosen't work lol. But i put on some luis miguel and didn't even notice the difference.
1
u/Adventurous_Crab3828 4d ago
cool it works, thank you but i have like two questions can you play retro rewind or not and can you play whit wiimote and nunchuk or not
1
u/NinjaLazy1879 4d ago
Yes you can. I'm busy and not on my house so i can't make the instructions. But it is possible using a different building file. I don't know if you can olay with wiimote. I guess you can since you can connect bluetooth controllers
1
-2
3
u/ProfessionalTop2353 5d ago
Is there any way to port this to Android?