KartPad
KartPad is a community recomp of Mario Kart Wii that runs on macOS, Android and iOS.
- Type: PC port
- Game: Mario Kart Wii
- Runs on macOS, Android and iOS
- By chrissotraidis
- Latest release v0.8.10, 2026-11-09
- Source: https://github.com/chrissotraidis/kartpad
README
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 builds on WiiCompiled, the original Mario Kart Wii static recompilation project created by patchzyy. WiiCompiled provides the foundational translator and runtime; KartPad maintains the Apple and Android integration, native controls, game chooser, game-data management, packaging, and releases. The projects are independently maintained.
Important
Bring your own game data. KartPad requires a legally obtained supported
PAL RMCP01 revision 0 Mario Kart Wii image. tvOS remains experimental.
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.
Get KartPad
KartPad is free. On Android, download it from the releases page. On iPhone, iPad and Mac, PadMint builds it on your own computer from your own disc. Either way, you add your own Mario Kart Wii game data the first time you open it. The Android download includes KartPad's translated game code but no game files: no disc image, no courses, music or textures, and no console keys. You supply those from your own disc.
| You want KartPad on | Get it | Then |
|---|---|---|
| Android | KartPad-v…-android.apk from the releases page | Android |
| iPhone or iPad | Build it with PadMint | iPhone and iPad |
| Mac (Apple Silicon) | Build it with PadMint | Mac |
You need your own Mario Kart Wii: PAL (Europe) RMCP01 revision 0 (other regions are not supported), and:
- Android: an ARM64 phone or tablet with Vulkan and Android 9 or newer, with about 6 GB free.
- iPhone and iPad: iOS or iPadOS 16 or newer, and Sideloadly, AltStore or SideStore with your own Apple ID, plus a computer to run PadMint: Windows, Linux or a Mac. On an Intel Mac this is experimental and needs PadMint 0.5.1 or newer.
- Mac: an Apple Silicon Mac with macOS 14 or newer, to run PadMint and play.
Your game data
KartPad needs your game's files once. Either:
- An extracted folder (easiest). In Dolphin,
right-click Mario Kart Wii → Properties → Filesystem, right-click the
disc, choose Extract Entire Disc and keep the
DATAfolder it makes (KartPad doesn't needUPDATEorCHANNEL). PadMint also saves one, namedKartPad game data, for iPhone, iPad and Android. For Mac, you can reuse the files PadMint prepared. - Your disc image (iPhone, iPad and Android). KartPad can import an ISO or
WBFS directly (Android also accepts RVZ). This needs your own Wii's 16-byte
common key saved as
common-key.bin, for example from a BootMii NAND backup of your console. KartPad does not include it and we cannot provide it.
If KartPad says Game Data Import Failed and asks for a Wii common key, you selected a disc image. You do not need that key. Use the extracted folder above instead.
Android
- Install
KartPad-v…-android.apk. It updates an older KartPad and keeps your saves; don't uninstall first. - Copy your game data folder to the phone. It's about 2,000 files and all of them must arrive: a USB cable is most reliable, or zip the folder, send the zip any way you like and extract it with Files by Google. KartPad can't pick a folder inside Google Drive.
- Open KartPad and tap Import Game on the Mario Kart Wii card. At Game Data & Saves, tap Import from Extracted Game Data Folder…, pick the folder, tap Use this folder and Allow, then Done. If you played before, your game data is already there: tap Play Game.
- For Retro Rewind, tap Set Up Game on its card and KartPad downloads the official pack.
Coming from a PadMint game pack? Install the new APK over it. KartPad no longer needs the pack and frees the space it took.
From 0.7.14, you can start an update inside KartPad: when Update available shows on the game chooser, tap it and Update Now, then confirm Android's installation prompt. The first time, allow KartPad to install apps.
iPhone and iPad
- In PadMint, choose Mario Kart Wii,
your disc image and iPhone/iPad. Install the IPA it makes with
Sideloadly, AltStore or SideStore. To keep your saves, install it over your
KartPad with the same tool and Apple ID. PadMint also makes your
KartPad game datafolder. - First time only: get your game data folder onto the device (AirDrop from a
Mac, a zip you unzip in the Files app, iCloud Drive once it has fully
downloaded, or a USB drive). In KartPad, tap
Import Game on the Mario Kart Wii card, then Import from Extracted
Folder…, and pick the folder in the Files window that opens. If a dialog
says Game Data Import Failed and tells you to save
common-key.binin On My iPhone/iPad → KartPad, you picked an ISO or WBFS. Tap OK and import the extracted folder instead.
See iPhone/iPad setup for more.
Mac
- In PadMint 0.5.1 or newer, choose Mario Kart Wii, your disc image and This Mac under Where will you play?, then move the KartPad app it makes to Applications.
- If macOS says it can't check the app, choose Done, then System Settings → Privacy & Security → Open Anyway.
- Choose your extracted game data folder when KartPad asks for it. You can reuse the files PadMint prepared or extract them with Dolphin.
Only seeing iPhone/iPad and Android? Open the latest PadMint from its newly extracted folder. KartPad for Mac needs Apple Silicon; PadMint 0.5.2 can also hide the option when running under Rosetta. See the Mac option troubleshooting steps.
PadMint
PadMint builds KartPad from your
own disc on your own computer: choose Mario Kart Wii, your disc image and where
you'll play. For iPhone, iPad and Android, it also exports a KartPad game data
folder. The Mac build saves an app ZIP; its extracted game files can be reused
with the Mac setup steps.
From 0.7.14, PadMint is how iPhone, iPad and Mac get KartPad, and it still works
for Android.
Which file is which
| File on the release page | What it is |
|---|---|
KartPad-v…-android.apk | Android: install this. Ready to play with your game data |
KartPad-v…-ios-for-padmint.ipa | The iPhone app without game code. PadMint uses it; don't install it by itself |
KartPad-v…-padmint.json, SHA256SUMS | Used by PadMint and for checking downloads |
KartPad-v…-source.tar.gz, KartPad-v…-notices.zip | Source code and license notices |
0.7.9 to 0.7.13 also had ready-to-play iPhone/iPad and Mac downloads. They stay on those release pages but won't get updates; build newer versions with PadMint.
Updating KartPad
- Android: from 0.7.14, choose Update available → Update Now inside KartPad, then confirm Android's installation prompt. You can also install the new APK over your current KartPad.
- iPhone, iPad and Mac: build the new version with PadMint and install it over your current KartPad. From 0.8.0, KartPad tells you when a new version is out: Update available on the iPhone/iPad game chooser, or Help → Check for Updates… on Mac.
Your saves and game data stay. See why updates work this way.
Current release
KartPad 0.8.10 (build 275) fixes custom GPU drivers on Android after 0.8.9: a driver chosen in an earlier version no longer switches on without warning, and a driver that fails, even during a race, falls back to the phone's own. See the release notes. 0.8.9 made custom drivers load, fixed the start-up flicker on iPhone and iPad, and stopped memory building up over several cups (0.8.9 notes). KartPad 0.8.11 (build 276) is a prerelease for testing: Android menus with movie thumbnails keep up, two online timing faults on Android are fixed, and Wii Remote extensions and the Wii Remote player slot work on Mac (notes). KartPad's update check and PadMint keep offering 0.8.10 until 0.8.11 becomes the latest release. The latest published files are on the releases page. What changed and what remains open are in status and known issues. The earlier move onto maintained WiiCompiled source is recorded in source maintenance.
Playing
Need help or found a bug? Where to report and follow up. Suspected runtime bugs can go directly to WiiCompiled; identify your KartPad build. Use KartPad for app/platform problems or when the cause is unclear.
Frequently asked questions · Controls · Save transfer and troubleshooting
- Choose Mario Kart Wii or Retro Rewind when KartPad opens. Retro Rewind 6.13.5 content installs separately; KartPad requires a matching native profile when the mod updates. Follow your platform's setup guide above.
- Touch controls, motion steering and controllers are available on mobile; Mac also supports keyboard input. Touch layouts can be moved, resized and hidden. See controls and multiplayer.
- On iPhone/iPad, ••• → Return to KartPad Menu pauses the current game. Resume continues it; switching games or applying license edits requires fully closing and reopening the app. See iPhone/iPad setup.
- For save transfer, player identity, display settings or diagnostics, see the support guide and known issues.
Android Original gameplay with a Razer Kishi was accepted on Pixel 9 Pro XL; earlier Android testing confirmed Retro WFC login and worldwide lobby entry on that device. Frame drops, stutter, complete results and reconnect remain open. 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?
On Android, yes: the APK on the releases page is ready to play, and you add your own game data the first time. On iPhone, iPad and Mac, build KartPad with PadMint from your own disc (from 0.7.14; 0.7.9 to 0.7.13 had ready-to-play downloads that won't get updates). See Get KartPad.
Why do I need a new app file? Can't KartPad update automatically inside the app?
An update can change the code KartPad runs, so it needs a new app build. How that build gets installed depends on your platform:
- iPhone and iPad: KartPad can tell you an update is available, but it cannot replace its own signed app. iOS/iPadOS requires executable code to be signed. With KartPad's current distribution, PadMint builds your personal copy from your own disc, then your sideloading tool signs and installs the new IPA. Use the same tool and Apple ID and install over the existing app. Refreshing its signature only keeps the installed version usable; it doesn't upgrade KartPad to a new release.
- Android: you can already update from inside KartPad (from 0.7.14). Tap Update available → Update Now on the game chooser. KartPad downloads and checks the new APK, then opens Android's installation confirmation. The first time, enable Allow from this source for KartPad and return to the app. This updater needs your confirmation; it doesn't silently install releases in the background. You don't need to find the APK yourself.
- Mac: Help → Check for Updates… tells you about new releases. Build the new version with PadMint, quit KartPad and replace the app in Applications. KartPad currently uses personal PadMint builds and has no built-in Mac installer; this is its current update workflow, not a general macOS restriction on automatic updates.
Updating should not mean setting everything up again. Install over your existing copy; don't uninstall or clear its storage. With the same app/signing identity, your saves, settings and imported game data stay. See the Android, iPhone/iPad or Mac guide.
It says "Game Data Import Failed" or asks for a Wii common key. What does that mean?
You selected a disc image (an ISO or WBFS file) instead of the extracted game folder. KartPad can read a disc image only with a key from your own Wii, and it cannot give you one.
On iPhone and iPad the dialog is titled Game Data Import Failed. It tells
you to save your own 16-byte common-key.bin in On My iPhone/iPad →
KartPad, then import the disc image again. From KartPad 0.7.11 it also says
to use Dolphin's Extract Entire Disc. On Android the same choice is titled
Disc Images Need Your Wii's Key, with a Use Extracted Folder… button.
You do not need the key. Use the extracted folder instead:
- On a computer, open Dolphin. Right-click Mario Kart Wii, choose Properties → Filesystem, right-click the disc, and choose Extract Entire Disc.
- Copy the
DATAfolder it makes onto the device. On iPhone or iPad, use AirDrop, a zip you unzip in Files, or a USB drive. On Android, a USB cable or one zip is the reliable way. A folder that is still downloading from iCloud or Google Drive will be missing files. - In KartPad, tap Import Game on the Mario Kart Wii card, then Import
from Extracted Folder… (on Android, Import from Extracted Game Data
Folder…). Pick
DATA.
Only if you already have your own key: on iPhone or iPad, put common-key.bin
in Files → On My iPhone/iPad → KartPad, then import the disc image again.
On Android, choose common-key.bin from the dialog. The extracted folder is
still the easier path. See Your game data.
Dolphin made DATA, UPDATE and CHANNEL folders. Which one do I use?
DATA. You can also pick the folder that contains all three; KartPad finds
DATA inside it.
It says "Ready to play" but the game goes black or crashes on start
Usually some game files didn't copy, often from a cloud drive that hadn't finished downloading. KartPad 0.7.10 and newer check every file and tell you which are missing. Copy the folder again (a USB cable, or one zip file) and import it again. See Android or iPhone/iPad.
PadForge says "KartPad cannot be built for android yet"
PadForge is PadMint's old name. From KartPad 0.7.1, only PadMint can read KartPad's build recipe. Download PadMint and run it instead: it moves your PadForge folder over and reuses the tools it already downloaded.
Are Android and Apple TV supported?
Android targets ARM64/Vulkan on Android 9+. 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?
Retro WFC works with Retro Rewind 6.13.1. KartPad 0.8.0 signed in on a Pixel 9 Pro XL. On the Android emulator, 0.7.15 signed in, joined a worldwide room and raced against other players; the room disconnected twice during a race, and each time the app returned to the menu and could sign in again. It isn't verified on every device or network. Native room hosting and Original Wiimmfi compatibility remain unfinished. See online status and friend-room guidance.
If finding a room fails on mobile data but works on Wi-Fi, your carrier is blocking the direct player-to-player connections the game uses. Use Wi-Fi or a VPN (#405).
Does KartPad support Retro Rewind, and what if it updates?
Yes, with the separately installed 6.13.5 content and matching app build.
Retro Rewind updates often change the mod's game code (Code.pul), as well as
its data. KartPad translates and compiles that code into native code when the
app is built. When the mod's code changes, it needs a new KartPad build;
downloading a new pack or replacing Code.pul alone cannot update the code
already compiled into your app.
On Android and iPhone/iPad, KartPad can download the supported Retro Rewind conten