PS5PCEM est un émulateur PlayStation 5 expérimental et un projet de recherche sur l’interopérabilité, développé en Zig. Il permet notamment l’exécution native de code x86-64, le chargement d’exécutables PS5 déchiffrés, l’exécution de commandes graphiques AGC, la traduction de shaders RDNA2 vers SPIR-V et le rendu via Vulkan.

Fonctionnalités
– Exécution native du code x86-64 invité sous Windows.
– Chargement des exécutables ELF/SELF, relocation, liaison des modules et gestion du TLS.
– HLE de plusieurs fonctions du firmware PS5.
– Exécution des flux de commandes AGC pour le GPU.
– Traduction progressive des shaders RDNA2 vers SPIR-V.
– Rendu Vulkan avec gestion des render targets, du depth/stencil et du MSAA.
– Gestion de la mémoire GPU et des textures avec notamment le detiling.
– Prise en charge du VideoOut Vulkan.
– Audio hôte et lecture H.264/AAC via FFmpeg.
– Support des contrôleurs DualSense et DualShock via HID.
– Support XInput et clavier.
– Gestion des sauvegardes par titre.
– Lanceur Windows natif avec jaquettes locales, profils de contrôleurs et lancement direct des jeux.
– Jusqu’à huit titres récents peuvent être conservés dans le lanceur.
– Plusieurs jeux atteignent désormais le gameplay et certains sont déjà jouables, mais la compatibilité, les performances, les graphismes, l’audio et la stabilité restent variables selon les titres et le matériel.

