smm2recomp/smm2recomp
GamesRun Super Mario Maker 2 natively on PC and mobile by recompiling your own game dump, with offline Course World and SMM1 extras.
This is a fan-made static recompilation of Super Mario Maker 2 v3.0.3 that turns the Switch game into a native app on macOS, Windows, Linux, iOS/iPadOS and Android, all built from a dump you supply. It is worth attention if you own the game, keep firmware and keys, and want to play without an emulator. It is early-stage software measured in days, so expect gaps rather than polished edge cases.
The problem
A player who wants SMM2 on desktop or phone normally launches Ryujinx or another Switch emulator, manages emulator settings, and lives with runtime translation. Course World also depends on Nintendo's servers, so the online half can disappear. This project moves translation earlier: your dump is recompiled ahead of time into C, and a native runtime handles Switch services, input, audio and graphics on Metal or Vulkan. The result is a normal app built from your files, extended with an offline course server and SMM1-style content.
What's different
The core is a static recompiler (Python tools translating AArch64 to C), a C/Objective-C runtime implementing Switch kernel services and the NVN graphics API, and a Rust course server (core/) answering requests normally sent to Nintendo. Because nothing is interpreted at run time, the project exposes hooks at chosen functions, which is how mods like Mystery Mushroom costumes, Lanky Mario and mid-air shell jumps get switches in the overlay menu. Headline additions are the SMM1 100 Mario Challenge with its difficulty select, world map, start card and ending, plus Course World through a self-hostable server or TGRCode's public archive.
The trade-off is that recompilation is not free. First launch checks your dump, recompiles on your machine, then runs; the README puts a macOS build at 10–20 minutes, with about 2 GB of disk needed. Compatibility is explicitly partial: on the reference Apple Silicon/Metal setup, in-course frames are pixel-identical in 71 of 90 style × theme combinations. Input replays match Ryujinx frame-for-frame, a real verification point, but not a claim that every course or effect renders correctly. SMM1 features need a second dump, of the Wii U Super Mario Maker, chosen at setup.
Who should try it
A good fit owns SMM2 v3.0.3 and Wii U SMM1, can extract a RomFS and update ExeFS, and wants native Course World without Nintendo's servers or wants to tinker with SMM1 mods. The reference platform is Apple Silicon macOS with Metal, where verification is documented most concretely; Windows needs an x86-64-v2 CPU and Vulkan 1.3 driver, and GPUs from around 2016 or earlier may not qualify (see Windows setup). iOS/iPadOS and Android are built from source, so mobile is a developer exercise. A poor fit lacks a legal dump and matching firmware keys, or expects all 90 style × theme combinations to display correctly today.
Requirements and limitations
You must provide a base SMM2 RomFS plus the v3.0.3 update's ExeFS and RomFS, and console firmware .nca files with matching prod.keys; setup stops at fonts or Mii data without them. macOS builds need Xcode command-line tools, Homebrew sdl3 and ffmpeg, and Python 3.12 or newer. Driver upkeep is ongoing: Windows troubleshooting points to stale vendor drivers, Remote Desktop and VMs lacking Vulkan, and GPUs too old for Vulkan 1.3. On macOS the app is not notarized, so a one-time right-click Open is required. Build details for other platforms live in the project instructions.
HotRepo's take
The repository was created on 2026-10-19, and HotRepo's only recorded observation is a NEW-REPOSITORY board (rust) placement at #25 with 164 total stars on 2026-10-25 — a snapshot, not daily growth. With no comparable daily history, persistence cannot yet be judged. Before investing setup effort, check the Status table for your platform and confirm the 71-of-90 rendering coverage against the style and theme you actually play.
Written by AI from the project's README, updated October 25, 2026. The project's own docs are the source of truth.