Présentation

AnyPS5 est un outil open‑source qui convertit automatiquement les exécutables PS5 en binaires natifs Linux ou Windows. Le projet inclut un relinker capable de transformer le format propriétaire en ELF ou PE et des implémentations de bibliothèques système PRX afin d’autoriser le chargement dynamique. Aucun processus d’émulation n’est lancé, ce qui élimine la surcharge typique des solutions de virtualisation.

Architecture du relinker et des bibliothèques PRX

Le relinker analyse les sections du fichier PS5, réécrit les tables d’import/export et injecte les symboles fournis par le répertoire core/libs/prx. À ce jour, 87 % des fonctions système connues sont déclarées, ce qui permet à la plupart des jeux de s’appuyer sur des appels standards sans modification du code source. Les bibliothèques PRX sont compilées en tant que dynamic libraries et liées au moment de l’exécution via le chargeur dynamique du système d’exploitation cible. Le projet propose également un recompilateur de shaders qui génère du SPIR‑V ; la sortie est validée par Spirv‑Tools lorsqu’on active l’option ANYPS5_ENABLE_SPIRV_TOOLS.

cmake -B build -S . -DANYPS5_ENABLE_SPIRV_TOOLS=ON
make -C build

Performances et compatibilité

Le jeu Dreaming Sarah, un platformer 2D, tourne à un taux stable de 60 fps sur une GTX 1050 Ti couplée à un processeur i5‑7500 @ 3,4 GHz. Cette mesure montre que le pipeline de conversion n’introduit pas de goulot d’étranglement majeur pour des titres peu gourmands en ressources graphiques. La prise en charge des entrées s’appuie sur SDL : les manettes, sticks analogiques et gâchettes sont mappés automatiquement, tandis que clavier et souris peuvent être configurés via le fichier anyps5-input.ini.

Limites et perspectives

La couverture de 87 % indique que certaines fonctions système restent non implémentées ; lorsqu’un appel inconnu survient, le moteur lève une std::runtime_error, écrit le message d’erreur sur stderr puis termine le processus. Cette stratégie garantit la stabilité mais limite la compatibilité à la liste de jeux testés dans le dépôt. Le projet ne distribue aucun composant propriétaire (firmware, clés cryptographiques) et repose sur une licence GPL‑2.0, ce qui impose aux contributeurs de publier leurs modifications. Les développeurs envisagent d’étendre le catalogue de fonctions PRX et d’ajouter un support Vulkan complet afin de réduire l’écart entre les performances console et PC.