RetroArch est une interface libre et open source , multiplateforme pour émulateurs , moteurs de jeu , jeux vidéo , lecteurs multimédia et autres applications. C'est l'implémentation de référence de l' API libretro , conçue pour être rapide, légère, portable et sans dépendances. Elle est sous licence GNU GPLv3 .
RetroArch exécute des programmes convertis en bibliothèques dynamiques appelées cœurs libretro, en utilisant plusieurs interfaces utilisateur telles que des interfaces de ligne de commande , quelques interfaces utilisateur graphiques optimisées pour les manettes de jeu , plusieurs pilotes d'entrée, audio et vidéo et d'autres fonctionnalités sophistiquées telles que le contrôle de débit dynamique, les filtres audio, les shaders multi-passes , le netplay , le rembobinage du gameplay, les astuces, etc.
RetroArch a été porté sur de nombreuses plateformes. Il peut fonctionner sur plusieurs systèmes d'exploitation PC , consoles de salon , consoles portables , smartphones , téléviseurs intelligents , ordinateurs monocartes et navigateurs Web . Les versions pour PlayStation 4 et PlayStation 3 ne sont pas encore sorties, mais sont disponibles de manière non officielle (à partir du 1er avril 2024.)
Histoire
Anciennement connu sous le nom de SSNES, initialement basé sur le prédécesseur du programmeur pseudonyme Near , libsnes il a commencé son développement en 2010 avec Hans-Kristian « themaister » Arntzen qui a validé le premier changement sur GitHub . Il était destiné à remplacer l' interface basée sur Qt de bsnes mais il a évolué pour prendre en charge davantage de « cœurs » d'émulation. Le 21 avril 2012, SSNES a été officiellement renommé en RetroArch pour refléter ce changement de direction.
La version 1.0.0.0 de RetroArch est sortie le 11 janvier 2014 et était alors disponible sur sept plateformes distinctes.
Le 16 février 2016, RetroArch est devenue l'une des premières applications à implémenter la prise en charge de l' API graphique Vulkan , le jour même de la sortie officielle de l'API.
Le 27 novembre 2016, l'équipe Libretro a annoncé qu'aux côtés de Lakka ( système d'exploitation RetroArch basé sur LibreELEC ), RetroArch serait sur la plateforme de financement participatif Patreon pour permettre d'offrir des primes aux développeurs qui corrigent des bugs logiciels spécifiques et pour couvrir les coûts des serveurs de matchmaking .
En décembre 2016, GoGames, une société sous contrat avec le développeur et éditeur de jeux vidéo Sega , a contacté les développeurs de RetroArch avec l'intention d'utiliser leur logiciel dans leur projet SEGA Forever, mais finalement la coopération n'a pas abouti en raison de désaccords de licence.
En avril 2018, une fonctionnalité de compensation du décalage d'entrée appelée « Run-Ahead » a été ajoutée.
L'équipe Libretro prévoyait de publier RetroArch sur Steam en téléchargement gratuit, intégrant les fonctionnalités de Steamworks à la plateforme en juillet 2019. Cela aurait été le premier titre d'émulation dédié majeur à être publié sur la plateforme à l'époque.
En août 2020, une personne se faisant passer pour un membre de confiance de l'équipe a eu accès au serveur buildbot et au compte GitHub de l'organisation libretro, provoquant des actes de vandalisme et des effacements de serveurs.
En novembre 2020, RetroArch en conjonction avec un noyau libretro PCSX2 a permis à la Xbox Series X et à la Series S d'émuler la PlayStation 2 , ce que la PlayStation 5 de Sony ne pouvait pas faire à l'époque.
Le 14 septembre 2021, RetroArch est sorti sur Steam.
Le 15 mai 2024, RetroArch est officiellement sorti sur iOS via l' App Store .
Caractéristiques
Ses principales caractéristiques comprennent :
- Prise en charge avancée des shaders GPU – Un pipeline de shaders de post-traitement multi-passes pour permettre une utilisation efficace des algorithmes de mise à l'échelle d'image , l'émulation d' artefacts vidéo CRT , NTSC complexes et d'autres effets ;
- Contrôle de fréquence dynamique pour synchroniser la vidéo et l'audio tout en atténuant les imperfections de synchronisation ;
- Enregistrement FFmpeg – Prise en charge intégrée de l’enregistrement vidéo sans perte à l’aide de libavcodec de FFmpeg ;
- Couche d’abstraction du Gamepad appelée Retropad ;
- Configuration automatique de la manette de jeu : aucune intervention de l'utilisateur n'est nécessaire après avoir branché la manette de jeu ;
- Jeu en réseau peer-to-peer utilisant une technique de restauration similaire à GGPO ;
- Plugins DSP audio comme un égaliseur , une réverbération et d’autres effets ;
- Fonctionnalités de sauvegarde avancées : chargement automatique de l’état de sauvegarde, désactivation de l’écrasement de la SRAM, etc.
- Rembobinage du gameplay image par image ;
- Superpositions de boutons pour appareils à écran tactile comme les smartphones ;
- Vignettes de la pochette du jeu ;
- Options de faible décalage d'entrée et audio ;
- Créez automatiquement des listes de lecture catégorisées en analysant les répertoires à la recherche de jeux/ROM ;
- Plusieurs interfaces dont : CLI , XMB (optimisé pour les manettes ), GLUI/MaterialUI (optimisé pour les appareils tactiles), RGUI et Ozone (disponible partout) ;
- Scanner de ROM de jeu – Crée automatiquement des listes de lecture en comparant les sommes de hachage des fichiers d' un répertoire avec les bases de données de sommes de hachage de copies de jeux connues comme bonnes ;
- Base de données Libretro de noyaux, jeux, astuces, etc. ;
- Prise en charge des API OpenGL et Vulkan ;
- Run-ahead – Masquez le décalage d’entrée des systèmes émulés en utilisant à la fois les sauvegardes et l’avance rapide ;
- Suivi des réalisations – Intégration avec le service RetroAchievements pour débloquer des trophées et des badges ;
- Service d’IA – Utilise des services externes de traduction automatique pour traduire le texte du jeu à l’écran.
Systèmes pris en charge
RetroArch peut exécuter n'importe quel noyau libretro. Bien que RetroArch soit disponible pour de nombreuses plateformes, la disponibilité d'un noyau spécifique varie selon la plateforme.
Vous trouverez ci-dessous un tableau non exhaustif des systèmes disponibles pour RetroArch et du projet sur lequel le noyau est basé :
Réception
RetroArch a été salué pour le nombre de systèmes et de jeux qu'il peut exécuter sous une seule interface .
Il a été critiqué pour sa difficulté de configuration, en raison du grand nombre d'options disponibles pour l'utilisateur, et a en même temps été salué pour les fonctionnalités plus avancées qu'il possède.
Sur Android, il a été salué pour le fait que les superpositions peuvent être personnalisées, pour l'extensibilité des cœurs libretro qu'il prend en charge, pour sa compatibilité avec plusieurs périphériques de contrôleur USB et Bluetooth, en plus du fait que l'application est gratuite et ne comporte aucune publicité.
Kyle Orland, qui écrit pour Ars Technica , a déclaré que la fonction « Run-Ahead » de RetroArch est « sans doute la plus grande amélioration de l'expérience que la communauté des joueurs rétro ait jamais vue ».