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

57PARTAGES

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 Mat.M
Expert éminent sénior https://www.developpez.com
Le 10/11/2024 à 20:02
Citation Envoyé par shenron666 Voir le message

ça fait penser à la "méthode chinoise": on laisse la concurrence faire la r&d et essuyer les plâtres du lancement, et si le produit fonctionne alors on le copie et on vend la contrefaçon
d'une part ce n'est pas spécifique aux grandes entreprises chinoises.
Un géant de la tech comme Microsoft ne s'est pas privé pour faire pareil...
et d'autre part cette logique est un peu dépassée car que font les géants de la tech lorsqu'une start-up est capable de faire de la r&d et des produits innovants : tout simplement ils la rachètent.
2  0 
Avatar de 23JFK
Inactif 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 MechaAlex
Membre à l'essai https://www.developpez.com
Le 09/11/2024 à 20:57
En tant que développeur, je peux en quelque sorte comprendre la réflexion de Nintendo. Mais d'un autre côté, l'émulation sert aussi à préserver les vieux jeux qui, autrement, seraient inaccessibles. Donc, interdire systématiquement tous les émulateurs n'est peut-être pas la bonne solution.
1  0 
Avatar de shenron666
Expert confirmé https://www.developpez.com
Le 10/11/2024 à 17:45
L'émulation n'est pas le problème, pour preuve nombre d'émulateurs existent y compris pour des plateformes récentes : WiiU, PS3, 3DS
Le problème ou plutôt les problèmes sont : la médiatisation et l'engouement qui font que certains émulateurs gagnent trop en visibilité grand public
et surtout la monétisation, ceux qui se servent de l'émulateur pour se faire de l'argent, et donc sur le dos des fabricants qui dépensent de l'argent pour sortir leurs produits

ça fait penser à la "méthode chinoise": on laisse la concurrence faire la r&d et essuyer les plâtres du lancement, et si le produit fonctionne alors on le copie et on vend la contrefaçon
1  0 
Avatar de driskiou
Membre à l'essai 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 Ryu2000
Membre extrêmement actif https://www.developpez.com
Le 02/10/2024 à 15:59
Citation Envoyé par Mathis Lucas Voir le message
Que pensez-vous de la bataille menée par Nintendo contre les émulateurs ?
Dans le monde de l'émulation la plupart des sites respectent une certaine éthique.
Quand une plateforme est trop récente ces sites ne proposent pas d'émulateur ni de rom ou d'iso. (c'est considéré comme du warez)
À une époque la Wii était sortie, les sites ne proposaient pas de roms Nintendo 64.
La PS3 était sortie, les sites ne proposaient pas de roms Playstation 1.

Là ça parle d'un émulateur Nintendo Switch, donc on comprend que Nintendo essaie de lutter contre.
Tant que Nintendo tolère les émulateurs NES, SNES, Virtual Boy, GBC, GBA, N64, tout va bien.
Je pense même que l'émulation Game Cube et Wii doit être toléré aujourd'hui.

=============
Les émulateurs Nintendo sont très populaire sur les plateformes comme sur le Steam Deck (qui sont des copies de la Switch, comme d'habitude niveau propose quelque chose et ça devient un standard de l'industrie).
Voir des émulateurs Switch sur la Steam Deck, ça ne doit pas faire plaisir à Nintendo.
0  0 
Avatar de driskiou
Membre à l'essai 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