shadps4

Émulateur v0.7.0

shadPS4 est un émulateur de PlayStation 4 en développement actif, écrit en C++ pour Windows, Linux et macOS. Il vise à reproduire les jeux de la console, avec des progrès notables sur certains titres. Pour fonctionner sur macOS, il nécessite Vulkan 1.3 (ou 1.2 avec extensions spécifiques) et s’exécute sous Rosetta 2 sur Apple Silicon, offrant ainsi une compatibilité limitée mais opérationnelle.

L’interface graphique (version QT) et une alternative en ligne de commande (CLI) sont disponibles. Développé par une communauté, le projet reste en cours d’amélioration, avec des corrections et optimisations régulières. Les retours utilisateurs et contributions sont encouragés via des canaux dédiés.

Dernière mise à jour :

Plateformes

Architecture

Mac OS X - macOS Mac OS X - macOS Intel x86 Intel x86 Apple Silicon Apple Silicon 64 bits 64 bits SDL Library SDL Library

Téléchargement et liens

Historique des versions

v0.18.0
  • Correction majeure sur macOS : Résolution du problème d’authentification shadNet dans certains cas (lié à la version 0.17.0), impactant potentiellement les fonctionnalités en ligne.

  • Amélioration GPU : Correction des ombres dans les jeux Persona et de certains effets dans inFAMOUS et Gravity Rush 2 (fixes non testés exhaustivement, dépendants des retours utilisateurs).

  • Nouveauté majeure : Support LLE pour libSceAvPlayer (et libSceAvPlayerStreaming), nécessitant les modules .sprx correspondants pour restaurer le décodage vidéo dans des jeux précédemment buggés (ex. : vidéos corrompues).

  • Correction critique : Réécriture des drapeaux d’événements noyau → Shadow of the Colossus ne bloque plus au démarrage et atteint systématiquement les menus.

  • Améliorations système :

    • Ajout de /dev/zero et d’exports nécessaires pour VSH (fonctionnalités système PS4).
    • Correction de l’ordre de chargement des bibliothèques (libScePad avant sceNpManager) et optimisation de la gestion des modules invités (< 4 GiB).
    • Ajout de la flag --mount pour le montage de fichiers (interface CLI).
  • Expérimental (Windows uniquement) : Protection de la red zone (CPU Intel 12e gen+) pour éviter les crashes liés aux exceptions Windows sur les piles (non applicable à macOS).

