IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Ryujinx, un projet qui se présente comme un simple émulateur expérimental de la Nintendo Switch écrit en C#,
Permet aux utilisateurs de jouer à plus de 3000 jeux sur Windows, macOS et Linux

Le , par Olivier Famien

52PARTAGES

5  0 
Lorsque vous voulez jouer à des jeux vidéo d’une plateforme dédiée, il est impératif d’investir dans l’achat du matériel qui soutient cette plateforme. Toutefois, un des moyens privilégiés par certains utilisateurs utilisant une plateforme différente et qui ne veulent pas mettre la main à la poche est de se tourner vers les émulateurs. Pour ce qui concerne la console Nintendo Switch, plusieurs émulateurs des jeux de cette console sont déjà disponibles pour les utilisateurs de PC. Parmi ces émulateurs, nous avons Ryujinx qui est un émulateur open source disponible depuis 2017. En général, les développeurs des émulateurs préfèrent coder ce type de plateforme en C ou C++ pour des raisons évidentes de performance. Mais pour Ryujinx, l’équipe en charge du projet a porté son dévolu sur le langage C# pour sa mise en œuvre.

Ryujinx est un émulateur Nintendo Switch open source, créé par gdkchan, écrit en C#. Selon ses concepteurs, il vise à fournir une excellente précision et des performances, une interface conviviale et des versions cohérentes. Sur la page officielle du site, on peut lire qu’il est présenté comme un émulateur Nintendo Switch simple et expérimental. Toutefois au vu de ce qu’il est capable de faire, il s’avère de très loin être plus qu’un simple émulateur expérimental. En avril dernier, Ryujinx a été testé sur environ 4 ;050 titres et parmi ceux-ci environ 3 ;400 ont été considérés comme jouables. Pour exécuter cet émulateur, votre PC doit être équipé de la configuration suivante :

  • Au moins 8 Go de RAM ;;
  • une carte vidéo/GPU qui prend en charge OpenGL 4.5 ou supérieur, ou Vulkan ;;
  • vos clés Switch et soit votre firmware sous-évalué ou jeu récent cartouche non parée XCI ;;
  • vos jeux Nintendo Switch ou homebrew ;;
  • un système d’exploitation 64 bits ;;
  • des dépendances spécifiques au système d’exploitation installée.

Concernant les dépendances liées au système d’exploitation utilisé, nous avons les spécifications suivantes :

Windows

Windows 10 RS4 (Redstone 4, version 1803) ou plus récente est nécessaire. Les pilotes graphiques doivent être à jour. Sur les ordinateurs portables avec 2 cartes graphiques différentes, les pilotes iGPU et dGPU doivent être mis à jour.

Linux
Copiez la commande dans votre émulateur de terminal de choix et exécutez-la.

Distributions basées sur archlinux : sudo pacman -S sdl2 openal

Distributions basées sur Ubuntu : sudo apt-get install libsdl2-2.0 libsdl2-dev libalut-dev

Fedora: sudo dnf install SDL2-devel openal-soft

macOS
Depuis le mois de novembre de l’année dernière, l’équipe de Ryujinx a réussi à concevoir une version de l’émulateur pour les macOS ARM. Aussi, vu que les ordinateurs ARM d’Apple partagent la même architecture que celle des Nintendo Switch, l’équipe de Ryujinx explique que cette étape marque un tournant décisif, car ces appareils pourraient permettre une émulation plus proche d’un port natif que la plupart des PC de jeu. Pour utiliser l’émulateur avec des ordinateurs ARM d’Apple, il faut disposer de macOS 12 « ;Monterey ;», macOS 13 « ;Ventura ;» ou une version supérieure. À ce jour, l’équipe de Ryujinx revendique que leur émulateur est premier et le seul émulateur Nintendo Switch compatible macOS.


Du côté des caractéristiques de l’émulateur, l’on peut retenir les points suivants :

Audio
Ryujinx prend entièrement en charge la sortie audio. Cependant, la saisie audio par microphone n’est pas prise en charge. L’équipe de Ryujinx déclare qu’elle utilise des wrappers C# pour OpenAL, et SDL2 & libsoundio comme des replis.

Processeur CPU
L’émulateur CPU, ARMeilleure, émule un processeur ARMv8 et prend actuellement en charge la plupart des ARMv8 64 bits et certaines des instructions ARMv7 (et plus anciennes), y compris la prise en charge partielle 32 bits. Il traduit le code ARM en un IR personnalisé, effectue quelques optimisations et le transforme en code x86. Il existe trois options de gestionnaire de mémoire disponibles selon les préférences de l’utilisateur, tirant parti à la fois des modes logiciel (plus lent) et hôte (beaucoup plus rapide). L’option la plus rapide (host, non cochée) est définie par défaut. Ryujinx dispose également d’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 charge (le temps entre le lancement d’un jeu et l’arrivée à l’écran de titre) pour presque tous les jeux. À noter que cette fonctionnalité est activée par défaut dans l’onglet Système > Options. Vous devez lancer le jeu au moins deux fois sur l’écran de titre ou au-delà avant que les améliorations de performances ne soient déverrouillées lors du troisième lancement ;! Ces améliorations sont permanentes et ne nécessitent aucun lancement supplémentaire à l’avenir.

