MKW Recomp on PC

MKW Recomp statically translates Mario Kart World (Switch 2, version 1.0.0) into native x86-64 code with NVN2 reimplemented over Vulkan 1.3 and SM86 shaders compiled to SPIR-V.

  • Latest releasev0.1.8November 11, 2026
  • Target dumpv1.0.0exefs + romfs
  • Graphics APIVulkan 1.3NVN2 + SM86
  • Total downloads19,736477 GitHub stars

Choose your PC package

Direct GitHub Release assets from adriadam10/mkw-recomp (v0.1.8, November 11, 2026).

mkw-recomp v0.1.8 (Windows 10/11 x64)

Recommended. mkw-recomp-0.1.8-windows-x64.zip · 173.2 MB (173,217,767 B)

SHA-256 f2b7387ddc193f93330f153944ee7b01017f2eabb89c5c2745c6d361bae32485
Go-karts banking through a hairpin bend past starting grid markings at Mika Salo CircuitA racing kart streaking past red and white circuit kerbs at speedTwo go-karts rounding an outdoor asphalt corner at Snetterton Circuit
Real-world karting circuits: Mika Salo Circuit, painted apex kerbs, and Snetterton Circuit.

Recompilation, not emulation

Instead of emulating a console CPU at run time, adriadam10/mkw-recomp lifts Switch 2 AArch64 instructions to C compiles native x86-64-v3 binaries on your PC, replaces 1,289 SDK imports by name and translates 11,561 shader programs ahead of time for Windows and Linux.

Ahead-of-time AArch64 to C compilation

Based on the MIT lifter from totk-pc-recomp and extended to ARMv8.1–8.3 atomics; bundled zig 0.17.1 compiles mkwgame.dll / mkwgame.so locally with zero JIT overhead.

NVN2 over Vulkan 1.3 and offline SPIR-V shaders

Reimplements 699 Switch 2 NVN2 functions over Vulkan 1.3 and translates all 11,561 SM86 shader programs offline (~15.5 min on Linux RADV, ~30 min on Windows in v0.1.8).

Optical-flow frame generation and ultrawide

Added in v0.1.8: 2x, 3x and 4x frame generation (Settings > Screen > Frame generation) plus 21:9 and 32:9 race aspect ratios while keeping HUD elements centered at 16:9.

SDL3 local split-screen, gyro and rumble

Added in v0.1.5: up to 4 local players with one controller per player, per-gamepad rumble, 6-axis motion fusion, and automatic controller button glyphs.

A racing kart streaking past red and white circuit kerbs at speed
Sprint kart passing painted apex kerbs

Verify your download locally

Drop a ZIP or AppImage to check its SHA-256 in your browser against all 9 mkw-recomp releases. Nothing leaves your machine.

Waiting for a file or SHA-256 digest.

Measured numbers

Every figure comes from the maintainer’s repository benchmarks, release assets and telemetry traces on real hardware.

11,561

SM86 shader programs translated offline to SPIR-V during Prepare

699

Switch 2 NVN2 graphics functions mapped onto Vulkan 1.3

31–33 ms

Median 720p race frame time on Radeon 660M (Linux Mesa 26.2 RADV)

15.5 min

Full Linux setup time in v0.1.8 (down from 22 min in v0.1.7)

~30 GB

Free disk space required for generated C, object cache and SPIR-V

19,736

GitHub Release downloads across 9 builds since November 9, 2026

Front view of a Valve Steam Deck handheld PC running SteamOS
Steam Deck handheld (SteamOS glibc 2.31+ target)

Release highlights & setup

Everything needed to verify v0.1.8, confirm PC compatibility and finish first-time compilation without guesswork.