Changelog complet
shadPS4 v0.18.0 "UltraPersona" Hello there, it hasn't been a while, has it? While not much time has passed since our last stable release, we are here again with a brand new one. The main reason for this release is broken shadNet authorization in certain cases on the 0.17.0 release, but we have some more interesting new features as well. Firstly, after some fixes, AvPlayer can now be loaded as LLE, meaning that you need the `libSceAvPlayer.sprx` (and `libSceAvPlayerStreaming.sprx`) module(s), which makes broken videos in a few games now work properly. The above change was enabled by calling `sceLibcInternalMemoryMutexEnable` in LLE LibcInternal at boot, found by [@liuk7071](https://github.com/liuk7071), the developer of ChonkyStation4, another PS4 emulator. A kernel event flag rewrite has also fixed Shadow of the Colossus often hanging on boot, and the game now consistently gets to menus. Another big feature is the experimental [red zone](https://en.wikipedia.org/wiki/Red_zone_%28computing%29) protection, which fixes an issue specific to 12th generation and onwards Intel CPUs exclusively on Windows, that was causing crashes and other undefined behaviour in lots of games that were not expecting to have their stacks' red zone clobbered by Windows exception handling. NpTus is also included in this new release, bringing more functionality to shadNet. A few more fixes on GPU are included, such as fixing shadows in Persona games, or some effects in inFAMOUS and Gravity Rush 2. There's probably fixes in some other games too, but that's you, the testers' and users' job to figure out. Below you can find a full list of changes for 0.18.0. Happy testing :) ## Core - Rewrote kernel event flags - Added experimental workaround for Windows red-zone protection - Fixed ordering of loading libs (`libScePad` before `sceNpManager`), fixed issues in shadNet authorization - Added `/dev/zero` device - Added some exports needed for VSH - Call `sceLibcInternalMemoryMutexEnable` LLE on startup - Added `--mount` flag, updated the no-flags popup text with Big Picture Mode info, and fixed a few edge cases with command line parsing - Load guest modules below 4 GiB ## Libraries - **Videodec**: Flush codec buffers on packet EOF - **NpWebApi2**: Fixed `sceNpWebApi2GetHttpResponseHeader` functions - **Libc_Internal**: Added back HLE `sceLibcHeapGetTraceInfo` for when LLE `libSceLibcInternal` is not present - **Kernel**: Implemented `sceKernelIsDevkit` and `sceKernelIsCex` - **Kernel**: Do not double destroy threads when free threads exceeds `MaxCachedThreads` - **AvPlayer**: You can now use LLE - **Sysmodule**: Enabled some more safe library LLEs - **Kernel**: Only clear `oact` if `oact` is provided - **NpTus**: Added NpTus support - **AudioOut**: Fixed deadlocks on stop - **NpTrophy**: Fixed issues related to platinum trophies ## Video Core - Added more FMask formats - Honor `STENCILOPVAL` for GCN ReplaceOp stencil writes ## Shader Recompiler - Fixed cubed array layer in `FixCubeCoords` - Lower user clip planes to clip distances - Use `a*b+c` instead of `fma` for `v_mad*` ops ## Big Picture Mode - Launch game in clean process - Added zar support - Fixed update checker crash with certain zar/folder combinations ## Misc - Fixed external FPS counters - Added draw call and dispatch counts to frame info overlay - Append last time played for each game in `play_time.txt`
v0.17.0
  • Intégration de ShadNet : support de base pour les scores en ligne et les amis, avec une infrastructure de matchmaking (lobbies, invitations) et une gestion des trophées, bien que le multiplayer reste inexistant pour l’instant.

  • Améliorations majeures pour macOS :

    • Intégration de KosmicKrisp (accélération matérielle et compatibilité améliorées sur Apple Silicon, notamment M1/M2/M3).
    • Pas de mention d’un minimum de macOS ou de correctifs spécifiques à macOS dans ce changelog.
  • Corrections critiques :

    • Emulation du périphérique souris (sceMouse) : prise en charge des jeux utilisant un USB mouse, avec des fixes pour les vérifications de connectivité.
    • Stabilité audio/vidéo : nettoyage de AvPlayer (synchronisation, gestion des buffers), correction des plantages liés à AT9 et optimisations OpenAL/NGS2.
    • Gestion mémoire et kernel : suppression des stubs automatiques pour les objets non résolus, fixes des fuites TLS et des patchs mémoire (ex : sceKernelAllocateDirectMemory).
  • Améliorations graphiques :

    • Prise en charge de VK_EXT_image_view_min_lod pour les niveaux de détail minimaux (min_lod), correction des erreurs de validation et gestion des buffers compute.
    • Optimisations du cache de textures (collecte des samplers inutilisés, gestion sRGB pour les formats BC).
  • Qualité de vie :

    • Sauvegarde des états des widgets (liste de shaders, carte mémoire) et suppression des fenêtres de dump redondantes.
    • Nouveau système de journalisation avec option de flush et amélioration de l’interface "Big Picture".