Processeur GPU
L’émulateur GPU émule la GPU Maxwell de Switch en utilisant les API OpenGL (version 4.5 minimum), Vulkan ou Metal (via MoltenVK) via une version personnalisée d’OpenTK ou Silk.NET respectivement. L’utilisateur final dispose actuellement de six améliorations graphiques dans Ryujinx et qui sont notamment : la mise en cache des disquettes, la mise à l’échelle de résolution, l’antialiasing, les filtres de mise à l’échelle (y compris FSR), le filtrage anisotrope et l’ajustement du rapport hauteur/largeur. Ces améliorations peuvent être ajustées ou basculées comme souhaité dans l’interface graphique.

Les entrées
L’émulateur Ryujinx prend en charge le clavier, la souris, l’entrée tactile, le JoyCon et presque tous les contrôleurs. Les commandes de mouvement sont prises en charge nativement dans la plupart des cas. Pour la prise en charge de 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.

DLC et modifications
Ryujinx est capable de gérer le contenu complémentaire/contenu téléchargeable via l’interface graphique. Les mods (ronfs, exefs et mods d’exécution tels que les cheats) sont également pris en charge. L’interface graphique contient un raccourci pour ouvrir le dossier des mods respectifs pour un jeu particulier.

Configuration
L’émulateur a des paramètres pour activer ou désactiver certains contrôleurs de journalisation, de remappage, etc. Vous pouvez tous les configurer via l’interface graphique ou manuellement via le fichier de configuration Config.json qui se trouve dans le dossier utilisateur accessible en cliquant sur Open Ryujinx Folder sous le menu Fichier de l’interface graphique.

Bien évidemment, une des questions qui vient immédiatement à l’esprit lorsqu’on aborde le sujet des émulateurs est son utilisation légale. En principe, vous devriez pouvoir télécharger et utiliser des émulateurs en toute légalité, car techniquement vous ne faites rien d’illégal. Cependant, le partage de ROMs protégées par des droits d’auteur est illégal. Pour certaines personnes toutefois, il semble que la seule utilisation d’un tel émulateur de la Nintendo Switch soit de jouer à des jeux piratés. Birracerva, un utilisateur de l’émulateur, répond en affirmant qu’il n’en est rien. Pour lui, l’émulateur est également utilisé pour jouer à des jeux Nintendo Switch sans utiliser une Nintendo Switch, qui est une console de 2017 avec du matériel datant de 2012. Il déclare qu’il a même déjà acheté une copie physique de Zelda Tears of the Kingdom, mais trouve qu’il serait plus à l’aise de jouer à ce jeu sur son PC que sur la console.

Source : Ryujinx

Et vous ?

Utilisez-vous un émulateur de Nintendo Switch ;? Lesquels ;? Et pourquoi ;?

Avez-vous testé Ryujinx, qu’en pensez-vous ;?

Selon vous, quelles sont les fonctionnalités qui permettraient à cet émulateur de satisfaire davantage les utilisateurs ;?

Malgré la légalité reconnue aux émulateurs, quel est votre avis personnel sur le sujet ;? Bon ? Mauvais ;?

Voir aussi

Gaming : un émulateur Nintendo Switch en cours de développement. Yuzu sera disponible sur Windows, macOS et Linux
AMS : un émulateur basé sur un projet open source permettant de profiter des vieux jeux Mac et des applis Mac classiques sans ROM Apple
Les développeurs d'un émulateur WiiU reçoivent 24 000 dollars par mois pour leur travail, leur Patreon grimpe depuis la sortie de Zelda

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de archqt
Membre émérite https://www.developpez.com
Le 29/05/2023 à 21:15
Il est dit que l'émulateur transforme le code ARM en son équivalent x86, donc c'est bien du code x86 généré qui est exécuté et non du code compilé venant du C# de l'émulateur. Ce qui explique que celui-ci tourne bien.

