Ruzu est un émulateur Nintendo Switch écrit en Rust, développé comme une expérience visant à déterminer si l’IA, via des modèles de langage (LLM), pouvait réaliser le portage complet d’un projet logiciel de très grande taille de C++ vers Rust.
Le projet est basé sur le code de yuzu/Eden et représente environ 500 000 lignes de code portées exclusivement avec l’aide de LLM, sur une période d’environ six mois. L’objectif n’était pas simplement d’obtenir un programme fonctionnel, mais de conserver au maximum la structure du projet original, avec une correspondance entre les fichiers et les différentes parties du code C++ et Rust.

Ruzu intègre notamment un kernel HLE avec ordonnanceur, fibres, IPC et services, un processeur de commandes GPU, un recompilateur de shaders et un JIT. La recompilation dynamique du code ARM est assurée par rdynarmic, un portage Rust de Dynarmic, avec des backends natifs x86-64 et ARM64. Le projet comprend également rxbyak, un portage Rust de Xbyak pour la génération de code machine x86-64.
L’émulateur est déjà capable de démarrer et d’exécuter des jeux commerciaux, avec l’objectif affiché d’atteindre les performances de l’implémentation C++ originale. Le projet reste toutefois en développement.
Ruzu dispose également d’un frontend graphique ainsi que d’un frontend en ligne de commande, et peut être compilé sous Windows, Linux, macOS et plusieurs systèmes BSD.
Les changements sont:
– macOS shortcuts: create a game launcher on your Desktop or in your user Applications folder, with the game’s icon and an optional fullscreen launch.
– Linux shortcuts: newly created desktop launchers now receive executable permissions.
– macOS stability: added a safeguard against a GTK focus crash when refreshing or hiding the game library.
– Runtime and settings: improved service wiring, wait cancellation synchronization, and RTC offset handling.
– The previous release, v0.0.1, has been removed due to a nasty bug in the emulated clock. Please use v0.0.2 instead.
–This release fixes the clock issue and addresses several problems with saving settings.
— If you previously ran v0.0.1, close Ruzu and delete the following files from your Ruzu data directory to reset the persisted clock state:
____ nand/system/save/8000000000000050/settings.dat
____ nand/system/save/8000000000000052/settings.dat
— Ruzu will recreate these files automatically. This resets emulated system settings, including clock data, but does not delete your game saves. If you use a custom NAND location, look for these files there.
