Changelog complet
shadPS4 v0.17.0 Welcome to another big release of shadPS4. This release is the first to introduce shadnet support, which although still doesn't offer much it allows to post your online scores and share them with other players. Still you can't play multiplayer games but we are working towards to make it possible one day. Another big update is ZArchive support. Forget the 20.000 files per game you can now use ZArchive files for compressing games and having them in 1 file instead of hundreds. KosmicKrisp has also landed in the world of macOS giving much better compatibility and speed to macOS users. There are several other fixes let's cover the most important below ## Highlights ### Online stuff - ShadNet, our own networking backend, is now integrated for the first time - Most of the matchmaking library is implemented — lobbies, rooms, joining, signaling - Friends support. Make your online friends in shadnet - Invitation dialog - Your name now switches to your Online ID once you're connected - NP Manager got new settings and general cleanup - Web API layer grew a lot: new library implemented, multipart uploads, push events - NP Commerce - Trophy handling tidied up ### Mouse support - sceMouse is emulated now, so the handful of games that supported a USB mouse are playable with one - Plus a bunch of follow-up fixes for opening, closing, and games that check whether a mouse is even plugged in ### AvPlayer, video & audio - AvPlayer got a serious cleanup: audio/video sync, startup races, stack usage, frame sizes, buffer handling - Video decoder flush behaviour fixed - Audio3D mix queue reworked - AT9 no longer crashes from reading past the end of its data - AT9 encoder now runs natively - OpenAL fixes and NGS2 fixes --- ## Graphics - NVIDIA clip distance emulation - `T#` `min_lod` implemented through `VK_EXT_image_view_min_lod` - Depth write state is now respected for register clears - Robustness2 is now required, allowing the null buffer/image workarounds to be removed - Sampler garbage collection added to the texture cache - Texture cache: image download handling refactored - sRGB handling for BC formats refactored - Buffer barriers for compute-written vertex/index buffers and indirect dispatch/draw buffers - Assorted validation errors fixed and miscellaneous renderer fixes - Shader cache invalidation caused by struct padding in `memcmp` fixed ### Shader recompiler - GCN thread mask accuracy fix - Vertex attributes are always specialised on number class - Geometry shader vertex offsets initialised from the input primitive type - `V_ADD_I32` carry-out propagation, `V_LOG_CLAMP_F32`, `V_PK_MUL_LO_U16` fix - IREmitter atomic operation corrected from And to Or --- ## Kernel, memory & core - Filesystem abstraction layer - File reads now go through an intermediate buffer before being copied to guest memory - `PthreadOnce` uses pthread primitives instead of `std::mutex` - TLS leak on non-primary threads fixed - Code patches for `cmp` and `xor` instructions involving the TCB - `sceKernelAllocateDirectMemory` now honours `search_end` - Fixed mappings with a zero address on older games is now handled properly - HLE libraries are no longer loaded when force-LLE is set - Unresolved objects are no longer auto-stubbed - Null dereference fixes in save data mount checks - Memory patch fixes, with hex exception handling - LLE malloc init, fixing issues with LLE fonts and allowing more LLE libs to run --- ## Input & peripherals - Pad state latency reduced for single-sample reads - Users are no longer logged out when a pad disconnects - Controller colours reset on shutdown - Fixes to Camera support --- ## Interface & quality of life - Fullscreen startup behaviour polished - The window icon is now set to the game's icon - Big Picture UI settings improved - Shader list, memory map and module list widget states are saved, duplicate shader dump windows prevented - New shadPS4 log with a logging refactor, an option to flush the log - `MS_VC_EXCEPTION` is now passed through to the handler on Windows - Trophy fixes and an auto-generated `PathType::TrophyDir` - NP checks moved into `sceNpTrophyRegisterContext` - Improvements to the in-app bug report flow
v0.16.0
  • Nouveau système de configuration : Architecture modernisée simplifiant la gestion des paramètres, avec prise en charge des configurations spécifiques aux jeux et migration des sauvegardes/trophées depuis les versions précédentes.

  • Prise en charge accrue de macOS :

    • Améliorations du MoltenVK (intégration Vulkan pour Apple Silicon) et corrections des fichiers système (POSIX, gestion des chemins).
    • Stabilisation des builds .dmg et optimisations pour les architectures M1/M2/M3.
  • Améliorations graphiques majeures :

    • Correction des crashes Vulkan (validation, synchronisation, destruction de ressources) et stabilité globale.
    • Extension de la couverture des instructions GPU Neo (PS4 Pro) : VOP3P, SDWA, arithmétique Float16/Integer, opérations bitwise, etc.
    • Support des pipelines géométriques et de tessellation avancés.
  • Fonctionnalités réseau : Début de l’implémentation du sous-système HTTP pour les jeux dépendants des APIs en ligne (ex : connectivité PSN).

  • Corrections critiques :

    • Résolution des problèmes de mémoire GPU (écriture après écriture, corruption visuelle).
    • Fixes des trophées (extraction fiable, gestion des mises à jour séparées, sonorisation indépendante de SDL_mixer).
  • Supports spécifiques :

    • Local multiplayer et Big Picture Mode (interface console-like pour contrôleurs).
    • Screenshots intégrés (avec options de capture propre au jeu).
    • Audio3D et corrections des multimédias (AVPlayer, décodage vidéo).