What Changed in v0.1.8 (Latest Release)
Frame generationOff, Automatic, 2x, 3x, 4x optical flow (#101)
Ultrawide aspect ratios16:9, window, 21:9 and 32:9 in races (#77, #40)
Intel, Adreno & Arc fixesFixes black 3D races and diagonal menu cuts (#26, #64, #105)
AMD Windows stabilityRace mesh draws run as compute passes to avoid device loss (#88)
Faster Prepare pipeline43% less CPU time in shader compilation; incremental obj cache
Offline Free Roam socketsNetwork sockets answer offline so Free Roam no longer halts (#63)
System Requirements Summary
Operating systemWindows 10/11 x64 or Linux x86_64 (glibc 2.31+, SteamOS)
Processorx86-64 CPU with AVX2 (-march=x86-64-v3)
Graphics cardVulkan 1.3 driver (VK_EXT_mesh_shader optional; compute fallback built in)
Memory & storage16 GB RAM recommended; ~30 GB free disk space
Game dump requiredYour own decrypted Mario Kart World v1.0.0 (exefs/ and romfs/)
Quick Setup Steps
1. Download & check hashmkw-recomp-0.1.8-windows-x64.zip (173.2 MB) or Linux AppImage (153.3 MB)
2. Launch start screenUnpack ZIP and run mkw.exe, or chmod +x and run the AppImage
3. Point at Game filesSelect your dumped v1.0.0 directory containing exefs/ and romfs/
4. Press PrepareCompiles C via bundled zig 0.17.1 and translates shaders (~15–30 min once)
5. Set 30 fps if below 60Settings > Screen > Frame rate > 30 prevents Automatic slow-motion

MKW Recomp uses SDL3 for native gamepad input, gyro steering (motion_fusion.c), per-player rumble and up to 4-player local split-screen. These controllers pair cleanly on Windows 10/11 and Linux:

ControllerBest For in MKW RecompHardware AdvantageLink
GameSir Cyclone 2Drift timing & gyro steeringTMR sticks, Hall linear/microswitch triggers, gyro + 1000 Hz dongleView on Amazon
8BitDo Ultimate 2 WirelessDesktop Windows & SteamOS dockTMR sticks, 2.4 GHz wireless dock, Switch/XInput mode switchView on Amazon
Sony DualSenseBuilt-in gyro & low-latency USB6-axis IMU supported by SDL3 motion fusion + crisp D-padView on Amazon
Xbox Wireless ControllerPlug-and-play local multiplayerNative Windows XInput & Linux xpadneo multi-controller pairingView on Amazon

As an Amazon Associate, this site earns from qualifying purchases.

Common questions

What is MKW Recomp?

MKW Recomp (adriadam10/mkw-recomp, MIT License) is an open-source static recompilation of Mario Kart World (Nintendo Switch 2, version 1.0.0) into a native x86-64 PC executable for Windows and Linux. It translates AArch64 machine code to C ahead of time and maps NVN2 graphics calls to Vulkan 1.3.

Does MKW Recomp include game files, keys, or firmware?

No. Neither the upstream repository nor this reference site contains any Nintendo code, assets, ROMs, keys or firmware. You must supply your own decrypted Mario Kart World version 1.0.0 dump (exefs/ and romfs/) from your own console.

Does version 1.8.0 or newer game updates work?

Not yet. Only base version 1.0.0 is supported today. Later updates such as 1.8.0 compile into different executables and require separate function tables and patches (tracked in GitHub issue #19).

Why does a race run in slow motion below 60 fps?

Mario Kart World targets 60 fps (16.7 ms) and switches to 30 fps (33.3 ms) on console when frames run slower. If your PC cannot hold 60 fps yet, set Settings > Screen > Frame rate > 30; you can then enable Frame generation (2x) in v0.1.8 for a 60 Hz display output.

Why does Prepare download nvdisasm and ptxas on first run?

Translating Switch 2 SM86 shaders requires an encoding table built on your machine from NVIDIA’s nvdisasm and ptxas tools (84 MB on Linux, 126 MB on Windows, verified by pinned SHA-256). They run once during setup even on AMD and Intel GPUs.

Is online multiplayer supported?

No. Network sockets answer as an offline console (fixed in v0.1.8 so Free Roam does not stop). Local split-screen multiplayer for 2 to 4 players on one PC has worked since v0.1.5.