📈 GH Trending Explorer 🎲 Surprise me

← all repos

scarletnx / ScarletNX

git clone https://github.com/scarletnx/ScarletNX.git

ARM64 Recompiler

+11
stars, 24h · #3,104
+~49
stars, 7 days · #4,064
+215
stars, 30 days · #3,681
215
★ total · +30% this week
30
forks · 87 open issues

Star history (as recorded here)

2026-10-20 · 194 ★ 2026-10-23 · 215 ★
LanguageC
LicenseGPL-3.0
Created2026-10-11 (13d ago)
Last pushtoday
Watchers2
OwnerOrganization

GitHub topics

Links

README excerpt
# ScarletNX
 Wimsy, the ScarletNX mascot 
Discord: https://discord.gg/tRTRXXbyjp (my god why don't we just use IRC like good people?)
A GPLv3 static ARM64 to x86 recompiler with a Switch translation layer for Linux, Windows, FreeBSD and Android.
## Quick start
Each push to `main` that builds everywhere becomes a nightly in scarletnx/nightly, the newest 30
kept, with each open pull request's builds. The latest:
ScarletNX-linux-x86_64.AppImage and
ScarletNX-linux-aarch64.AppImage for Linux (`chmod +x` it first;
ScarletNX-linux-ppc64le.AppImage,
ScarletNX-linux-riscv64.AppImage and
ScarletNX-linux-loongarch64.AppImage are
cross-built for PowerPC64 LE, RISC-V and LoongArch, when their jobs built.
ScarletNX-linux-ppc64.AppImage, for
PowerPC64 BE, runs Linux AArch64 programs only),
ScarletNX-windows-x86_64.zip for Windows (run `bin\scarletnx.exe`)
and ScarletNX-android-universal.apk (Android).
Games need a Vulkan 1.3 driver.
Keys and games must be dumped from your own console. Started with no arguments, the program opens the
launcher. **Setup device keys** installs your `prod.keys`. For NSPs, also put `title.keys` in
`~/.switch` (`%USERPROFILE%\.switch` on Windows). **Load Switch NSP/XCI/NRO** then picks a dump, extracts and
recompiles it and starts the game, which the **Games** tab lists from then on. See Usage for the
command line and Folders for where games, saves and settings go.
The shared ARM64 recompiler lives under `src/common/`. Switch Horizon HLE
and Maxwell graphics live under `src/nx/`. The CPU-only Linux AArch64 runtime lives
under `src/gnuabi/` and builds without the Switch graphics or media dependencies:
 [code] 
It runs static and dynamically linked programs, which start other processes, talk
through pipes and read and write files through a sysroot, as QEMU's `-L` gives one
(`linux/` of the data folder by default). See Linux ABI execution and QEMU validation
for the sysroot, the JIT and AOT modes, supported syscalls, and current limits. The NX executable is
also installed as `scarletnx-switch`.
The recompiler is also a library on its own, `libscarletnx-recompiler`: a program hands
it ARM64 or AArch32 code in memory and runs the result in its own process with its own
SVC handler, with no Switch runtime behind it. See
The recompiler as a library.
Install the build tools first. On Debian/Ubuntu:
 [code] 
If your distribution provides `libsdl3-dev`, install it too. Otherwise CMake builds a pinned SDL3
using the X11 and audio development packages above. SDL2 is not a substitute for SDL3. You also
need a Vulkan 1.3 driver to run games. See Build prerequisites for
Wayland, other systems, and the SDL3 troubleshooting steps.
Then build:
 [code] 
For encrypted dumps, put `prod.keys` (and `title.keys`, for NSPs) in `~/.switch`, or pass them with
`--keys` and `--title-keys`. Decrypted DNSP/DXCI content needs no keys.
 [code] 
Run the same command again after an interruption. Completed extraction and recompilation are skipped,
but the game always st