Ryujinx est un émulateur Nintendo Switch open source, créé par gdkchan, écrit en C#. Cet émulateur vise à fournir une précision et des performances excellentes, une interface conviviale et des versions cohérentes. Il a été écrit à partir de zéro et le développement du projet a commencé en septembre 2017. Ryujinx est disponible sur Github sous la licence MIT.
En mai 2024, Ryujinx avait été testé sur environ 4 300 titres ; plus de 4 100 menus de démarrage et de jeu, dont environ 3 550 sont considérés comme jouables.
Vous pouvez consulter la liste de compatibilité ici.
N'importe qui est libre de soumettre un nouveau test de jeu ou de mettre à jour une entrée de test de jeu existante ; suivez simplement le nouveau modèle de problème et les directives de test, ou publiez en réponse au problème de jeu concerné. Utilisez la fonction de recherche pour voir si un jeu a déjà été testé !
Pour exécuter cet émulateur, votre PC doit être équipé d'au moins 8 Go de RAM ; ne pas répondre à cette exigence peut entraîner une mauvaise expérience de jeu ou des plantages inattendus.
Consultez notre guide d'installation et de configuration pour savoir comment configurer l'émulateur.
Pour nos versions Local Wireless (LDN), consultez notre Guide Multijoueur : Lecture locale/Local Wireless.
L'interface utilisateur d'Avalonia est livrée avec des traductions pour différentes langues. Voir Crowdin pour plus d'informations.
Ces builds sont compilés automatiquement pour chaque commit sur la branche master. Bien que nous nous efforcions d'assurer une stabilité et des performances optimales avant de publier une mise à jour, nos versions automatisées peuvent être instables ou complètement interrompues .
La dernière version automatique pour Windows, macOS et Linux est disponible sur les versions Github.
Si vous envisagez de contribuer ou souhaitez simplement en savoir plus sur ce projet, veuillez lire notre documentation.
Si vous souhaitez créer l'émulateur vous-même, suivez ces étapes :
Installez le SDK .NET 8.0 (ou supérieur). Assurez-vous que la version de votre SDK est supérieure ou égale à la version requise spécifiée dans global.json.
Utilisez soit git clone https://github.com/Ryujinx/Ryujinx
sur la ligne de commande pour cloner le référentiel, soit utilisez le bouton Code --> Télécharger zip pour obtenir les fichiers.
Pour construire Ryujinx, ouvrez une invite de commande dans le répertoire du projet. Vous pouvez y accéder rapidement sous Windows en maintenant la touche Maj enfoncée dans l'Explorateur de fichiers, puis en cliquant avec le bouton droit et en sélectionnant Open command window here
. Tapez ensuite la commande suivante : dotnet build -c Release -o build
les fichiers construits se trouveront dans le répertoire de construction nouvellement créé.
Les fichiers système Ryujinx sont stockés dans le dossier Ryujinx
. Ce dossier se trouve dans le dossier utilisateur, accessible en cliquant sur Open Ryujinx Folder
dans le menu Fichier de l'interface graphique.
Audio
La sortie audio est entièrement prise en charge, l'entrée audio (microphone) n'est pas prise en charge. Nous utilisons des wrappers C# pour OpenAL, SDL2 et libsoundio comme solutions de secours.
Processeur
L'émulateur de processeur, ARMeilleure, émule un processeur ARMv8 et prend actuellement en charge la plupart des instructions ARMv8 64 bits et certaines instructions ARMv7 (et versions antérieures), y compris une prise en charge partielle 32 bits. Il traduit le code ARM en un IR personnalisé, effectue quelques optimisations et le transforme en code x86. Trois options de gestion de mémoire sont disponibles en fonction des préférences de l'utilisateur, exploitant à la fois les modes logiciel (plus lent) et mappé par l'hôte (beaucoup plus rapide). L'option la plus rapide (hôte, non cochée) est définie par défaut. Ryujinx propose également un cache de traduction persistant profilé en option, qui met essentiellement en cache les fonctions traduites afin qu'elles n'aient pas besoin d'être traduites à chaque chargement du jeu. Le résultat net est une réduction significative des temps de chargement (le temps entre le lancement d’un jeu et l’arrivée à l’écran titre) pour presque tous les jeux. REMARQUE : Cette fonctionnalité est activée par défaut dans le menu Options > onglet Système. Vous devez lancer le jeu au moins deux fois jusqu'à l'écran titre ou au-delà avant que les améliorations de performances ne soient débloquées au troisième lancement ! Ces améliorations sont permanentes et ne nécessitent aucun lancement supplémentaire à l’avenir.
GPU
L'émulateur GPU émule le GPU Maxwell du Switch en utilisant les API OpenGL (version 4.5 minimum), Vulkan ou Metal (via MoltenVK) via une version personnalisée d'OpenTK ou de Silk.NET respectivement. Il existe actuellement six améliorations graphiques disponibles pour l'utilisateur final dans Ryujinx : mise en cache du shader de disque, mise à l'échelle de la résolution, anticrénelage, filtres de mise à l'échelle (y compris FSR), filtrage anisotrope et réglage du rapport d'aspect. Ces améliorations peuvent être ajustées ou activées à votre guise dans l'interface graphique.
Saisir
Nous prenons actuellement en charge le clavier, la souris, la saisie tactile, la prise en charge de la saisie JoyCon et presque tous les contrôleurs. Les commandes de mouvement sont nativement prises en charge dans la plupart des cas ; pour la prise en charge du mouvement double JoyCon, DS4Windows ou BetterJoy sont actuellement requis. Dans tous les scénarios, vous pouvez tout configurer dans le menu de configuration des entrées.
Contenu téléchargeable et modifications
Ryujinx est capable de gérer le contenu complémentaire/contenu téléchargeable via l'interface graphique. Les mods (romfs, exefs et mods d'exécution tels que les astuces) sont également pris en charge ; l'interface graphique contient un raccourci pour ouvrir le dossier mods respectif pour un jeu particulier.
Configuration
L'émulateur dispose de paramètres permettant d'activer ou de désactiver certaines journaux, de remapper les contrôleurs, etc. Vous pouvez tous les configurer via l'interface graphique ou manuellement via le fichier de configuration, Config.json
, trouvé dans le dossier utilisateur accessible en cliquant sur Open Ryujinx Folder
dans le menu Fichier de l'interface graphique.
Tous les développeurs travaillant sur le projet le font pendant leur temps libre, mais le projet entraîne plusieurs dépenses :
Tous les fonds reçus via Patreon sont considérés comme un don pour soutenir le projet. Les clients bénéficient d'un accès anticipé aux rapports d'avancement et d'un accès exclusif aux entretiens avec les développeurs.
Ce logiciel est sous licence selon les termes de la licence MIT. Ce projet utilise le code créé par le projet libvpx, sous licence BSD et le projet ffmpeg, sous licence LGPLv3. Voir LICENSE.txt et THIRDPARTY.md pour plus de détails.