kartpad README

The project's README from github.com/chrissotraidis/kartpad. As one markdown file: README.md.

KartPad

Mario Kart Wii and Retro Rewind, native for Android, iOS, iPadOS, and macOS.
Native static recompilation through Vulkan on Android and Metal on Apple platforms, with touch controls, motion steering, controllers, and optional Retro Rewind content. tvOS is currently an experimental preview.

KartPad is an Apple and Android fork and productization of WiiCompiled, the original static recompilation project for Mario Kart Wii. It adds native controls, a dual-game chooser, game-data management, packaging, and release workflows.

Apple Silicon Metal renderer Android ARM64 with Vulkan Ahead-of-time static recompilation macOS development target iPhone and iPad 0.4.14 Retro Rewind supported Game data not included

KartPad running a race on DK Summit on iPad

[!IMPORTANT] Bring your own game data. KartPad requires a legally obtained supported PAL RMCP01 revision 0 Mario Kart Wii image. Downloads contain translated game logic, but no disc image, extracted game assets, Retro Rewind pack or saves. Apple IPAs require local re-signing; tvOS remains experimental.

Update before online play. The downloads below include the console-serial correction for #94. Older affected builds should stay offline. Updating preserves identities and saves; existing server-side identity history or bans require service-admin review.

AI disclosure: KartPad uses substantial AI assistance for code, tests, documentation, debugging and maintenance. Some support replies and maintenance tasks are automated. There is no audited percentage of AI-generated code. Build, test and device records describe what was checked. This disclosure concerns KartPad's workflow, not the authorship of its upstream projects.

Downloads

Platform Download Setup
Android ARM64 0.4.14 preview 1 · code 63 Android 9+ with Vulkan
iPhone / iPad 0.4.15 · build 34 iOS/iPadOS 16+; re-sign the IPA
Apple Silicon Mac 0.4.15 · build 34 macOS 14+
Apple TV experimental preview 0.4.11 · build 9 tvOS 17+; re-sign the IPA

Android 0.4.14 is now available. It adds the refreshed game chooser, reviewed-log reporting, Retro pack-update save protection and native rendering improvements. Local Pixel 9 Pro XL tests at 2x/Fill measured about 58 FPS versus 40–50 FPS in the warm Grand Prix menu with the change enabled versus disabled; race gains were smaller. The owner accepted the final payload on hardware. These local mode comparisons are not an across-device or old-public-versus-new-public benchmark. Menu delays and device-specific graphics issues remain open. See the measurements and release notes.

iPhone/iPad 0.4.15 adds an actual log-review screen, an unchecked acknowledgment and an explanation when logs cannot be attached. It retains the newer chooser and setup help. macOS 0.4.15 brings the Metal view-lifetime correction to Mac; it does not establish a tearing or performance fix. See the iPhone/iPad and macOS notes.

Download the checksums and accompanying notices with each package. The releases also include the source bundle and rebuild instructions. Update in place using the same signing identity; do not uninstall or clear app data. Private Android previews use a different signer and need a backed-up migration.

Playing

Frequently asked questions · Controls · Save transfer and troubleshooting

Android Original gameplay with a Razer Kishi was accepted on Pixel 9 Pro XL; Retro WFC login, worldwide matchmaking and live racing were owner-reported. The iPad release candidate has owner-accepted controller gameplay and menu checks. These results do not establish every device, complete online results or reconnect behavior. Native private-room hosting and Wiimmfi support for Original remain unfinished. Online status records the limits.

Startup shader compilation, track-dependent dips and warm slowdown remain known issues. Android's suggested starting point is 1x Native. Sustained 60 FPS and external-display output are not generally verified.

Frequently asked questions

Can I download an IPA or playable app?

Yes—use the platform downloads above. The current official iPhone/iPad build is 0.4.14 build 33; Mac and Apple TV have separate packages. Apple IPAs need re-signing. Every package requires your own supported game data. A Personal IPA Builder is also available.

Are Android and Apple TV supported?

Android has a playable ARM64/Vulkan APK for Android 9+, plus an explicitly unstable preview. Device-specific graphics corruption, freezes and slowdowns remain unresolved; a successful Pixel run does not certify other phones. Apple TV is an experimental tvOS 17+ preview with separate controller and hardware acceptance. See Android setup and Apple TV setup.

