[PS5] SwanStationPS5 1.6.2 : une mise à jour majeure pour l’émulation PS1 sur PS5
[PS5] Eden NX2 : une première intégration expérimentale de la Switch 2 sur PC
[PS5] HyperHEN v0.9.4 : l’assistant vocal Hyper débarque dans la Toolbox PS5Le développeur junminlee2004 vient de faire intégrer à shadPS4 un correctif destiné à Shadow of the Colossus, dont l'émulation sous Windows pouvait s'interrompre brutalement, parfois sans message d'erreur. Fusionnée le 28 octobre 2026 dans le dépôt officiel de l'émulateur PlayStation 4, la contribution #5382 s'attaque à un conflit entre les piles d'exécution du jeu et les protections mémoire utilisées pour le rendu graphique. Une correction ciblée, mais importante pour la stabilité de ce titre exigeant.
Pour rappel, shadPS4 cherche à exécuter les jeux de la PS4 sur Windows, Linux et macOS en reproduisant leurs services système et les commandes du processeur graphique. Shadow of the Colossus, le remake de Bluepoint Games, fait partie des titres dont le fonctionnement progresse grâce à des correctifs spécifiques. Les performances et la compatibilité restent variables selon les configurations : cette modification ne constitue pas une annonce de jeu entièrement compatible.
Pourquoi l'émulateur se fermait sans explication
Le problème concernait les « fibers », un mécanisme permettant à un programme de passer d'une tâche à une autre tout en conservant leur contexte d'exécution. Dans Shadow of the Colossus, les piles mémoire de ces fibers se trouvaient à proximité des données graphiques surveillées par shadPS4. Lorsque l'émulateur préparait certaines plages mémoire pour le GPU, il pouvait protéger accidentellement les pages contenant également une pile de fiber.
Sous Windows, la situation devenait particulièrement délicate : lorsqu'une fiber tentait d'écrire sur sa propre pile protégée, le système devait y déposer les informations nécessaires au traitement de l'exception. Cette écriture échouait à son tour. Résultat : le processus pouvait se fermer silencieusement, notamment lorsque les transferts DMA étaient activés. Le comportement ne se présentait pas de la même façon sur les systèmes de type POSIX.
Les piles déplacées hors de la mémoire graphique
Plutôt que de désactiver les protections mémoire, junminlee2004 déplace les piles des fibers vers une autre zone de l'espace d'adressage du jeu, éloignée des régions suivies par le moteur graphique. L'émulateur conserve une correspondance entre les fibers et les piles qui leur ont été attribuées. Lorsqu'une même zone est réutilisée, il peut réemployer la pile existante ; si une nouvelle fiber recouvre l'emplacement d'une ancienne, l'ancienne pile est libérée pour reproduire le comportement attendu de la PS4.
La proposition a évolué après une remarque d'un autre contributeur concernant les risques de chevauchement sur des pages mémoire non alignées. L'auteur a alors privilégié le déplacement des piles plutôt qu'une solution reposant sur la modification des protections en place.
Une amélioration de stabilité, pas un gain de FPS annoncé
La contribution comporte une capture de Shadow of the Colossus avec les lectures graphiques précises et le DMA activés. Elle ne fournit cependant ni campagne de tests sur plusieurs configurations, ni mesure de performances, ni garantie de disparition de tous les plantages. Le changement vise Windows et les fermetures provoquées par ce conflit mémoire ; il ne règle pas automatiquement les autres problèmes graphiques ou de compatibilité du jeu.
Le correctif est désormais présent dans la branche principale de shadPS4. Les utilisateurs devront attendre une compilation qui l'intègre ou une prochaine version officielle pour en bénéficier sans compiler eux-mêmes le projet. Les développeurs poursuivent ainsi l'amélioration de l'émulateur en corrigeant des différences de comportement entre la mémoire d'une PS4 et celle des systèmes modernes.
Sources et téléchargements
Correctif #5382 — explications, revue et capture du projet / Commit fusionné dans shadPS4 / Versions officielles de shadPS4.
Le développeur kd-11 vient de franchir une étape importante dans l'évolution de RPCS3. Ce 29 octobre 2026, sa contribution #19918 a été fusionnée dans la branche principale de l'émulateur PlayStation 3, au terme d'un chantier engagé il y a près de deux ans. Au programme : une réorganisation profonde de l'émulation du processeur graphique RSX, la possibilité de passer de Vulkan à OpenGL sans relancer un jeu et un mécanisme de récupération après certaines défaillances du pilote graphique.
RPCS3 est un émulateur libre de PlayStation 3 pour ordinateur. Pour afficher les jeux, il doit reproduire le fonctionnement du RSX, le processeur graphique de la console, puis traduire ses commandes vers une API moderne comme Vulkan ou OpenGL. Cette partie du logiciel est particulièrement délicate : elle doit gérer simultanément les états graphiques propres à la PS3, les ressources du GPU de l'ordinateur et les échanges avec les autres composants émulés.
Deux ans de travail sur l'architecture du RSX
La refonte sépare désormais plus nettement les éléments qui représentent le matériel de la PS3 de ceux qui dépendent du système et du pilote graphique de l'ordinateur. Le contexte d'exécution logiciel et le contexte matériel sont également dissociés, tandis que les anciennes responsabilités concentrées dans RSXThread.cpp ont été réparties entre plusieurs composants spécialisés.
Cette organisation permet notamment de créer et détruire plusieurs contextes RSX, une base technique pour améliorer leur gestion dans les jeux et les applications. Elle ne signifie pas que toutes les fonctions multicontextes envisagées par l'auteur sont déjà achevées : l'unification de certains caches et des interfaces natives reste au programme.
Passer de Vulkan à OpenGL pendant une partie
La nouveauté la plus visible est le changement de moteur graphique à chaud. Le joueur peut désormais remplacer Vulkan par OpenGL, ou sélectionner un autre pilote Vulkan disponible, sans fermer ni relancer son jeu. Une option de changement de moteur a été ajoutée au menu d'accueil de RPCS3 pour rendre ces essais plus accessibles.
Pour les développeurs et les testeurs, cette fonction simplifie les comparaisons entre pilotes et moteurs de rendu. Elle peut aussi servir de solution de repli lorsqu'un backend se comporte mal sur une configuration particulière. Le changement provoque une pause temporaire de l'émulation et la reconstruction des ressources graphiques nécessaires ; il ne s'agit donc pas d'une transition instantanée et invisible.
Une tentative de récupération après une panne graphique
La nouvelle architecture introduit également une récupération automatique dans certains cas de perte du périphérique Vulkan, notamment lorsque le pilote signale un événement de type device lost. RPCS3 peut alors interrompre l'émulation, réinitialiser son moteur graphique et tenter de reprendre la partie. Un chemin similaire a été préparé pour OpenGL, mais son comportement dépend du pilote et de sa capacité à signaler la perte du contexte.
Il ne faut pas confondre cette protection avec une solution universelle contre les plantages : un testeur a notamment documenté un crash de Red Dead Redemption que le mécanisme ne récupérait pas dans une version de développement. Plusieurs problèmes de synchronisation et de destruction des contextes ont été corrigés pendant la revue.
Une évolution majeure, sans promesse de gain de FPS
Un testeur a rapporté des essais satisfaisants sur plusieurs jeux, dont Uncharted 2, Heavy Rain, Killzone 2 et Ratchet & Clank: Tools of Destruction, sans différence de performances notable par rapport à la branche principale précédente. kd-11 explique avoir observé un gain temporaire d'environ 25 % au cours du développement, mais celui-ci a disparu dans les révisions suivantes. Il serait donc prématuré de présenter cette refonte comme une accélération générale de l'émulateur.
Fusionnée le 29 octobre à 10 h 33, la contribution représente 88 commits et modifie 138 fichiers. Elle est désormais dans le code principal de RPCS3, mais la disponibilité exacte dans les exécutables distribués dépend du calendrier de compilation. Cette nouvelle base technique ouvre surtout la voie à une émulation du RSX plus modulaire, plus facile à tester et potentiellement plus résistante aux erreurs de pilotes.
Sources et téléchargements
RPCS3 - contribution #19918, refonte du RSX et discussions de test / Plan technique initial : gestion de plusieurs contextes RSX / Commit de fusion du 29 octobre 2026 / Téléchargements officiels RPCS3.