Developer says LLMs ported 500,000 lines of Switch emulator code to Rust
A new experimental project called Ruzu claims frontier language models carried most of a huge C++ emulator codebase into Rust, and it boots real games.
AI-drafted from 5 sources. This story was written with AI from the outside reporting listed under Sources, and checked by automated tools before it went up. The originals have the full detail.
A developer going by vricosti has published Ruzu, an experimental Nintendo Switch emulator written in Rust, and the point of the project is not really the emulator. It is the claim, made in the project's own documentation, that large language models did almost all of the porting work: roughly 500,000 lines of C++ from the yuzu and Eden codebases, carried across in about six months, at a cost the author puts at around the price of two Switch consoles. According to the project's GitHub page, the result boots and runs commercial titles and reaches performance comparable to the C++ original.
That is a striking claim for anyone who has tried to hand translate a large C++ codebase into Rust. Switch emulation involves a high level emulation kernel with schedulers, fibers and inter-process communication, a GPU command processor, a shader recompiler and a JIT compiler, all built on C++ idioms that Rust does not map onto cleanly: inheritance hierarchies, raw pointer graphs, shared_ptr reference cycles, strict destructor ordering. Get one of those wrong in a JIT and there is no helpful stack trace. There is a black screen.
Why the CLAUDE.md file matters more than the code
The interesting artefact here, by the author's own account, is a file called CLAUDE.md, which sets out the rules the port had to follow. The Rust file tree mirrors the original C++ directory structure. Methods stay in the file their C++ counterpart lived in. Constants sit next to the code that owns them. Lifecycle order is preserved literally, so a maintainer looking at any given Rust file can work out which C++ file it corresponds to and what is still missing. That is a deliberate constraint: the goal was never just that it works, but structural parity with the source, which is a harder and more checkable target.
The port did not stop at the emulator core. Getting it running meant porting dependencies too, including rxbyak, a Rust version of the Xbyak x86-64 assembler, and rdynarmic, a port of the dynarmic ARM recompiler used by Eden and yuzu. The author says rdynarmic's ARM32 and ARM64 translation was checked by differential fuzzing against the original C++ dynarmic, feeding identical instruction encodings to both implementations and comparing register and flag state, which is a more convincing test than simply watching a game boot. To have something legally reproducible to test against, the project also produced FreeBrick, an open source brick breaker built with homebrew tools, which needs no keys or firmware to run.
What is still unverified
The compatibility report attached to the project lists clean builds across a long run of Linux distributions and several BSDs, plus a macOS build that is implemented but not yet validated on real hardware. That suggests genuine engineering effort behind the scenes, even if the LLM authored claim cannot be independently checked by a reader. Worth noting: the GitHub repository shows three contributors, one open issue, and no stars or forks yet, so this is a very early, small effort rather than an established rival to Eden or Ryujinx. There is also a pointed detail in the project's own readme: Eden, the emulator this one descends from, explicitly forbids the use of LLMs in its own development, an irony not lost on commenters in the r/emulation thread discussing the release.
None of the performance figures, the line count, or the faithfulness claim have been independently benchmarked or verified against real hardware behaviour. What Ruzu does offer, whatever happens to the emulator itself, is a documented, inspectable case study of an LLM attempting a genuinely large and stateful systems port, with the rules it was made to follow written down for anyone to read.
Sources
- Ruzu is a Nintendo Switch emulator using LLM (GitHub)
- Discussion: Ruzu is a Nintendo Switch emulator using LLM (Reddit)
- UAE4ALL2 HD — A new high-performance Amiga emulator for Nintendo Switch (r/SwitchHacks)
- Undertale Yellow ported to Nintendo Switch! (r/SwitchHacks)
- [Homebrew] I turned NX Torrent Player into the Ultimate Stremio Client, Debrid Streamer, P2P Torrent Player & Offline Downloader for Nintendo Switch! (r/SwitchHacks)
Image: GitHub