Changelog complet
# shadPS4 v0.16.0 Released The shadPS4 team is excited to announce the release of **shadPS4 v0.16.0**, our largest update to date. This release delivers major improvements across emulation accuracy, graphics, audio, input handling, user experience, platform support, and developer infrastructure. With hundreds of changes from dozens of contributors, v0.16.0 represents another significant step toward broader game compatibility and a more complete PlayStation 4 emulation experience. ## Highlights ### New Configuration System v0.16.0 introduces the foundation of a new configuration architecture. This modernized system simplifies settings management, improves game-specific configuration handling, and lays the groundwork for future features. The migration also includes save and trophy migration support to help users transition smoothly from previous versions. ### Initial OpenAL Audio Backend A major milestone for the project is the introduction of an **OpenAL-based audio backend**. This work establishes a more flexible and portable audio foundation for future improvements while continuing to expand compatibility with PS4 audio functionality. ### Camera Support Begins Initial camera emulation support has landed, bringing us closer to supporting titles and applications that rely on PlayStation Camera functionality. ### Local Multiplayer Support One of the most requested features is finally here. Multiple users can now enjoy supported games together through the new **local multiplayer infrastructure**, further expanding gameplay possibilities within the emulator. ### Big Picture Mode A brand-new **Big Picture Mode** provides a console-like experience designed for controllers and living-room setups. The interface includes dedicated settings integration, game folder management, and several quality-of-life improvements. ### Screenshot Functionality Users can now capture screenshots directly from the emulator, including support for overlays or game-only captures. ### HTTP Library Progress A substantial amount of work has been completed on the PS4 networking stack, with the first large implementation stages of the HTTP subsystem landing in this release. These additions improve compatibility with games and applications that depend on online communication APIs. --- ## Graphics and Rendering Graphics emulation received extensive work throughout the release cycle. ### Improved Vulkan Stability Numerous Vulkan fixes address validation errors, synchronization issues, resource destruction order problems, swapchain handling, and presentation stability. These changes significantly reduce crashes and improve reliability across a wide range of hardware. ### Memory and Synchronization Improvements Several fixes target GPU synchronization hazards, stale GPU memory handling, write-after-write scenarios, image layout transitions, and memory protection updates. Together these changes improve rendering correctness and reduce graphical corruption. ### Mipmapping and Texture Improvements A large collection of mipmapping fixes resolves texture quality issues and rendering artifacts in various titles. ### Expanded Neo GPU Instruction Coverage The shader recompiler and GCN decoder received major upgrades including support for: * New VOP3P instruction definitions * SDWA instructions * Additional Neo-specific ALU instructions * Float16 packed arithmetic * Integer packed arithmetic * Bit manipulation instructions * New min/max/median operations * Expanded test coverage for GCN instruction decoding These additions improve compatibility with titles that heavily utilize PlayStation 4 Pro ("Neo") GPU features. ### Support for combined geometry and tesselation pipelines Support has been expanded for more advanced pipeline configurations, including additional tessellation and geometry shader combinations required by modern PS4 titles. --- ## Audio Improvements In addition to the new OpenAL backend: * Audio3D functionality has been expanded * Trophy sound playback no longer depends on SDL_mixer * Several AVPlayer and video decoding fixes improve multimedia playback * Improved stream duration calculations and error handling --- ## Input and Controller Enhancements Controller support continues to mature with: * Local multiplayer support * Multiple DualShock compatibility fixes * Improved deadzone defaults * Touch input edge-case fixes * TV remote support corrections * New option to swap the Enter button between Cross and Circle * Improved pad information reporting Several Unity-engine titles and games such as Driveclub also benefit from input regression fixes included in this release. --- ## User Experience ### Trophy System Improvements The trophy system received substantial attention: * New trophy directory structure * Trophy migration support * Improved extraction reliability * Better handling of separated game updates * Missing trophy key workarounds * Trophy sound playback improvements ### Notifications The emulator now includes a notification system with support for positioning and icons, providing a more polished user experience. ### Translation Updates Localization support continues to expand through updated translations and improved UTF-8 path handling. ### Easy Mods Folder A new mods directory structure makes it easier to organize and deploy game modifications. --- ## Platform Support This release improves portability across multiple operating systems: * Initial x64 FreeBSD support * Additional POSIX compatibility functions * Improved GNU/Linux and macOS file handling * MinGW-w64 compilation fixes * Fedora 44 and Clang 22 build fixes * Expanded Nix development environment support * Updated MoltenVK integration --- ## Core Emulator Improvements A significant amount of engineering effort focused on stability and correctness: * Thread-safety improvements * Race condition fixes * Memory overlap fixes * Memory mapping corrections * Address-space management improvements * Pthread implementation fixes * Kernel signal handling improvements * Better logging infrastructure through spdlog migration * Enhanced error reporting and diagnostics * Expanded automated testing infrastructure using Google Test These changes improve overall emulator reliability and make future development easier. --- ## Compatibility Improvements Hundreds of library updates, stubs, kernel fixes, and subsystem enhancements contribute to improved game compatibility. Notable areas include: * NpTrophy * NpAuth * NpPartner * AppContent * VideoOut * Audio3D * SystemService * Posix * Kernel * Pad * Camera * HTTP * Network-related functionality Many games that previously crashed, hung, or exhibited incorrect behavior now progress further or operate correctly. --- ## Looking Ahead v0.16.0 is another major milestone in shadPS4's development. With foundational work completed for configuration management, audio, networking, multiplayer, camera support, testing infrastructure, and graphics emulation, the project is now positioned for even faster progress in future releases. Thank you to everyone who contributes code, testing, bug reports, translations, documentation, and community support. Enjoy shadPS4 v0.16.0! **Full Changelog**: https://github.com/shadps4-emu/shadPS4/compare/v.0.15.0...v.0.16.0

Captures d'écran

Shenmue 2 dans ShadPS4 Geometry Wars dans ShadPS4 Dead Cell dans ShadPS4 Interface Qt de ShadPS4 Sonic Mania sur Mac dans ShadPS4