Does online multiplayer work?

The owner reported Retro WFC login, matchmaking and live racing on Android. Separate isolated-server tests covered race results and lobby return. Those results do not establish complete production online behavior on every platform or preview. Native room hosting and Original Wiimmfi compatibility remain unfinished; entering a server address does not implement them. See online status and friend-room guidance.

Does KartPad support Retro Rewind, and what if it updates?

Yes, with the separately installed 6.12.7 content and matching compiled profile. A newer Retro pack can require a new KartPad build; replacing files alone does not update translated game code. Apple checks the version before launch; Android checks the official version during installation and validates installed content at launch. Follow your platform setup guide if a compatibility update is requested.

How do I switch between Mario Kart Wii and Retro Rewind?

Choose the game when KartPad opens. On iPhone/iPad, ••• → Return to KartPad Menu pauses the session; Resume continues it. Choose Use on Next Launch for the other game, fully close the app, then reopen it. Returning to the chooser alone does not apply pending license edits. Mac game selection also applies after reopening. See the platform installation guides for their distinct flows.

How do touch controls, acceleration lock and motion steering work?

On iPhone/iPad, hold A for one uninterrupted second to lock acceleration; tap A again to release it. Touch settings let you move, resize, hide and restore controls, including the normally hidden D-pad for tricks. Motion steering is optional and offers recenter, inversion and sensitivity. See the mobile controls guide for floating-stick behavior and controller handoff. Android has its own controls/settings guide.

Can I use controllers or local split-screen?

Yes. Pair controllers in the operating system, choose Multiplayer in the game and press each pad’s mapped A button to register. On iPhone/iPad, the first controller shares Player 1 with touch; the other players keep stable slots. Full three/four-player and reconnect acceptance remains incomplete. See controller setup and adapter limits.

Can KartPad set my player name or import a custom Mii?

On iPhone/iPad, ••• → Game Data & Saves → Player Identity… manages names and exact license slots. Restart to apply edits. Standard 74-byte .mii appearance import is experimental, not a full Wii Mii editor. Renaming a Mii and renaming one license are different actions. See identity instructions. Android save/rating transfer does not include the Mii database.

Can I connect a Wii Remote and Nunchuk without a DolphinBar?

Experimentally, on macOS only, using the direct Bluetooth pairing flow. It still needs broader original-hardware, reconnect and long-session testing; it is not an iPhone/iPad feature. See pairing instructions and hardware limits.

How much storage does KartPad use?

Package size varies by platform and version; the iPhone/iPad IPA download is about 45 MB. Extracted base-game data is roughly 2.5 GiB, and Retro content, the original image and temporary installation files require more. Android setup recommends at least 6 GiB free. Check the platform guide and leave room for updates; the IPA download size is not the installed-data footprint.

Does this repository include Mario Kart Wii?

No disc image or extracted retail assets are included. Supply your own legally obtained supported PAL RMCP01 revision 0 image. Public packages contain compiled translated logic, so software licensing and game-content rights are separate; see rights and provenance. Do not request or attach game data in issues.

Is KartPad a general Wii emulator?

No. It is a game-specific static recompilation for supported Mario Kart Wii and Retro Rewind profiles, not a loader for arbitrary Wii games.

Is KartPad using Dolphin or streaming from a Mac?

The game runs locally as native ARM64 code translated by WiiCompiled, with Vulkan on Android and Metal on Apple platforms. It is not streamed from another computer or run inside the Dolphin emulator. KartPad does use Dolphin-derived components, including game-data handling; third-party notices preserve that attribution.

Does KartPad use a PowerPC JIT on iPhone or iPad?

No. PowerPC code is translated ahead of time and compiled into the app. The iPhone/iPad app does not JIT-compile PowerPC or execute a newly downloaded PowerPC patch. New executable profiles require a compatible app build.

Why is it slow or freezing, and are distorted graphics fixed?

First-use shader/pipeline compilation can cause stalls, and heat or higher render resolution can worsen performance. Not every freeze is shader compilation. Android has separate unresolved character corruption, online-menu stalls and cup-transition crashes. Start at 1x Native, but do not treat a settings change or passing renderer probe as a confirmed fix. Use known issues and diagnostic guidance to match your symptoms; the preview adds useful changes and logs, not a blanket stability guarantee.

