PowerPC-to-ARM64 Static Recompilation via doldecomp
Nintendo EAD’s 2001 GameCube launch classic Luigi’s Mansion runs natively on Android via luigis-mansion-android, an active-alpha project maintained by MsBunnana and JayElDragon. Based on rob646464’s upstream luigi's-mansion-recompiled project, this port eliminates emulator overhead like Dolphin JIT compilation. By applying GameCube Gekko PowerPC-to-ARM64 static recompilation (doldecomp/recomp), the toolchain translates Luigi’s ghost-hunting adventure directly into native 64-bit ARM (aarch64) machine instructions.
The native pipeline preserves the GameCube’s atmospheric visuals, from volumetric dust motes in flashlight beams to real-time shadow projection and cloth physics on curtains. Crucially, the engine decouples simulation ticks from display refresh, unlocking native 16:9 widescreen rendering and high refresh rates.
In-Place Disc Image Mounting for GLME01 & GLMP01
To ensure strict legal compliance, the project contains no proprietary Nintendo data. Users supply their own disc media:
- Create a legal
.isoor.rvzdisc image from your own retail GameCube copy of Luigi’s Mansion, supporting North American (GLME01) and European (GLMP01) revisions. - Install the V2.0+ APK from GitHub Releases.
- Open the app and select your
.isoor.rvzdisc image directly from storage.
With the milestone V2.0 update, the game supports in-place disc loading. The app reads your disc image straight from its existing folder on internal storage or microSD, eliminating the need to duplicate multi-gigabyte files into private app storage, while introducing automated save-file backups.
Dynamic Refresh Matching, Boost CPU & Overheat Throttling Control
The V2.0 release introduces mobile optimizations tailored for gaming handhelds and phones:
- Refresh-Rate Matching: Dynamically synchronizes frame pacing to match 30, 60, 80, and 120 Hz/FPS displays without altering vacuum simulation speeds.
- Thermal Governor: A built-in overheat cool-down governor tracks device thermals to prevent severe thermal throttling during intense ghost encounters.
- Boost CPU Toggle: An experimental Boost CPU switch lets actively cooled handhelds (such as the AYN Odin 2) and flagship Snapdragon 8 Gen 2+ phones sustain steady 120 FPS performance.
- Driver Stability: Targets Android 10+ and runs smoothly on system Vulkan drivers (
turnipRecommended: false) without requiring custom Turnip drivers.
GameCube Input Architecture & Auto-Hiding Touch Overlays
Handling Luigi’s Poltergust 3000 vacuum requires flexible control ergonomics:
- Contextual Touch Controls: A custom GameCube-styled on-screen touch overlay maps flashlight, vacuum suction, and expulsion buttons for touchscreen play.
- Auto-Hiding Interface: The touch overlay hides automatically whenever a physical Bluetooth or USB-C gamepad is connected, keeping the display clutter-free.
- Dual-Analog Vacuuming: Supports full physical gamepad navigation, matching original dual-stick mechanics for flashlight aiming and directional ghost pulling.