Skip to content
Adrià edited this page Nov 14, 2026 · 2 revisions

The game

Which game versions work?

1.0.0 and 1.8.0 (1.8.0 from v0.1.9), dumped from your own Switch 2. Each version is a different program that has to be recompiled and patched on its own, so the versions in between are not planned. On 1.8.0, Polish and Thai are also available as game languages. See Installation.

Can you send me the game, its files or keys?

No. Nothing of the game ships with the project, issues asking for it are closed, and please do not post game files.

Can I use my save from an emulator?

Copy it into profile/ in the game folder (back up what is there first), with the same game version that made it: 1.0.0 and 1.8.0 saves have different layouts. Not something we test.

How do I unlock Mirror mode?

On the console: win every Grand Prix cup and every Knockout Tour rally in 150cc, and in Free Roam 10 P-switch missions, 10 ? panels and 10 Peach medallions; then win the Special Cup in 150cc again and Mirror appears after the credits. Or turn on F1 → Hacks → Unlock everything (Mirror included from v0.1.12); it is written into the save.

Playing together

Does local multiplayer work?

Yes, split screen for 2–4 players, with one controller per player (the keyboard is only player 1). See Controls. Two players run at 60 fps, three and four at 30 like the console.

Can I play with other PCs?

On the same local network, yes: turn on F1 → Game → LAN play (LAN = 1) and restart. Wireless Play then becomes LAN Play. Open UDP ports 49152 and 35000 in the firewall; the host starts the race with + (Tab). It only reaches local addresses, never the internet. If it picks the wrong network card, set LAN_IP = <your IPv4>. A VPN such as Tailscale does not work: LAN Play needs a network with a broadcast address.

Online play?

Not planned for now: the priority is a complete, stable game on every GPU.

Platforms and hardware

Steam Deck / SteamOS

It is detected and gets its own defaults (fullscreen, 1280x800, VSync, 720 lines). Add the AppImage as a non-Steam game; once set up, --play in its launch options skips the start screen. AMD's Linux driver notes are in Troubleshooting.

macOS?

No build. Linux on ARM (AArch64) has an AppImage.

Does my CPU need AVX2?

Yes, today. A build without AVX2 is planned, with no date.

What performance can I expect?

Player reports with their frame times are collected in docs/performance.md. Integrated graphics are best at 720 lines (Internal resolution). See also Troubleshooting → Picture and performance.

DLSS, FSR 3/4, XeSS?

They need motion vectors the game does not produce. FSR 1 scaling and frame generation are built in; rebuilding motion vectors is planned for later.

Ultrawide, 32:9, three screens?

Aspect ratio: 21:9, 32:9, 48:9 or Window (any shape wider than 16:9), then restart. Races show more at the sides; menus and HUD keep 16:9. A wider picture draws more pixels: lower the internal resolution if it gets slow. See Settings.

5.1 surround?

F1 → Sound → Speakers: on Automatic the game outputs 5.1 when the playback device has 6 or more channels.

Can I download a shader cache?

No. The setup's warm-up compiles the known pipelines, and each new one is saved and rebuilt at the next start.

Mods

The start screen's Mods page browses and installs mods from GameBanana, or imports a zip, rar, 7z or folder. Mods that change the game's code rebuild the game when turned on or off (a few minutes). Mods are made by other people: if something breaks only with a mod, report it to its author.

The project

Is there a Discord?

No: the time goes to issues and discussions, which are answered daily. The whole repository (code, issues, discussions, releases) is copied every night to the Internet Archive.

Is this an emulator?

No. The game's code is translated into native PC code (a static recompilation) and its graphics are translated to Vulkan; the rest of the console is replaced by native code. The README explains how.

A security scanner flags the project

tools/shaders/shaderc_lib.py has a method named compile that turns GLSL into SPIR-V through libshaderc; it is not Python's compile(). The code is all here to read.

How can I help?

Report bugs with their log (Reporting a bug), add frame times for your GPU, translate the menus (i18n/*.po), or open a pull request.