Why are the inherited experimental modes absent?

Those settings applied to Sunshine-specific CPU-clock and 60 FPS behavior and did not affect KartPad’s Mario Kart Wii runtime. They were removed because they were misleading no-ops. Use actual display controls and the performance guidance.

Do saves survive an update, and can I transfer Retro ratings?

Supported in-place updates preserve saves; do not uninstall or clear app data. Keep backups and the same signing identity/bundle ID. Android private previews have a different signer and need a planned migration. Raw save backups do not include every companion file: Android preview 1 adds matched offline Retro rating restore, and the reporter confirmed that workflow succeeded. Mii transfer and online/server synchronization remain separate unfinished work. See save and rating transfer.

Is everything finished? How do I report a problem?

No. Check current platform acceptance, known issues and technical debt. Report your exact build, device/OS, selected game, settings and reproducible steps using the bug form. Export a problem report using the support guide, review it before sharing, and keep saves, identities and game data private.

Build and contribute

WiiCompiled translates PowerPC game code ahead of time; KartPad compiles it for ARM64 and renders through Vulkan on Android or Metal on Apple platforms.

For a bug report, include the exact app/build, device, OS, game, settings and reproduction steps. Review diagnostics before sharing; never attach game data, saves, account identifiers or signing material. Use the report form.

Credits and license

KartPad builds on WiiCompiled, Aurora/Dawn, SDL and Dolphin-derived work. SunPad supplies the pinned mobile touch/menu component; its provenance and third-party notices record attribution and licenses. Original artwork provenance is recorded separately.

KartPad is free software under GPLv3, including its WiiCompiled modifications and the integrated application where GPLv3 requires. GPL rights to use, modify and redistribute the software are separate from game-content rights. See rights, licenses and Corresponding Source. Mario Kart, Wii and game imagery belong to their respective rights holders. KartPad is not affiliated with or endorsed by Nintendo.

kartpad (chrissotraidis/kartpad)

Searching Database…

What is this?KartPad is a native port of Mario Kart Wii (and the Retro Rewind mod) for iOS, iPadOS, macOS, tvOS, and Android, built by statically recompiling the original PowerPC game code into native ARM64 code.
Is this an emulator, or something else?It is not an emulator or a stream from another machine - the game's PowerPC code is translated ahead of time and compiled directly into the app, rendering through Vulkan on Android and Metal on Apple platforms.
How do I get it running?Download the package for your platform from the releases table, then provide your own game image - Apple IPAs need to be re-signed locally before they'll install.
What game data do I need to supply myself?You must bring a legally obtained PAL RMCP01 revision 0 Mario Kart Wii disc image; the downloads only contain translated game logic, no disc image, extracted assets, saves, or the Retro Rewind pack.
Is online multiplayer fully working?Only partially - the owner reports Retro WFC login, matchmaking and live racing working on Android, but native private-room hosting and Wiimmfi support for the original game remain unfinished, and results aren't verified across every device.
Which devices and OS versions does it run on?Android 9+ with Vulkan, iOS/iPadOS 16+, macOS 14+ (Apple Silicon), and an experimental tvOS 17+ preview.
What is Retro Rewind and does KartPad support it?Retro Rewind is a popular Mario Kart Wii mod pack with extra tracks and online content. KartPad supports it, but the 6.12.7 content pack installs separately and needs a matching compiled KartPad build.
How much storage do I need to install KartPad?The iPhone/iPad IPA download is about 45 MB, but the extracted base-game data is roughly 2.5 GiB, and Retro Rewind content plus temporary install files need more; Android setup recommends at least 6 GiB free.
Can I use physical controllers or local split-screen?Yes - pair a controller through the OS, choose Multiplayer in-game, and press each pad's A button to register it; full three/four-player reconnect support is still incomplete.
Will a game update wipe my saves?No, in-place updates on the same signing identity preserve saves, but you must not uninstall or clear app data; Android private previews use a different signer and need a planned migration.
Size
56.4 MB
Stars
682
Age
1mo
Commits · 90 Days