Jeux ayant atteint différents niveaux de fonctionnement
– Terminator 2D: No Fate
– Jets ‘n’ Guns 2
– Asterix & Obelix: Slap Them All!
– The Precinct
– Cat Quest III
– Jurassic Park Classic Games Collection
Les captures et résultats présentés par le projet sont des résultats de développement et ne constituent pas nécessairement des indications de compatibilité générale.
Configuration
– Windows 10 version 2004 ou ultérieure.
– Processeur x86-64.
– GPU compatible Vulkan 1.2.
Développement
PS5PCEM est développé en Zig et est distribué sous licence GNU GPL v3 ou ultérieure.
Le projet ne fournit ni jeux, ni firmware PS5, ni clés, ni bibliothèques système de la console.
État du projet
PS5PCEM est toujours en développement actif. L’émulation PS5 reste incomplète et la compatibilité varie fortement selon les jeux. Le projet dispose néanmoins déjà d’une implémentation fonctionnelle de plusieurs éléments importants de l’architecture PS5, notamment l’exécution x86-64, le système graphique RDNA2/AGC, la traduction des shaders et le rendu Vulkan.
Les changements:
Playable and completable games
– Terminator 2D: No Fate — Fully playable and completable; completed without reported problems
– Asterix & Obelix: Slap Them All! — Fully playable and completable
– Cat Quest III — Fully playable and completable
– Jurassic Park Classic Games Collection — Fully playable and completable
Launcher: eight interface languages
– Add Simplified Chinese, Spanish, Arabic and Portuguese alongside English, Russian, German and French. Navigation, game-library prompts, input settings, saves, preferences and status/error messages are translated.
– Expand language selection to two rows, with matching click areas and room for the sound, FPS and project-information panels.
– Give Arabic text right-to-left paragraph direction and appropriate alignment, preserving centered buttons and the original direction of paths and key names.
– Preserve existing saved language IDs and restore all eight choices after a restart. Update Windows executable and installer version metadata to this release.
Ghost of Yōtei: beyond the intro
– Restore continuous intro playback at approximately the stream’s native 30 FPS in ReleaseFast on the current RTX 3070 Ti host. Sampled movie frames take about 30–32 ms, without the former freeze after a few pictures.
– Correct Videodec2 picture fields, 256-byte NV12 row alignment, picture-specific acknowledgements and end-of-stream draining. Separate decoder instances and derive cadence from the stream so clips neither race to the end nor stall on the guest’s former 100 ms polling timeout.
– Advance through streamed menu-resource loading and into the animated loading indicator, Digital Deluxe Bonus, Gift of the Northern Star, Pre-order Bonus, and brightness calibration. The reference captures show readable text, confirmation glyphs, and the calibration wolf image, instruction and slider.
– Render parts of the interface and 3D background; the maintainer observed trees in the scene and heard menu music. Audio-library support now includes more of the interfaces bound by the title, including AudioOut2 speaker/port state and queued-grain accounting.
– Unblock the menu resource catalog and asynchronous scene work, preserve compute queue ownership and completion labels, and retire validated SDK 1.1 command ranges without repeatedly replaying stranded work.
– Verification boundary: the complete bonus/brightness sequence was verified on reference build 796a484. The latest renderer was checked through the intro into scene loading, but that full sequence has not been repeated on this release candidate. A complete title menu, its full animated background and gameplay are still unverified. Scene preparation and UI remain very slow: reference runs took minutes to prepare resources and seconds per UI frame. See the build-specific investigation.
Cat Quest III and Jurassic Park rendering
– Fix Cat Quest III’s upside-down world and intro composition while retaining the UI’s orientation. Procedural fullscreen passes preserve their UV direction.
– Preserve fragment coverage, alpha-to-coverage state and stencil-only passes. This removes the observed menu-text corruption and keeps language-list text visible and clipped inside its panel instead of covering it with a white fill.
– Implement the original AGC interpolant-mapping interface used by Cat Quest III. Adventure-selection artwork and labels, mountains and other scenery now use the correct vertex-to-fragment exports.
– Honor registered RGBA/BGRA scanout formats. The captured island now has blue sea and sky and the expected character/scenery colors instead of swapped red and blue channels.
– Restore Jurassic Park startup rendering, including its title logo, confirmation prompt, collection cover art and animated preview. Respect explicit color disable and DX clipping while retaining reset-depth extent recovery for Ghost of Yōtei’s active HTILE-backed surfaces.
3D shaders, materials and GPU correctness
– Recover pointer-backed and indirect material resources through scalar/vector register moves, VCC offsets, restored execution masks, branches and bounded loops. Support large global texture tables and mixed sampled-image dimensions at runtime, with typed bounds and validation of malformed descriptors.
– Execute bounded absolute/FLAT memory reads used by scene shaders and report the first unmapped active address. Resource recovery now follows instructions actually visited, avoiding invented bindings from inactive shader branches.
– Correct wave32/wave64 masks, both words of vector conditions, SAVEEXEC operand order and SCC, unsigned carry, lane identity and cross-subgroup synchronization. Preserve DPP row/permutation behavior and whole-quad execution.
– Add or correct explicit-LOD image gathers and depth comparisons, array gradients, RDNA2 sampling operands, fragment storage-image writes, BC4 and RG16 SNORM sampling, visible array-layer uploads and mixed integer exports.
– Preserve flat attribute channels and scalar spills. Support D16 loads into previously undefined vector registers, high-halfword stores, scene mask comparisons and bounded GDS word reads/writes.
– Apply uniform HTILE clears to resident depth images, preserve stencil during depth-only clears, support matching D32 depth bias, and improve depth/stencil barriers and compute-buffer synchronization.
– Retain descriptors, prepared render targets and image pins until queued draws finish using them, preventing cache eviction or command flushes from invalidating live GPU work.
Performance and runtime stability
– Cache translated graphics SPIR-V with explicit memory/entry limits and cheaper field serialization. Reuse compatible smaller prefixes of uploaded buffers while retaining exact descriptor bounds.
– Cat Quest III opening-island samples improve from roughly 148 ms (~6.8 FPS) to a 124 ms median (~8 FPS) on the test host. Shader-translation work drops from about 40 to 7 ms and buffer uploads from about 124–127 to 65–75 MiB per sampled frame. The later capture has a local co-op HUD, so this is an observed comparison of the same area, not a controlled benchmark of identical frames.
– Reuse prepared graphics/compute resources and driver compute-pipeline caches; index resident sampled images by guest address and shader control flow for resource recovery. Share immutable FLAT snapshot headers and retain more small storage images within the cache budget.
– Prefer host-cached readback memory, cache reads of resident compute buffers, accelerate Windows x64 memory fills, and reuse swizzle offsets for volume/MSAA copies. Reduce scene index checks and unnecessary depth readbacks.
– Fix Windows placeholder handling when a small guest mapping occupies the tail of a coalesced reservation, preventing the observed Cat Quest III startup HostCommitFailed. Bound permission checks to overlapping mappings and prevent thread diagnostics from suspending their own calling thread.
Validation and remaining limits
– Build the launcher and runner in ReleaseFast. Exercise all eight launcher languages across settings, library, controls and saves, including restart persistence and visual checks of the four new translations.
– Focused checks during development cover guest-memory mapping, interpolant mapping, shader caching and Vulkan scanout/orientation, fragment coverage, stencil/UI and HTILE behavior. Shader changes include targeted SDK GPU probes; this does not establish correctness for every game or shader.
– Jurassic Park’s collection frontend still has a known AvPlayer handle-pool limit when repeatedly cycling preview videos; later previews can become static. The maintainer’s playable/completable report concerns the games themselves.
– Ghost of Yōtei’s full menu and gameplay remain work in progress. Other titles can still have missing graphics, stalls or crashes; consult the status document for each title’s observed milestone.
Downloads and requirements
– Windows x64 portable ZIP, per-user installer, and SHA256SUMS.txt are attached to this release. Keep ps5pcem.exe and game-run.exe together.
– Windows 10 2004 or newer, x86-64, with a Vulkan 1.2-capable graphics driver.
– Games, firmware, keys and console system software are not included.
– These prototype binaries are not Authenticode-signed, so Windows may show an Unknown Publisher or Microsoft Defender SmartScreen warning.
Télécharger PS5PCEM v0.3.0 alpha 4 (16.1 Mo)
Site Officiel
En savoir plus…