Résumé :
AnyPS5, un projet open source conçu pour permettre aux jeux PlayStation 5 de s'exécuter directement sur des ordinateurs Windows et Linux, a récemment réalisé d'importants progrès. Les développeurs du projet ont mis en œuvre la prise en charge de la reconnaissance et de la conversion pour les 1 166 instructions de shader GPU PS5 actuellement suivies, avec un taux de couverture de 100 %. Cela signifie que l’obstacle technique à l’exécution des jeux PS5 sur des PC ordinaires a été réduit d’un seul, mais il reste encore de nombreux défis avant une compatibilité à grande échelle avec les jeux commerciaux.

Le parcours technique d'AnyPS5 est différent de celui des émulateurs de jeux traditionnels. Les émulateurs traditionnels doivent généralement simuler l'environnement matériel d'une console de jeu afin que les programmes initialement conçus pour la console puissent s'exécuter sur une autre plate-forme matérielle. L'objectif d'AnyPS5 est de relier les fichiers exécutables des jeux PS5 en programmes adaptés à Windows ou Linux, et de fournir des implémentations de bibliothèque système correspondantes afin que les jeux puissent utiliser directement le processeur et le matériel graphique du PC autant que possible.
La PS5 utilise le processeur personnalisé d'AMD et le processeur est basé sur une architecture x86-64. Celui-ci présente une compatibilité élevée avec le jeu d'instructions du processeur couramment utilisé dans les ordinateurs Windows et Linux modernes, ce qui facilite le parcours technique d'AnyPS5. Par rapport aux solutions qui nécessitent de simuler l’intégralité du matériel hôte, cette approche devrait réduire certaines dépenses supplémentaires.
Cependant, le même jeu d'instructions CPU ne signifie pas que les jeux PS5 peuvent être exécutés directement sur PC. Le jeu doit également faire appel à des bibliothèques système, des interfaces graphiques et d'autres fonctions de plate-forme spécifiques à la PlayStation. AnyPS5 doit fournir des implémentations compatibles pour ces dépendances, tout en gérant des problèmes tels que les appels système, la gestion des ressources et le rendu graphique impliqués dans l'exécution du jeu.
La conversion des instructions du shader GPU est l'une des tâches clés. Les shaders dans les jeux sont chargés de gérer un grand nombre de tâches de calcul graphique, notamment le traitement des sommets, l'ombrage des pixels, l'échantillonnage de texture et d'autres opérations liées à la génération d'écran. La PS5 utilise le GPU personnalisé d'AMD et son système d'instructions est étroitement lié à l'architecture de la série RDNA d'AMD. Cependant, le programme graphique utilisé par le jeu doit encore être converti de manière appropriée avant de pouvoir s'exécuter dans l'environnement graphique cible d'AnyPS5.
AnyPS5 utilise le recompilateur de shader pour convertir les programmes GPU pertinents au format SPIR-V afin d'accéder à son flux de traitement graphique. SPIR-V est une représentation intermédiaire largement utilisée dans la compilation et la transmission de programmes graphiques et informatiques. Il peut fournir une certaine base de compatibilité pour le traitement graphique sur différentes plates-formes matérielles.
Le cœur de l'avancement de ce projet réside dans le fait que les développeurs ont terminé la reconnaissance et la prise en charge de l'ensemble des 1 166 instructions de shader GPU dans la liste de suivi actuelle. Ces instructions couvrent plusieurs catégories, notamment le partage de données, l'accès à la mémoire, les opérations scalaires et les opérations vectorielles. Compléter la liste complète signifie que le projet n'a plus d'entrées non implémentées pour reconnaître et traiter ces instructions connues.
Mais il y a ici une différence très importante : une couverture des instructions à 100 % ne signifie pas que toutes les instructions ont été exécutées de manière complète et précise dans chaque jeu.
De la façon dont le projet est compté, tant que le décodeur de shader peut reconnaître l'instruction correspondante, il peut être considéré comme implémenté. Par conséquent, cette étape indique principalement que le projet a la capacité de reconnaître toutes les instructions tracées, mais ne signifie pas que toutes les combinaisons complexes de shaders, effets graphiques et scènes de jeu ont été testées.
Les jeux réels peuvent utiliser diverses combinaisons d'instructions et s'appuyer sur des séquences d'exécution, un comportement de la mémoire et des résultats de traitement graphique spécifiques. Même si le décodeur peut reconnaître chaque instruction, si le programme converti produit des résultats différents lors de son exécution, des problèmes tels que des erreurs graphiques, des plantages de jeu ou des performances anormales peuvent toujours survenir.
En même temps, AnyPS5 a encore beaucoup de travail à faire en termes de bibliothèques système. Le taux de mise en œuvre des fonctions de la bibliothèque système actuellement suivies par le projet est d'environ 84,76 %, correspondant à 2 575 fonctions mises en œuvre et 3 038 fonctions suivies.
Cet indicateur doit également être compris avec prudence. Les 3038 fonctions ne représentent pas toutes les fonctions du système PS5, mais les parties du projet qui sont actuellement incluses dans le périmètre de suivi. À mesure que les développeurs découvrent et ajoutent de nouvelles fonctions système, le total statistique peut encore augmenter et le taux de mise en œuvre changera donc en conséquence.
La raison pour laquelle les bibliothèques système sont importantes est que les jeux PS5 s'appuient non seulement sur le GPU pour terminer le rendu de l'écran, mais nécessitent également que le système d'exploitation fournisse l'accès aux fichiers, la gestion de la mémoire, la synchronisation des threads, le traitement des entrées et d'autres services de base. Si le jeu appelle une fonction qui n'a pas encore été implémentée ou qui a un comportement incompatible, le jeu risque de ne pas démarrer ou de fonctionner correctement même si le shader GPU a réussi à se convertir.
Cela explique également pourquoi atteindre une couverture à 100 % des instructions GPU ne signifie pas que 100 % des jeux PS5 peuvent être exécutés sur PC. Les shaders ne sont qu’un des nombreux composants dont dépend le fonctionnement d’un jeu ; les bibliothèques système, le comportement graphique, les mécanismes de synchronisation et d'autres fonctionnalités affectent également la compatibilité.
Actuellement, AnyPS5 a démontré des résultats opérationnels réels. Par exemple, les informations sur le projet montrent que le jeu de plateforme 2D "Dreaming Sarah" peut fonctionner à 60 images stables sur un ordinateur équipé d'une carte graphique NVIDIA GeForce GTX 1050 Ti et d'un processeur Intel Core i5-7500.
Ce cas montre que le parcours technique d'AnyPS5 n'est plus au stade théorique et qu'au moins certains jeux peuvent être exécutés dans l'environnement PC via des outils pertinents. Cependant, "Dreaming Sarah" est un jeu de plateforme 2D relativement simple, et on ne peut pas en déduire que des chefs-d'œuvre 3D complexes peuvent également atteindre la même compatibilité et les mêmes performances.
Pour les jeux PS5 avec des effets graphiques complexes et un grand nombre de dépendances système, tels que "Gran Turismo 7", il n'est actuellement pas possible de juger quand ils fonctionneront normalement sur la seule base de la couverture des instructions. Les jeux à grande échelle impliquent généralement des processus de rendu, une planification des ressources et des fonctions de plate-forme plus complexes, ce qui peut obliger les développeurs à résoudre les problèmes au cas par cas pour des jeux spécifiques.
Par rapport aux émulateurs traditionnels, les alternatives de réassociation et de bibliothèque système adoptées par AnyPS5 sont plutôt attrayantes. Si nous pouvons utiliser pleinement les capacités CPU et GPU du PC tout en évitant une partie des frais généraux liés à la simulation de l'ensemble du matériel hôte, nous pourrons peut-être fournir un moyen plus efficace d'exécuter certains jeux à l'avenir.
Mais cette voie technique a aussi ses propres limites. Les émulateurs tentent généralement d'établir un environnement d'exploitation hôte relativement universel, tandis qu'AnyPS5 doit continuellement compléter et améliorer la mise en œuvre de la bibliothèque système et garantir que le programme converti est compatible avec la plate-forme cible. Différents jeux dépendent différemment des fonctionnalités du système. Ainsi, même si la progression globale du projet continue de s'améliorer, la compatibilité réelle peut encore présenter des différences significatives entre les jeux.
De plus, Windows et Linux ne sont pas exactement les mêmes environnements d'exploitation. AnyPS5 doit générer les fichiers exécutables correspondants pour différents systèmes d'exploitation et gérer leurs interfaces système et exigences de fonctionnement respectives. Ce n’est pas parce qu’un jeu fonctionne sur une plateforme qu’il fonctionnera sur une autre.
À en juger par les progrès du développement, le taux de couverture des instructions du shader GPU a atteint 100 %, ce qui constitue une réalisation progressive importante du projet AnyPS5. Il élimine une lacune technologique flagrante dans la liste de pistes actuelle, permettant aux développeurs de se concentrer davantage sur la compatibilité des bibliothèques système, la précision de l'exécution graphique et les problèmes spécifiques d'exécution des jeux.
Cependant, le projet nécessite encore une période de développement, de test et d'optimisation plus longue avant que les joueurs ordinaires puissent facilement exécuter un grand nombre de jeux PS5 sur PC. En plus de réussir le lancement du jeu, vous devez également vous assurer que les graphismes sont corrects, que la saisie est normale, que le fonctionnement est stable et que des performances raisonnables peuvent être maintenues pendant le jeu réel.
Par conséquent, ce qui mérite le plus d'attention à ce stade n'est pas le chiffre de 100 % en lui-même, mais la question de savoir si AnyPS5 peut progressivement élargir la liste des jeux vérifiés et permettre à des jeux plus complexes de passer d'un fonctionnement expérimental à une jouabilité stable. Alors que la conversion des instructions GPU et la mise en œuvre de la bibliothèque système continuent de s’améliorer, la perspective de jeux PS5 fonctionnant sur PC mérite en effet de plus en plus d’être attendue. Cependant, ces progrès ne peuvent pas encore être compris dans la mesure où la bibliothèque de jeux PS5 a atteint une compatibilité PC à grande échelle.
Commentaires