Car en fonction du programme (un mandelbrot par exemple tourne 4x plus vite d'après les benchmark que celui fait en C#) on ne verra pas forcément de grosses différences entre C++ et C# mais quoi qu'il arrive (si bien fait) le C++ sera plus rapide.
2  0 
Avatar de 23JFK
Membre expert https://www.developpez.com
Le 29/05/2023 à 3:33
Citation Envoyé par driskiou Voir le message
...
Faudrait tenir compte du hardware nécessaire. Sur une config limite, C++ doit donner de meilleurs résultats que C#.
2  1 
Avatar de sphynxounet
Membre averti https://www.developpez.com
Le 29/05/2023 à 13:48
Citation Envoyé par Olivier Famien Voir le message

Utilisez-vous un émulateur de Nintendo Switch ;? Lesquels ;? Et pourquoi ;? /
Avez-vous testé Ryujinx, qu’en pensez-vous ;?
Ayant Ryujinx et Yuzu, je donnerais une petite préférence à Ryujinx : globalement ils font la même chose mais l'IHM, les menus et les options sont, de mon point de vue, un peu plus pratiques. Par exemple il y a une applet pour créer un profil pour Mario Kart, chose plus complexe à faire avec Yuzu.

Comme dit dans l'article il y a pas mal d'améliorations graphiques. Même si cela ne se voit pas forcément en jouant, si vous avez un écran 4K (voir même 2K) et que vous changez pendant un jeu la résolution, vous pourrez voir la différence au niveau des détails. Pareil le FSR apporte un petit plus graphique.

Non abordé dans l'article, il y a aussi la possibilité de jouer en réseau avec des personnes qui ont le même émulateur.

Citation Envoyé par Olivier Famien Voir le message

Selon vous, quelles sont les fonctionnalités qui permettraient à cet émulateur de satisfaire davantage les utilisateurs ;?
Que cela soit plus simple pour dumper les jeux, sauvegardes, ... L'émulation des consoles de jeu reste cantonné au monde des informaticiens un peu bidouilleurs.

Citation Envoyé par Olivier Famien Voir le message

Malgré la légalité reconnue aux émulateurs, quel est votre avis personnel sur le sujet ;? Bon ? Mauvais ;?
Concernant la switch, pour en profiter d'une console qui ne soit pas trop larguée graphiquement par rapport aux dernières consoles Sony et Microsoft, un joueur devrait avoir une switch, les jeux, installer tout ce qu'il faut sur sa switch pour dumper les jeux (et donc avoir quelques connaissances informatiques et un peu de patience), et enfin un bon PC (j'ai une 1080 ti et ça passe tranquille).
Après si les ventes de la switch ne baissent pas de manière catastrophique, il n'y a pas de raison que Nintendo s'amuse à sortir une "Switch Pro".

Sinon pour le reste cela dépend un peu. Déjà l'émulation ce n'est pas uniquement la copie illégale de jeu, c'est aussi des développeurs qui créent des petites applications indépendantes pour pouvoir faire d'autres choses sur les consoles (player multimédia par exemple). Il y a aussi toute l'émulation des anciennes consoles et jeux. C'est gentil de ressortir des vieilles consoles émulées, mais quand c'est limité avec un certain nombre de jeux c'est moyen (et c'est même pas pensé pour que ça juste un peu évolutif). Y a bien des tentatives aussi avec des applis comme Magadrive Classics (ou un truc comme ça) dispo au moins sur Steam mais quand on voit le prix des anciens jeux ...
1  0 
Avatar de driskiou
Futur Membre du Club https://www.developpez.com
Le 29/05/2023 à 6:02
Citation Envoyé par 23JFK Voir le message
Faudrait tenir compte du hardware nécessaire. Sur une config limite, C++ doit donner de meilleurs résultats que C#.
C'est certain que le C++ sera plus rapide à l'exécution. Mais le logiciel tourne exclusivement sur pc avec windows 10 minimum. Il n a aucun problème concernant le hardware pour utiliser des langages plus simples. C'est ce que montre cet emulateur de la switch.
Moi je parle en temps de développement, il est plus rapide de développer en C# ou en python qu'en C++.
C'est une hérésie sur le plan économique de choisir des outils de production moins productifs.
Et sur le plan du code du travail, l'employeur est tenu de tenir les outils de production à jour afin de faciliter le travail des employés.
Je travaille tous les jours en c++20, je connais très bien C# et Python. La productivité de ses langages n'est pas la même.
2  2 
Avatar de shenron666
Expert confirmé https://www.developpez.com
Le 05/06/2023 à 13:40
L'émulateur est certes écrit en C# mais repose sur l'utilisation de bibliothèques tierces qui elles sont écrites dans un langage supposé plus performant ou en tout cas optimisée.
Il n'est pas rentable d'optimiser 100% du code, il faut avant tout se focaliser sur les parties appelées le plus fréquemment, le gain est immédiat.
Ici ils optimisent le temps d'exécution en convertissant en code natif x86 et mettent en cache le résultat.
0  0 
Avatar de driskiou
Futur Membre du Club https://www.developpez.com
Le 28/05/2023 à 17:18
J'ai essayé l'emulateur et quand je pense qu'au travail on fait un logiciel moins impressionnant que celui-ci. Et que le CTO, nous impose le c++ car il croit encore que le C# ou le python sont trop lents pour faire un logiciel. Que de temps perdu.
Je ne vois aucune différence entre Ryujinx écrit en C# et Yuzu écrit en C++ quand je les utilise. Pourtant ils font la même chose.
2  4