{"id":137371,"date":"2026-09-28T11:39:30","date_gmt":"2026-09-28T09:39:30","guid":{"rendered":"https:\/\/www.emu-france.com\/?p=137371"},"modified":"2026-09-28T11:39:30","modified_gmt":"2026-09-28T09:39:30","slug":"consoles-de-salon-ruzu-v0-1-1-rc2","status":"publish","type":"post","link":"https:\/\/www.emu-france.com\/?p=137371","title":{"rendered":"[Consoles de salon] Ruzu v0.1.1 RC2"},"content":{"rendered":"<p>Ruzu est un \u00e9mulateur Nintendo Switch \u00e9crit en Rust, d\u00e9velopp\u00e9 comme une exp\u00e9rience visant \u00e0 d\u00e9terminer si l&rsquo;IA, via des mod\u00e8les de langage (LLM), pouvait r\u00e9aliser le portage complet d&rsquo;un projet logiciel de tr\u00e8s grande taille de C++ vers Rust.<br \/>\n&nbsp;<\/p>\n<p>Le projet est bas\u00e9 sur le code de yuzu\/Eden et repr\u00e9sente environ 500 000 lignes de code port\u00e9es exclusivement avec l&rsquo;aide de LLM, sur une p\u00e9riode d&rsquo;environ six mois. L&rsquo;objectif n&rsquo;\u00e9tait pas simplement d&rsquo;obtenir un programme fonctionnel, mais de conserver au maximum la structure du projet original, avec une correspondance entre les fichiers et les diff\u00e9rentes parties du code C++ et Rust.<br \/>\n&nbsp;<br \/>\n<a href=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2026\/09\/ruzu-scaled.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-136634\" src=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2026\/09\/ruzu-scaled.png\" alt=\"\" width=\"477\" height=\"134\" srcset=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2026\/09\/ruzu-scaled.png 2560w, https:\/\/www.emu-france.com\/wp-content\/uploads\/2026\/09\/ruzu-300x84.png 300w, https:\/\/www.emu-france.com\/wp-content\/uploads\/2026\/09\/ruzu-1024x288.png 1024w, https:\/\/www.emu-france.com\/wp-content\/uploads\/2026\/09\/ruzu-768x216.png 768w, https:\/\/www.emu-france.com\/wp-content\/uploads\/2026\/09\/ruzu-1536x432.png 1536w, https:\/\/www.emu-france.com\/wp-content\/uploads\/2026\/09\/ruzu-2048x576.png 2048w\" sizes=\"auto, (max-width: 477px) 100vw, 477px\" \/><\/a><br \/>\n&nbsp;<br \/>\nRuzu int\u00e8gre 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\u00e9e par rdynarmic, un portage Rust de Dynarmic, avec des backends natifs x86-64 et ARM64. Le projet comprend \u00e9galement rxbyak, un portage Rust de Xbyak pour la g\u00e9n\u00e9ration de code machine x86-64.<br \/>\n&nbsp;<br \/>\nL&rsquo;\u00e9mulateur est d\u00e9j\u00e0 capable de d\u00e9marrer et d&rsquo;ex\u00e9cuter des jeux commerciaux, avec l&rsquo;objectif affich\u00e9 d&rsquo;atteindre les performances de l&rsquo;impl\u00e9mentation C++ originale. Le projet reste toutefois en d\u00e9veloppement.<br \/>\n&nbsp;<br \/>\nRuzu dispose \u00e9galement d&rsquo;un frontend graphique ainsi que d&rsquo;un frontend en ligne de commande, et peut \u00eatre compil\u00e9 sous Windows, Linux, macOS et plusieurs syst\u00e8mes BSD.<br \/>\n&nbsp;<br \/>\nLes changements sont:<br \/>\n<em>&#8211; Windows performance: optimized memory-protection updates to search only the affected memory mappings instead of scanning from the beginning of the mapping table. In local Final Fantasy Resonance demo cinematic tests, average performance improved from approximately 16.5 to 29.9 FPS. These were not frame-identical benchmark windows; results depend on the game and hardware, and occasional long frames remain.<br \/>\n&#8211; Graphics compatibility: fixed inline indexed draws, addressing missing text in some game. Preserved interpolation arithmetic in depth-writing shaders to address striped or missing pixels observed in Final Fantasy Resonance.<br \/>\n&#8211; Vulkan stability: corrected query-report cleanup to prevent stale reports from writing into reused guest memory. Fixed resource-destruction ordering and a settings-lock interaction that could cause a deadlock.<br \/>\n&#8211; GPU command handling: improved handling of null buffer bindings and constant-buffer writes, avoiding several GPU-thread panics. Added regression coverage for command arguments split across submissions.<br \/>\n&#8211; Updates from Eden: incorporated further fixes across application and applet management, content handling, networking and SSL, controller handling, and graphics-buffer management.<br \/>\n&#8211; Windows window handling: fixed resizing after restoring a maximized window, without the earlier re-maximize\/restore workaround.<br \/>\n&#8211; Interface: the software keyboard now follows the dark theme. Stop and exit confirmations initially focus Cancel to reduce accidental loss of unsaved progress.<br \/>\n&#8211; Testing and packaging: extended input recording and replay to Windows, including clean automated recording completion. Generic Linux AppImages now have a distinct name from Steam Deck packages.<\/em><br \/>\n&nbsp;<\/p>\n<p class=\"p_telecharger_icone_zip\"><p class=\"p_telecharger_icone_zip\"><a class=\"telecharger_icone_zip\" href=\"https:\/\/www.emu-france.com\/?wpfb_dl=8403\" title=\"Download Ruzu\">T\u00e9l\u00e9charger Ruzu v0.1.1 RC3 (48.7 Mo)<\/a><\/p><\/p>\n<p class=\"p_site_officiel\"><a class=\"site_officiel\" href=\"https:\/\/github.com\/vricosti\/ruzu-emu\" target=\"_blank\" rel=\"noopener\">Site Officiel<\/a><\/p>\n<p class=\"p_en_savoir_plus\"><a class=\"en_savoir_plus\" href=\"https:\/\/www.emu-france.com\/emulateurs\/5-consoles-de-salon\/467-nintendo-switch-console\/\">En savoir plus&#8230;<\/a><\/p>\n<div class=\"fcbkbttn_buttons_block\" id=\"fcbkbttn_left\"><div class=\"fb-share-button  \" data-href=\"https:\/\/www.emu-france.com\/?p=137371\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Ruzu est un \u00e9mulateur Nintendo Switch \u00e9crit en Rust, d\u00e9velopp\u00e9 comme une exp\u00e9rience visant \u00e0 d\u00e9terminer si l&rsquo;IA, via des mod\u00e8les de langage (LLM), pouvait r\u00e9aliser le portage complet d&rsquo;un projet logiciel de tr\u00e8s grande taille de C++ vers Rust. &#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-137371","post","type-post","status-publish","format-standard","hentry","category-par-defaut","uentry","postonpage-1","odd","post-author-Jets"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/pKi2R-zJF","jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/137371","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=137371"}],"version-history":[{"count":1,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/137371\/revisions"}],"predecessor-version":[{"id":137372,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/137371\/revisions\/137372"}],"wp:attachment":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=137371"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=137371"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=137371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}