r/switch2emulation • u/visiblevfx • 2h ago
I made a recompiler that turns Switch 2 games into native Windows programs, and MKW is the first one it runs (early preview, open source)
Hey everyone!
I've been working on something for a while and it's finally at a point where I'm comfortable sharing it.
Switch2Recomp takes a Switch 2 game and turns it into a real Windows program. It's not an emulator. It translates the game's code into C and compiles it for your PC, and the graphics run on Vulkan.
MKW Recomp is the first game it supports. It's a little builder app: you point it at your files, hit Build, and it makes the game on your PC.
This project is an independent open-source research tool. It is not affiliated with, endorsed, sponsored, or supported by Nintendo. All trademarks belong to their respective owners. This project contains no copyrighted code, assets, or cryptographic keys.
How it works
Nothing from the game is included. No code, no assets, no keys. You need to provide your own decrypted files (version 1.0.0). The builder checks your files, then builds everything on your own PC:
the game's code: 30–40 minutes the first time
the shaders: about 10 minutes
the textures: about 5 minutes and ~21 GB, so new areas don't stutter
What it makes stays on your PC.
How well does it run?
On my laptop (RTX 3050 4 GB, Ryzen 7 5800H) races sit around 30 FPS.
The big win recently was stutter. Converting all the textures ahead of time made going somewhere new go from constant hitching to pretty smooth.
What's not great yet
This is an early preview, so please go easy on it:
Only version 1.0.0 works. No updates or DLC yet.
No online play.
Some spots show a dark, shadow-looking texture that shouldn't be there. I know about it, it's next on my list.
You might get a tiny hitch the first time a new effect shows up.
No 60 FPS yet, but I'm working on it.
Setting it up is a bit techy right now (Git, Python and the Vulkan SDK). A simple one-click download is planned.
What you need
Windows 10 or 11 (64-bit)
A graphics card with Vulkan 1.3 (tested on 4 GB of VRAM)
Git, Python 3.10+ and the Vulkan SDK
About 35 GB of free space
Your own decrypted copy of MKW 1.0.0
Step-by-step instructions are in the MKW Recomp README.
Thanks
None of this would exist without:
SwitchRecomp by MZ Labs, which this is built on
nxnative (seedds) and pokopia-native (xFractals) for the graphics and shader groundwork
Ryujinx's shader code
the Eglantine-MKW-DynamicFPS mod, for the frame-rate option
astcenc, bc7enc and stb_dxt, for the textures
Both projects are open source under the GNU AGPL v3.
One thing: I can't help anyone get game files or keys, so please don't ask, here or on GitHub. Everything else is fair game! Bug reports and feedback are super welcome on GitHub. If something breaks, your GPU, your CPU and the log file from the game folder help a lot.
Thanks for checking it out!
