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.
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
v0.15.0
Améliorations majeures pour macOS (Apple Silicon) et compatibilité globale :
Correction d’un bug critique dans InternalScreenWidth (confusion avec InternalScreenHeight) impactant potentiellement les builds macOS et les jeux sensibles à la résolution.
Montage du système de fichiers /data directement sous /data (et non /data/gameid), une modification qui pourrait résoudre des problèmes de cheminement spécifiques sous macOS (notamment avec les builds .dmg).
Prise en charge améliorée des signaux invités et des gestionnaires de threads (TLS), réduisant les risques de plantages lors de l’exécution de jeux exigeants (ex. : jeux multithread ou dépendants du système de fichiers).
Corrections critiques pour la stabilité :
Gestion des volumes : Correction des hotkeys de volume (affichage du niveau, claquage des valeurs, et fixation de l’argument game_specific pour éviter les bugs audio sous macOS ou Windows.
Sécurité mémoire : Prévention des protections lors des unmaps (opérations de désallocation mémoire), évitant des crashes dans des jeux comme God of War ou Spider-Man.
Corrections GPU :
Copie bidirectionnelle des handles 2D→3D (et inverse), essentielle pour les jeux utilisant des textures dynamiques (ex. : Final Fantasy XIV).
Suppression des appels inutiles de parsing des marqueurs guest/host (optimisation des performances sur M1/M2/M3).
Nouveautés techniques (impact indirect sur macOS) :
Implémentation de kqueue et kevent (via Kernel.Event) : Améliore la gestion des événements réseau/système, utile pour les jeux en ligne ou les applications dépendantes de macOS (ex. : Gran Turismo Sport).
Support du mode 32 threads partagés dans le recompileur de shaders, bénéfique pour les jeux exploitant des calculs parallèles (ex. : Uncharted 4).
Corrections audio : Amélioration de sceAudioOut (backend SDL3)
Changelog complet
Greetings, fellow users, testers, devs.
Missed us already? Here is a brand new shadPS4 release for you out there. A lot of new features is here to improve compatibility and general user experience as well. **It is recommended to use 0.15.0 for some time since there are a lot of breaking changes coming to 0.15.1 WIP** (that will correct and improve a lot of things), but we hope it will be production ready quite soon.
Enough talking, here is the latest shadPS4 version and it’s changes:
## Core
* Automatically add missing hotkeys to the global input config
* Fixed in Settings:InternalScreenWidth would get internalScreenHeight instead of InternalScreenWidth
* Kernel.Pthreads: Remove unreachable in posix_pthread_mutex_timedlock
* Volume hotkey: show volume value, set game_specific arg correctly, clamp value
* Kernel.Process: Implement sceKernelGetModuleInfo2, sceKernelGetModuleList2
* Log: Group same lines with counter
* Prevent protects during unmaps
* Mount system fonts
* Kernel.Equeue: Only reset trigger state on events that clear.
* Filesystem: fix crashes caused by returning a pointer from an std::vector
* Threads: initialize TLS on thread creation
* Implement guest signal handlers
* Mount /data to /data instead of /data/gameid
* Kernel.Event: Implement kqueue and kevent
* IPC: Tweak LoadFigure and RemoveFigure
* Improved signal emulutation
* Fixed game arguments with CLI11
* PSF: close file after encode
## Shader recompiler
* Handle operand fields execlo and exechi for S_MOV
* Fixed r128
* Support 32 thread sharing mode
* Implemented IMAGE_ATOMIC_CMPSWAP
## Libraries
* Improved sceAudioOut and SDL3 backend
* Implemented npWebApi library
* Added sceAudioOutGetSystemState
* Added some NPTus Functions
* Implemented some HLE libcInternal calls
* Fixed some issues in scePad and refactoring
* Improved motion controls emulation
* Lib.GnmDriver: Fix flip arg for sceGnmSubmitAndFlipCommandBuffers
* Lib.VideoOut: Fix pending flips limit
* Fix some logic bugs in sceHttpUriParse
* Audio3d SDL improvements
* Lib.Net: Proper resolver errors when isConnectedToNetwork is disabled
* Lib.GnmDriver: Implement sceGnmDrawIndirectMulti
* Lib.Net: Fix Windows-specific incorrect error in PosixSocket::Connect
* SSL module returned an empty certificate data instead of no certs
* SysModule HLE implementation
* Stub data for sceSslGetCaCerts
## GPU
* Copy image handle 2d->3d copies and opossite now
* Skipped guest/host marker parsing/calls when disabled
* Added Relaxed,precise modes in readbacks
* Force subgroup size to 64 when possible
v0.14.0
Améliorations majeures pour la compatibilité et les performances :
Ajout de bibliothèques LLE (Low-Level Emulation) manquantes ou incomplètes : libSceRtc, libSceJpegDec, libSceJpegEnc, libScePngEnc, et libSceAudiodec, ainsi que des stubs pour libSceRudp, libSceNpWebApi2, libSceNpPartner001, et NpTus.
Correction des problèmes liés aux sockets (winsock dans sceNet) et optimisations réseau (traitement des epolls sur les sockets P2P).
Mise à jour du système de gestion des clés (key_manager) pour une meilleure sécurité des données chiffrées.
Corrections critiques du noyau et de la mémoire :
Fix du suivi des zones physiques (VMA) dans Kernel.Vmm, évitant des erreurs de gestion de la mémoire.
Correction des calculs de temps (timespec) dans les appels fstat pour une meilleure cohérence du système de fichiers.
Optimisations mineures et corrections de fuites mémoire dans le cœur de l’émulateur.
Améliorations spécifiques aux bibliothèques et à l’audio :
Support du format audio M4AAC dans ajm (décodage audio).
Correction des entrées textuelles dans les dialogues IME (saisie internationale) et amélioration de la détection des chemins dans Avplayer.
Fix des attributs par défaut pour les mutex POSIX et gestion des erreurs dans pthread_mutexattr_settype.
Progrès dans le shader recompiler et le rendu vidéo :
Implémentation de nouvelles instructions GPU : V_LSHR_B64, V_CMP_OP_F64, et V_FFBH_I32.
Correction des shaders tessellations et optimisation de la distance de clipping (VS clip distance) pour les GPU NVIDIA.
Améliorations mineures dans le rendu (GDS) et optimisation des lectures de mémoire vidéo.
Changelog complet
Greeting fellow users , testers , devs.
Here is a brand new release from shadPS4 , It took as some time but some nice features are here so we wanted to share them with all of you out there . This new release brings some more compatiblity with games and several bug fixes. You can check the list below
Core
====
Added thread name to log lines
Fixed float parsing in memory patcher
Read compiled sdk version from eboot
Added global emulator state class
Corrected physical based handling for memory pools
Add libSceRtc, libSceJpegDec, libSceJpegEnc, and libScePngEnc LLEs
Changing the mouse speed does not affect the mouse speed offset
Added libSceAudiodec to lle modules list
Introducing key_manager for storing encryption keys
Miscellaneous memory fixes and slight optimizations
Added new cli parser using CLI11
filesystem: fill in timespec values for fstat
Kernel.Vmm: Fix bug with VMA physical area tracking
Libraries
=========
M4AAC support in ajm
Fixed dialog text input in IME dialog
Fixed issues with winsock in sockets (sceNet)
Stubbed libSceRudp
Reimplemented dirents
Stubbed libsceNpWebApi2
Lib.Videodec2: Stub sceVideodec2AllocateComputeQueue to return a valid computeQueue pointer
Lib.Audio3d: sceAudio3dGetDefaultOpenParameters fix
Ajm: fix init params initialization
Improved path detection in Avplayer
NetFixes : workaround for Epolls on P2P sockets
implemented sceImeDialogGetPanelSizeExtended in Ime Dialog
Np: libSceNpPartner001 stubs
Added NpTus stub
Delete unused fds in sceNetEpollDestroy and sys_socketclose
Added pngenc HLE
Fake Matching2
Skip stdin fd for want_read in select
Fix default pthread attributes
Prevent posix_pthread_mutexattr_settype from setting invalid mutex types
ajm mp3: check frame size on every frame
shader_recompiler
=================
Some fixes for tess shaders
VS clip distance emulation for NVIDIA GPUs
Implemented V_LSHR_B64
Implemented V_CMP_OP_F64
Implemented V_FFBH_I32
fix for incorrectly outputted attribute if cdist emulation is not needed
Video Core
==========
Small readback optimization
Small fixes regarding GDS
Prevent Rasterizer::IsMapped from returning true for memory ranges that wrap the address space
v0.13.0
Correction majeure pour les performances : Fix de la lenteur dans Bloodborne (problème de vitesse longuement attendu).
Améliorations audio critiques : Correction des dysfonctionnements sonores dans God of War 3 et d’autres jeux, grâce à des fixes AJM (notamment sur les problèmes de synchronisation et de qualité sonore).
Sécurité et stabilité du noyau :
Limitation de l’espace d’adresses sous Windows (pas de répercussion directe sur macOS).
Protection renforcée contre les accès non autorisés via Kernel.Vmm.
Corrections dans les appels système (posix_mmap, sceKernelEnableDmemAliasing) et gestion des erreurs (ENAMETOOLONG, posix_rename).
GPU et rendu :
Optimisations ciblées pour Vulkan (gestion des compute clears, suppression de vérifications inutiles pour primitive restart).
Réimplémentation partielle du cache de pipeline et du planificateur de tâches (Scheduler priority pending operation queue).
Amélioration de la gestion des buffers DMA et des remplissages de données (video_core).
Compatibilité et fonctionnalités utilisateur :
Désactivation par défaut de FSR (technologie de upscaling) pour éviter les artefacts potentiels.
Prise en charge basique de l’émulation souris → trackpad (utile pour les périphériques sans support natif).
Réimplémentation des sons des trophées via SDL3 Mixer (correction des bugs précédents).
Changelog complet
Here we are again with an early Christmas present. Santa might not have reached your home yet, but shadPS4 will.
This release brings the long-awaited Bloodborne speedup fix, along with a lot of AJM fixes from our great Roamic dev, who was kind enough to resolve some weird sound issues (God of War 3 and other games now almost have perfect sound).
There are also many additional fixes; I’ll try to summarize as much as I can below.
This release is dedicated to Matthew, who did a lot of work setting up our new shadps4.net site, so greetings to him as well.
So, Merry Christmas to all of you out there. Let’s hope the new year comes with world peace and a bit more logic out there.
Thank you all for your support!
Core
====
-Windows: Limit address space maximum when higher addresses are not needed
-FS: Prevent writing to directories
-Kernel.Vmm: Protect Fixes
-cpu_patches: Patch stack canary accesses
-libkernel: Implement sceKernelEnableDmemAliasing, proper mapping type checks in posix_mmap
-ENAMETOOLONG, posix_rename fix
Libraries
=========
-Stubbed libSceNpCommerce
-Add basic mouse-to-touchpad emulation
-np: Add dialog state tracking for NpCommerce
-Implement http uri escape unescape,sceHttpUriSweepPath
-Network: Fixed null string crash on sceNetResolverCreate
-A lot of AJM fixes
GPU
===
-Avoid initializing Shader::PsColorBuffer in RefreshGraphicsKey
-vk_rasterizer: Attempt to optimize compute clears
-buffer_cache: Split DMA fault handling code from buffer cache
-video_core: Reimplement inline data as buffer fill
-renderer_vulkan: Remove primitive restart disable support check.
-video_core: Initial implementation of pipeline cache
-video_core: Scheduler priority pending operation queue
Shader recompiler
=================
-Fix V_CMP_U64
-Implement V_FLOOR_F64
-Handle -1 as src1 in v_cmp_u64
Misc
====
-Re-implement custom trophy sounds using sdl3 mixer
-Make FSR off by default
v0.12.5
Correction critique réversée : Réversion de la modification des contrôles introduite en 0.12.0, qui rendait de nombreux jeux inutilisables (priorité absolue pour la stabilité).
Améliorations majeures pour macOS :
Correction d’un crash lié à st_mtim dans posix_stat, affectant des jeux comme Resident Evil 4 (RB4) ou son DLC (CUSA02901), avec un impact potentiel sur les builds macOS.
Nouveautés techniques (backends et bibliothèques) :
Système de backend USB générique (usbd) avec implémentation de périphériques spécifiques : Skylander Portal, Infinity Base et Dimension Toypad (compatibilité jeux récents).
Avancées dans les bibliothèques système : gestion de l’authentification (get_authinfo), stubs pour sceNetPoolCreate, et premières implémentations de fonctions réseau (HttpLib) et de gestion de polices.
Corrections mineures mais critiques :
Suppression d’une division par zéro dans le noyau (kernel time).
Correction de doublons dans l’application de patches et de la transmission d’arguments de jeu sous certaines conditions.
Simulation de fichiers en accès "write-only" comme "read-write" pour éviter des blocages.
Interface utilisateur (ImGui) :
Maintien du rendu graphique même lors de changements de couche en attente (pending change_layer), évitant des artefacts visuels.
Architecture logicielle :
Suppression de la dépendance à Qt au profit de lanceurs externes (impact potentiel sur les builds macOS : à vérifier pour les utilisateurs utilisant des interfaces graphiques intégrées).
Changelog complet
Some would say, "why a new release this early"? While releases came every 2-3 months before, the previous 0.12.0 release had an input change, which made multiple games unplayable, so we needed to patch it quite early. With that, some other interesting features and bugfixes came from development continuing as before, so enjoy. ;)
Core
======
-Fix divide by zero in kernel time
-Reverted controller change from 0.12.0 since it appears it breaks a lot of games
-Fix patches being applied multiple times redundantly
-Fix game arguments not being passed under a certain condition
-Simulate write-only file access with read-write access
-filesystem: return st_mtim in posix_stat (fixes RB4 / CUSA02901 DLC crash)
-ImGui: keep drawing when there's a pending change_layer
Libraries
=========
-usbd: Implement usb backend system
-usbd: Emulated Skylander Portal Backend
-usbd: Add Infinity Base Backend
-usbd: Added Dimension Toypad
-Added get_authinfo
-HttpLib: Implemented a few more functions
-Initial font lib implementation
-Better return stub for sceNetPoolCreate
-Libkernel: Implement/stub some functions
GPU
===
-buffer_cache: smaller regions
-add null gpu notice
-Implement sceGnmDrawInitToDefaultContextStateInternal functions
Qt
==
-Remove Qt from emulator - Using lauchers from now on
v0.12.0
Suppression définitive des builds Qt : À partir de cette version, les interfaces graphiques basées sur Qt sont maintenues uniquement pour cette dernière mise à jour (0.12.0). Dès la version 0.12.1, l’émulateur sera exclusivement en ligne de commande (CLI). Des lanceurs sont cependant fournis pour faciliter l’accès.
Améliorations majeures du noyau et de la gestion mémoire :
Mise en place d’un système de mémoire flexible et poolée pour une allocation plus dynamique.
Réécriture complète de la gestion directe de la mémoire (direct memory handling) et correction des bugs associés (alignement mmap, gestion des erreurs de mémoire flexible, flags NoOverwrite dans MapMemory).
Implémentation de sceKernelMemoryPoolGetBlockStats et prise en charge des mappages mémoire chevauchants.
Augmentation des limites d’adressage et refonte de l’initialisation de l’espace mémoire sous Windows.
Corrections critiques dans les bibliothèques système :
Net : Ajout du support epoll (indispensable pour les applications réseau modernes).
Trophées et médias :
Correction de l’extraction des fichiers PNG dans les trophées et implémentation de sceNpTrophyGetGameIcon.
Fix des bugs dans avplayer (gestion des requêtes de lecture, suppression des redémarrages vidéo multiples, suppression de la limite de retard audio).
Authentification et gestion des services :
Amélioration des stubs pour NpAuth et implémentation de sceSystemServiceLoadExec.
Correction des comportements liés à scePlayGoDialog et aux entrées multimodes (Ime).
Gestion des fichiers système : Nettoyage des fichiers de périphérique (/dev/rng) et corrections des permissions exécutables.
Améliorations vidéo et GPU :
Correction des erreurs de copie d’images et de validation des offsets dans les buffers (notamment avec DmaData).
Restauration du chemin CPU pour le cache de buffers (option
Changelog complet
Happy halloween ppl! It is a special day today and what more special than having a brand new shadps4 release . Although it was announced that it Qt builds were gonna removed from 0.12.0 , we decided to release it for one last time . Starting from 0.12.1 , shadPS4 will be cli only , but we already have launchers for you ready , check the download section of the site.
Enough talking here is the latest shadPS4 version and it's changes
Core
====
physical backing for flexible and pooled memory allocation
Refactor direct memory handling
Memory: Implement sceKernelMemoryPoolGetBlockStats
Allow overlapping direct memory mappings
Memory code cleanup and further direct memory fixes
Handle various edge cases related to executable permissions.
Kernel.Fs: Device file cleanup and /dev/rng implementation
Lock linker mutex in RelocateAnyImports
Increase address space limits and rework Windows address space initialization
Fix alignment for mmap
Fix return for running out of flexible memory
Fix NoOverwrite flag behavior in MapMemory
Read-only file mmap fix
Libraries
=========
Net: Epoll support
avplayer: implemented AddSourceEx, SetAvSyncMode, Pause and Resume
avplayer: do not start the video multiple times
ajm: handle ParseRiffHeader flag
avplayer: fix play request state handling
Implemented sceSystemServiceLoadExec
Fixing missing png extraction from trophy files
Implemented sceNpTrophyGetGameIcon
audioout: Do not wait for data within timer.
avplayer: remove maximum audio delay
Use correct trophy folder for games with multiple trophy lists
NpManager: Implement more request-related behavior
NpAuth: Improved stubs
Ime fixes
Fixes scePlayGoDialog status stub
Video Core
==========
Handle mixed samples attachments
Better handling of image copies with DmaData
Fix some image copy and buffer offset validation errors.
image: Improve enforcement of image copy layer rules
Move HDR swapchain configuration to present thread.
buffer_cache: Bring back CPU path
image_info: Fix guest size calculation for linear render targets
amdgpu: Split liverpool registers and cleanup
Shader recompiler
=================
Implement fallback path for missing shaderFloat16support
Fix: V_MUL_I32_I24 | V_MUL_U32_U24
GUI
===
Make UpdatePlayTime not depend on Qt
Make sys_modules folder configurable
Add configurable extra memory
Update Qt to 6.9.3
Add CLI argument to launch the emulator with global config or with default settings
IPC: commands for volume adjustment, input parsing, fsr, gamepad select
Add informative update message for Qt build deprecation
v0.11.0
Améliorations majeures pour les jeux utilisant Unreal Engine : Meilleure prise en charge du démarrage et de l’exécution (certains jeux deviennent jouables), notamment grâce à des corrections au niveau du noyau et des bibliothèques HLE.
Prise en charge accrue des fonctionnalités audio :
Support du microphone et gestion des entrées audio absentes (création d’un périphérique virtuel).
Correction des artefacts verts dans les vidéos/animations (via ffmpeg).
Audio 3D et gestion des sorties audio améliorées (sceAudio3dTerminate, sceAudioOutGetLastOutputTime).
Corrections critiques pour macOS / Apple Silicon :
Builds optimisés pour macOS : Ajout d’une option de mode de présentation (present mode) dans la configuration.
Compatibilité matérielle : Meilleure gestion des registres MXCSR et FPUCW sur les threads créés (impact potentiel sur les performances des jeux exigeants).
Corrections de stabilité : Fix des erreurs liées à MapMemory hors de la mémoire flexible (problème récurrent sur M1/M2).
Minimum requis : Aucune mention explicite d’un changement du macOS minimum supporté, mais des corrections générales du noyau (libkernel) pourraient indirectement améliorer la compatibilité avec les versions récentes (test recommandé sur macOS 13+ pour éviter des plantages).
Améliorations système et performances :
Gestion améliorée des sockets (incluant AF_UNIX), DNS et réseau (extraction automatique du masque de sous-réseau et passerelle).
Validation renforcée des adresses mémoire et gestion des fichiers (corrections des unmaps en lecture seule, posix_munmap).
Logs détaillés ajoutés (CPU utilisateur, RAM totale, OS hôte) pour le débogage.
Bibliothèques HLE et compatibilité Orbis :
Mise à jour des stubs pour libSceHmd, libSceMove, et libSceCamera (meilleure prise en charge des périphériques VR et de mouvement).
Corrections des fonctions réseau
Changelog complet
A brand new release just dropped in . As usual we have a lot of new features and bugfixes to this release with the most important that games that uses Unreal Engine are now start to booting and some of them are even playable.
Core
====
* mmap executable memory
* Zero top bits in INSERTQ/EXTRQ
* Fix read-only file unmaps on Windows
* Standardize RegisterLib names for HLE libraries
* Filesystem: Fix create flag handling in open
* If CONTENT_ID is empty in param.sfo, try using TITLE_ID as fallback
* Add an unreachable on hitting ud2 instead of getting stuck in an infinite loop
* Microphone support
* Only update configs when using a different build
* Core: Return error if DirectMemoryQuery address is too high
* Simple IPC for external control
* Filesystem: Fix error behavior for close calls on std handles
* Sockets fixes
* Add entries for . and .. in MntPoints::IterateDirectory
* Log user CPU, total RAM, and OS
* Filesystem: Directory-related fixes
* Memory: Align size and address in posix_munmap
* Filesystem: Abstract handling of directory files
* Replace direct usage of wrgsbase and rdgsbase with a more portable solution
* config: Add present mode option.
* Game specific configs
* Improve memory address validation logic
* Remove checks for symbol version_major and version_minor
* Fix MXCSR and FPUCW registers on created threads
* Log error on MapMemory out of flexible memory case
* Open a dummy audio input device if none is present in the system
* Ds4 Speaker Audio
Libs
====
* libkernel: Add missing mprotect export
* IME fixes
* video_out: Internal Resolution Support
* Implement sceKernelGetSystemSwVersion
* Implement sceAudio3dTerminate
* Implement sceAudioOutGetLastOutputTime
* Register posix_rename
* Implement sceKernelError
* Using custom usb lib
* inet_ntop and inet_pton
* Extract netmask and default gateway from host system
* Implement simple DNS name resolution
* Return the number of samples enqueued in AudioOut
* Return an error before a pad is opened
* scePadResetOrientation
* Fix sceAudioOutOutputs
* Fixed RetrieveNetmask for windows
* Net: Fix various socket-related issues
* sys_getpeername
* Implement ORBIS_NET_CTL_INFO_HTTP_PROXY_CONFIG
* Fix get/setsockopt levels
* libkernel: more network functions for OpenOrbis compatibility
* libSceAppContent: Use last 16 characters of DLC folder to determine entitlement label
* Make libSceRtc fully HLE
* Fixed green artifacts in movies/animations (ffmpeg)
* Select support
* libSceAppContent: Determine entitlement labels from additional content param.sfo
* Fix sceVoiceGetPortInfo
* Fix handling of RFC 3339 formatted dates
* libSceNpParty: Stub out functions with not-in-party behavior
* Add stubbed libSceNpProfileDialog library
* Better libSceMove stubs
* Better libSceCamera stubs
* Implement ORBIS_NET_SO_ERROR_EX in GetSocketOptions
* Improved libSceHmd stubs
* libSceHmdSetupDialog stubs
* libSceVrTracker stubs
* semaphore: Invert priority order
* semaphore: Fix determining wait status when canceled/deleted
* Implement send/recvmsg
* libkernel: Return EINVAL if mmap is called with length = 0
* SaveData fixes
* Handle null event flags in cancel and clear
* AF_UNIX preliminary support
* Np libraries cleanup
* Implement sceKernelIsInSandbox, update OrbisSysModule Enum
* equeue: Few fixes for sceKernelWaitEqueue
* Implement getargc and getargv
* Simple implementation of sceGnmUnmapComputeQueue
* kernel: Improvements to condvars.
* kernel: More thread code clean-up.
Shader recompiler
=================
* Fix V_ADDC_U32 carry-out edge cases
* Reorganize data share operations and implement GDS
* ir_passes: Fold readlane with ff1 pattern
* Implement ff1 with subgroup ops
* Replace buffer pulling with attribute divisor for instance step rate
* Implement guest barycentrics
* Fix ff1_i32_b64 not accepting vcc as its argument
* attribute: Correct bary coord function
* Avoid clearing HTILE when shader contains address calculation
* Implement MUBUF instructions for shorts/bytes
* control_flow_graph: Treat empty conditional branch as noop
* Fix incorrect bary coord loads when unsupported
* Use VM bit for conditional discard
* translate: Correct instance id fetch in local shader
* V_ALIGNBYTE_B32 and V_ALIGNBIT_B32
* Rework sharp tracking for robustness
* Improve heuristic for attributes passed via ring buffers
* ir: Perform degamma in shader when sampler sets force_degamma
* Implement V_CMP_GT_U6
* Improve shader exports accuracy (part 1)
* Do not emit Layer when emulating primitive type with tessellation.
* vector_interpolation: Address some assertions
* Support multiple attributes using the same load in vertex fetch shaders
* Handle S_LSHL_B32 in ParseCopyShader
* Initialize all ClipDistance and CullDistance values
* Handle ExecLo source in S_FF1_I32_B64
* Apply float type for float buffer atomics
* constant_propagation_pass: Handle a few more bitwise instructions.
* Implement V_ADD_F64 and loading 64-bit float from SGPR.
* Handle offsets and format overrides in fetch shaders
* Relax dual source blending assert to allow up to two targets.
* Allow vector and scalar offset in buffer address arg to LoadBuffer/StoreBuffer
* Support PointSize and ViewportIndex attributes.
* image: Do not set storage usage for block-encoded formats
GPU
===
* texture_cache: Change depth resolve new image back to max of resources
* texture_cache: Async download of GPU modified linear images
* buffer_cache: Bring back upload batching and temporary buffer
* vk_rasterizer: Set render area to window scissor when no framebuffers are bound
* renderer_vulkan: Handle more miscellaneous GPU setting
* vk_instance: Remove usage of depth clamp control
* liverpool_to_vk: Don't use remapped format for clear value
* vk_pipeline_cache: Add fallbacks for R8Srgb and B5G6R5
* texture_cache: Clamp buffer image height to microtile height
* vk_rasterizer: Improve stencil clears
* texture_cache: Do not modify mip height for copy in volume texture.
* video_core: garbage collector (part 1)
* video_core: Rework tile manager
* texture_cache: Only queue image downloads if the image address is greater than zero.
* video_core: Fix some struct comparisons.
* vk_pipeline_cache: Cleanup graphics key refresh
* renderer_vulkan: Restore color write dynamic state
* vk_graphics_pipeline: Prioritize depth clip when separate clip/clamp control is not supported.
* vk_pipeline_cache: Add storage images to descriptor heaps
* vk_scheduler: Properly initialize vulkan structures in RenderState.
* renderer_vulkan: Ignore blend parameters when disabled.
* vk_rasterizer: Set image flag bits in resolve
* liverpool: Write valid queries on PixelPipeStatDump
* amdgpu: Report GPU perf counter in GPU cycles.
* vk_rasterizer: Only assert on primitive restart if performing indexed draw
* video_core: Upload buffer memory around unmapped pages
* video_core: Address various UE bugs
* video_core: Check DB_SHADER_CONTROL register before performing depth exports
* texture_cache: Make sure that readback images are downloaded in time
QT interface
============
* Extend Qt detection to support multiple drives
* Fix gui emulatorLanguage
* Volume slider that adjusts how loud games are on a global level
* Disable autoupdate on branches that aren't the official main
* Add default trophy sound
* Add toggle in the settings window for readbacks
* Apply cheat/patch only if AppVer matches game version
* Multiple controllers: Select active controller and set default controller
* Added customizable controller hotkeys
* Remapping Guis - more minor fixes
* Fix Play Time - Wasn't saving every minute
* Keybard/pad config common preset name is translated to target language
* Qt: update to 6.9.2 and remove Mac workaround
* Qt: enforce set order for kbm string mapping to prevent duplicate combo mappings
* Move QT plugins to the qtplugins folder on Windows QT builds
* Toggle to enable/disable logging
* Qt: prevent saving/canceling for remapping/hotkeys dialogs while waiting for inputs
* Add an option to change DLC path from the settings
* Use icons, music and background images of updates if available
* Qt: Add FSR options to settings GUI
* Increase the size of the description text box
* Log presets feature
* QT: TrophyViewer size adjustment and 'Log' tab translated
* QΤ: Add GUI for game-specific settings
* QT: Add the Log tab to 'Default tab when opening settings'
* Qt: Add descriptions for new experimental settings in GUI
* QT: Fix Patches 'Incompatibility Notice'
* Qt: Group game-specific and non-game-specific items in the same tabs
* QT: Note Vulkan SDK requirement for validation tooltips
* Fix loading fullscreen setting
**Full Changelog**: https://github.com/shadps4-emu/shadPS4/compare/v.0.10.0...v.0.11.0
v0.10.0
Améliorations GPU majeures :
Direct Memory Access (DMA) pour la mémoire vidéo (implémentation clé par LNDF) et optimisations du page manager/region manager pour une meilleure gestion de la mémoire GPU.
Corrections critiques dans le shader recompiler (fix des opcodes manquants comme V_CVT_F64_U32, BUFFER_ATOMIC_CMPSWAP, et support du dual source blending), stabilisant des jeux comme Bloodborne ou The Last Guardian.
Prise en charge des readbacks (lecture CPU des modifications GPU) pour résoudre des problèmes de vertex explosions et améliorer la compatibilité avec des titres comme P.T ou inFAMOUS.
Corrections système/performance :
Fix des thread races dans le buffer_cache (upload/invalidation) et optimisations des atomic operations (ex: BUFFER_ATOMIC_SMAX_X2).
Correction des posix_rename et write dans le système de fichiers, ainsi que des gyro calculations pour les manettes (pad).
Améliorations spécifiques à macOS :
Support officiel des architectures Apple Silicon (M1/M2/M3) via des optimisations du page manager et du memory tracker (pas de mention de builds .dmg ou de macOS minimum dans ce changelog).
Corrections mineures : Fix des validation errors dans Vulkan introduites par les changements de shared memory (impact potentiel sur les builds macOS Vulkan).
Interface utilisateur (GUI) :
Ajout des favorites dans la liste des jeux et réécriture du menu Controller (remappage des touches, gestion des touchpads et XBox paddles).
Mise à jour de Qt à la version 6.9.1 (compatibilité avec les dernières API macOS).
Changelog complet
Surprise! Bet you didn't expect a release from me, did you? :) Well you all asked for a miracle, and here I am, providing one. Anyways, this release is dedicated to one of our not-so-new dev, LNDF, who is responsible for a significant amount of the new GPU code, such as implementing Direct Memory Access for video memory. This isn't a solo endeavour though, there were far more updates to the emulator from the rest of the team as well, improving compatibility across well-known titles such as P.T, Driveclub, inFAMOUS, Bloodborne, The Last Guardian, Shadow of the Colossus (although this one still can't boot without hacks) and more:
Core
====
- devtools: Add Module Viewer
- equeue: fix WaitEqueue assert on nullptr and move small timer check to WaitForEvents
- Memory Cleanup & Fixes (like, a lot of them)
- Pthread affinity fixups
- Emulate libSceGnmDriver's init behavior
- equeue: Fix passing user data in user-triggered equeue events
- memory: Reduce clamp threshold to 2MB
- Improved sceKernelMapNamedFlexibleMemory logging and add misc function exports
- cpu_patches: Patch movntss and movntsd
- equeue: HrTimer fixes
- filesystem: Fixes for posix_rename and write
- input: Silence unmapped keybind mappings and add XBox paddles
- input: Replace Back Button Behaviour with a rebindable solution for touchpad left, right and center
- input: Emulate motion controls with a mouse
- input: Code and documentation cleanup
- kernel: Check returned module in sceKernelGetModuleInfoFromAddr
- bit_array: Remove non const operator~
- settings: Update outdated config files on startup
Libs
====
- Added libSceCompanionUtil, libSceVoice stubs
- net: Implemented sceNetInetNtop
- pad: Fix touchpad handling and change gyro calculation
- np_manager: Add option to fake user being signed in to PSN
- zlib: Fix request queues
- video_out: fix sceVideoOutGetResolutionStatus error behavior
- videodec2: Update structs to match newer firmwares
- np_trophy: Change initial context and handle values
- np_trophy: Fix potential out of bound crash
- kernel: Stub out SetGPO and GetGPI
- ngs2: Initialize system handle in HLE Ngs2 library
- video_out: Add alternate code paths for handling legacy struct behavior in sceVideodec2GetPictureInfo
Shader recompiler
=================
- Fix incorrect float type on FPRecip64
- Implemented opcodes: V_CVT_F64_U32, V_RCP_LEGACY_F32, S_FLBIT_I32_B64, BUFFER_ATOMIC_CMPSWAP, DS_READ_U16, DS_WRITE_B16, DS_ADD_U64, BUFFER_ATOMIC_SMAX_X2, BUFFER_ATOMIC__X2 and V_CMP_EQ_U64
- Misc opcode fixes
- Handle R128 bit in MIMG instructions
- Provide custom border color to samplers
- Implement dual source blending
- Implement linear interpolation support
- Better handling of geometry shader scenario G
- Patch SRT walker on segfault
- Cleanup fragment attribute handling
- Various fixes to shared memory and atomics
- Reduce cases where shared memory to buffer pass is needed
- Fix shared memory definition when only one type is used
- Handle immediate inline samplers
- Fix some shared memory accesses when workgroup struct is omitted
- Implement buffer atomic fmin/fmax instructions
- Fix handling unbound depth image
- Optimize general case of buffer addressing
- Mark image as written when its used with atomics
GPU
===
- video_core: Implement Direct Memory Access
- Fix image extent in buffer copy to image
- texture_cache: Handle overlap with equal address and different tiling mode
- liverpool: Stub PM4 opcodes 0x8E (GetLodStats) and 0x20 (SetPredication)
- liverpool: Implement PM4 opcode 0x22 (CondExec)
- texture_cache: Fix ExpandImage behaviour
- buffer_cache: Better image search for buffer validation
- texture_cache: Handle compressed views of uncompressed images
- buffer_cache: Inline data to cpu unless gpu modified
- tile_manager: Downgrade assert to error
- texture_cache: Basic handling of partially resident images
- liverpool: Handle PM4 type 2 in acb
- vulkan: Fix two validation errors introduced by shared memory changes
- texture_cache: Implement colordepth copies
- buffer_cache: Bump device local staging buffer size
- texture_cache: Implement color to multisampled depth blit pass
- vulkan: Enable sampleRateShading
- vulkan: Log improper image format uses
- video_core: Page manager/region manager optimization
- video_core: Page manager and memory tracker improvements
- vk_rasterizer: Use shared_first_mutex
- vector_alu: Improve handling of mbcnt append/consume patterns
- buffer_cache: Fix various thread races on data upload and invalidation
GUI
===
- translations: A yes amount of Crowdin updates
- auto_update: Fix Changelog Error
- game_list: Set Minimum Icon Size List to 48
- qt: Update to 6.9.1
- qt: save gui settings to separate file
- remapping_gui: If duplicate unique inputs found, show which buttons have duplicates
- remapping_gui: Update gui with new touchpad inputs
- game_list: Favorites in the game list
- remapping_gui: Rewrite the Controller menu and add minor fixes to the Keyboard & Mouse one
Misc:
=====
- fork_detection: Fix SSH remote links
- building: Add missing dependency for Fedora
- launch: Launch games by providing their folder instead of the eboot path
- launch: Add option to ignore game patch
- building: Changed package name to openal-soft-devel reflecting the fedora name package change
- ci: Work around Qt issue on new Xcode
- building: add CMakePresets.json and expand the number of configurations
- building: Update note on recursive cloning
- building: Autodetect Qt install path on Windows
As always, you can check out the full changelog [here](https://github.com/shadps4-emu/shadPS4/compare/v.0.9.0...v.0.10.0).
---
The big new feature this release brings with it is readbacks, which emulates shared memory on the PS4 by reading back memory that was modified on the GPU back to the CPU side, enabling a lot more games to function properly, fixing vertex explosions in Bloodborne and similar games, almost fully fixing climbing on Trico in The Last Guardian, and much, much more. It isn't enabled by default though, you'll have to turn it on manually in the config file yourself, as this is still a very experimental feature, and will break some games, plus it comes with a not insignificant hit to performance as well.
v0.9.0
Améliorations majeures de compatibilité et performances :
Correction de sceKernelAllocateDirectMemory (problèmes critiques en mémoire directe) et ajout de l’export de l’adresse du fichier eboot pour une meilleure gestion des jeux.
Mise en place de mécanismes avancés de gestion mémoire (ex: sceKernelMemoryPoolBatch, sceKernelMapDirectMemory2) et optimisations des appels système (ex: scePthreadSetaffinity, scePthreadGetaffinit).
Correction des erreurs de chargement de modules et gestion des appels système via un wrapper pour une meilleure stabilité.
Corrections critiques sur macOS :
Implémentation ciblée de sceKernelUuidCreate pour macOS/Linux, essentielle pour des fonctionnalités comme les sauvegardes ou les dialogues système.
Amélioration des formats de mémoire (mprotect limité aux pages entières) et gestion des erreurs pour les appels MapMemory.
Améliorations des bibliothèques (libs) :
Corrections majeures dans les sauvegardes (SaveData) : respect du répertoire de sauvegarde défini dans param.sfo et suppression des accès null dans les dialogues.
Implémentation partielle de sceNet (réseau) et corrections des timers (sceKernelAddTimerEvent) pour une meilleure gestion des événements en temps réel.
Optimisations GPU/Vulkan :
Restauration de la version Vulkan à 1.3 et corrections des formats de surface/attachment pour éviter les artefacts visuels.
Support des formats 32-bit Unorm et gestion des erreurs de profondeur via robustImageAccess2.
Stabilité et sécurité :
Nettoyage du stack avant l’exécution du code invité pour éviter les fuites mémoire.
Corrections dans le recompileur de shaders (ex: gestion des conversions de formats, opcodes IMAGE_ATOMIC_FMIN/FMAX, SnormNz).
Changelog complet
A brand new release just dropped in . As usual we have a lot of new features and bugfixes to this release making even more games reaching ingame and some of the are even playable :)
I will let you figure out the rest , here is a short list of updates
Core
====
sceKernelAllocateDirectMemory hotfixes
Export eboot address
libkernel: Various filesystem fixes
Only perform early read-write open when truncating is needed
emulator: Fix log initialization order.
Core: Fix module load addresses
add scePthreadSetaffinity and emulate affinity
Core: Memory Fixes
libkernel: Implement sceKernelMemoryPoolBatch
core: Introduce host call wrapper.
kernel: Implement scePthreadGetaffinit
Mprotect only over whole pages
kernel: macos/linux Implement sceKernelUuidCreate
Implement sceKernelIsStack
Implement sceKernelMapDirectMemory2
Proper error handling for MapMemory errors
Libs
====
Implement sceImeDialogGetPanelSize
VideoOut event cleanup
Implement sceKernelGetModuleInfo, sceKernelGetModuleInfoInternal, and sceKernelGetModuleList
Update ime_dialog.h
Implement sceKernelPwritev
sceNet initial implementation
SaveData fixes
Clear stack before executing guest code
[Libs] Stubs sceSigninDialog
log error for videodec ,videodec2
[Libs] sceNet
sceKernelAddTimerEvent implementation
equeue: Clean up timers implementation
[Libs] Companion httpd
SaveDataDialog: fix possible null access
SaveData: respect install dir in param.sfo to select the game save folder
Savedata: Fix missing uses of config based save data dir.
Trophy deletehandle fix
Shader recompiler
=================
Use GetSrc in VALU insts instead of assuming vector reg (was vcc_lo)
lower_buffer_format_to_raw: Fix handling of format remapping
shader_recompiler: Add lowering pass for when 64-bit float is unsupported.
Implement IMAGE_ATOMIC_FMIN and IMAGE_ATOMIC_FMAX for 32bit floats
shader_recompiler: Few fixes for buffer number conversions
Implement SnormNz conversion
shader_recompiler: Widen num_conversion bitfield
Adding opcode IMAGE_SAMPLE_B_O
shader_recompiler: Always mark buffers as storage buffers.
Handle -1 as V_CMP_NE_U64 argument
Avoid post-increment of SGPR in S_*_LOAD_DWORD
Handle VgtStreamoutFlush EVENT
shader_recompiler: Fix buffer type reading from step rate attribute.
GPU
===
renderer_vulkan: Restore Vulkan version to 1.3
pp_pass: Use correct surface format.
vk_rasterizer: Fix updating wrong color attachment when skipped by mask
vk_presenter: Use correct format for output frame image and view
vulkan: do not use VK_EXT_extended_dynamic_state
vulkan: Handle incompatible depth format using null binding.
gnm: Implement sceGnmDrawIndexIndirectMulti
liverpool: Log more information on SetQueueReg.
renderer_vulkan: Properly enable dualSrcBlend feature
buffer_cache: Split updateBuffer calls into 65536 byte chunks.
vk_instance: Enable robustImageAccess2
fix: PM4CmdWaitRegMem memory address
amdgpu: Handle 32-bit Unorm formats
GUI
===
multikey for kbm_gui
qt: Delay physical device enumeration to settings open
qt: Update save data dir open to use name from PSF
v0.8.0
Nouveautés majeures dans le noyau et les bibliothèques :
HLE (High-Level Emulation) de sceDiscMap et travail initial sur ngs2 (compatibilité avec les jeux numériques Sony).
Prise en charge du passthrough USB via libusb, utile pour les périphériques externes (manettes, claviers, etc.).
Améliorations GPU/Vulkan :
Gestion des paquets compute fragmentés entre deux buffers de commandes.
Optimisations des états dynamiques (depth-stencil, primitives) pour réduire les redondances.
Implémentation de fonctions manquantes comme sceVideoOutGetEventCount et sceVideoOutDeleteVblankEvent.
Support des couches Vulkan sur macOS dans les builds SDL (correspondance avec les exigences du système).
Corrections critiques du noyau et des bibliothèques :
Correction de sceKernelAllocateDirectMemory et sceKernelAvailableDirectMemorySize (gestion mémoire directe).
Émulation de sceKernelInternalMemory pour une meilleure compatibilité avec les jeux exigeants.
Nettoyage du code du système de fichiers et gestion des erreurs lseek par l’OS hôte.
Améliorations spécifiques à macOS :
Builds .dmg compatibles avec Apple Silicon (M1/M2/M3) via le support des couches Vulkan (pas de mention de macOS minimum spécifique, mais dépendances SDL/Vulkan mises à jour).
Correction implicite des accès mémoire dans vk_rasterizer (verrouillage partagé pour éviter les conflits sur macOS).
GUI et gestion des jeux :
Activation/désactivation individuelle des dossiers de jeux (pour isoler les mises à jour ou les patches).
Support des chemins Unicode pour les répertoires d’installation (correction d’un bug potentiel sur macOS avec des noms de fichiers non-ASCII).
Suppression du support fpkg (format de patch obsolète, remplacé par des dossiers avec suffixe -patch).
Changelog complet
Another exciting release from shadPS4 team coming today . This time our release is dedicated to one of our latest Uber Dev "stephen". A lot of new fixes , features have come up with this release let's sum some below.
Core
====
-lseek: let the host OS set lseek errors
-Filesystem code cleanup
-Emulate sceKernelInternalMemory mapping
-Fixed sceKernelAllocateDirectMemory and sceKernelAvailableDirectMemorySize
Libraries
=========
-sceDiscMap is now HLE.
-Initial ngs2 HLE work.
-Implement libusb passthrough
-Proper ulobjmgr stubs
-Initial Audio3d implementation
-NpAuth library stub
GPU
===
-Reset previous buffer label instead of current one
-Handle compute packets that are split between the ends of two command buffers
-Implement DmaDataSrc::MemoryUsingL2 and DmaDataDst::MemoryUsingL2
-renderer_vulkan: Use more depth-stencil dynamic state.
-renderer_vulkan: Only update dynamic state when changed.
-renderer_vulkan: Make some primitive state dynamic.
-Implement sceVideoOutGetEventCount and sceVideoOutDeleteVblankEvent
-vk_rasterizer: Control mapped_ranges access with shared lock.
-renderer_vulkan: Improve handling of required vs optional extensions.
-vk_rasterizer: Improve viewport depth calculations.
-texture_cache: Relax mismatched image type from assert to cache miss.
-renderer_vulkan: Support loading Vulkan layers on macOS SDL build.
Shader recompiler
=================
-Improve divergence handling and readlane elimintation
-Add S_SETPRIO to EmitFlowControl
-Use VK_AMD_shader_trinary_minmax when available
-resource_tracking_pass: Add heuristic to detect incorrectly tracked buffer sharp
-Implement S_FLBIT_I32_B32 and V_MUL_HI_I32
-Implement S_SUBB_U32 instruction
-Fill in IMAGE_GATHER4_* variants in table
-Implementing DS_SUB_U32, DS_INC_U32, DS_DEC_U32.
-Implement SET_PC_B64 instruction
GUI
===
-Add option to enable/disable game folders individually
-Handle "-patch" as the suffix for game update folders
-Trophy Viewer - Select Game
-Removed fpkg support.
-Fix support for unicode paths for game install directories
-As usual a lot of new translations
**Full Changelog**: https://github.com/shadps4-emu/shadPS4/compare/v.0.7.0...v.0.8.0
v0.7.0
Nouveautés majeures :
Ajout du support HDR et FSR (Upscaling de performance) pour améliorer les performances graphiques et la fluidité.
Améliorations de compatibilité :
Correction des problèmes liés aux appels HLE (High-Level Emulation) en mémoire, réduisant les erreurs comme "Attempted to track non-GPU memory".
Meilleure prise en charge des jeux Unity, avec des corrections ciblées pour les titres utilisant ce moteur.
Corrections techniques critiques :
Fix des événements vidéoOut et du compilateur de shaders, stabilisant les rendus graphiques.
Réparation du gyroscope et des capteurs d’accélération, utiles pour les jeux exploitant ces fonctionnalités (ex : Astro’s Playroom).
Optimisation pour les CPU plus anciens, élargissant la compatibilité matérielle.
Interface utilisateur et gestion des entrées :
Remappage du clavier et de la souris pour une personnalisation accrue des contrôles.
Corrections et améliorations dans l’interface Qt, incluant des fixes d’affichage et de réactivité.
(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)
Changelog complet
Another exciting release coming from shadPS4 team . A lot of new features (FSR,HDR) and a lot fixups in this new release . It is really a special day for me since it is my birthday as well (shadow) and 24 years after first pcsx2 release.
It is amazing to see what this team has accomplish since my previous anniversary release. From some openOrbis demos last year we went to having a lot of commercial games running (yes not only bloodborne). Hoping next release will bring even more games working ;)
A small list of changes :
Keyboard and mouse input remapping
A lot of fixes to shader recompiler
Fixed videoOut events
Lot of fixes to memory HLE calls
Qt gui fixes and improvements
Fixed some causes of "Attempted to track non-GPU memory"
Fixed gyro and acceleration sensor handling
Improved compatibility with older cpus
Improved compatibility with Unity games
Added HDR support
Added FSR support
Translations are now be handled from crowdin as well : [https://crowdin.com/project/shadps4-emulator](https://crowdin.com/project/shadps4-emulator)
**Full Changelog**: https://github.com/shadps4-emu/shadPS4/compare/v.0.6.0...v.0.7.0
Get it on our download page , and don’t forget to check our compatibility list
v0.6.0
Nouveautés majeures :
Implémentation de fonctions système manquantes : Ajout de sceGnmGetEqEventType, sceKernelGetEventData, sceNpCmp et sceKernelAio* pour améliorer la compatibilité avec des jeux nécessitant ces appels.
Améliorations critiques pour le gameplay : Correction des problèmes liés aux Surface Formats (formats de textures) et aux requêtes mémoire (sceKernelVirtualQuery), permettant un rendu plus stable et des performances optimisées.
Prise en charge des contrôles motion : Intégration des Motion Controls (contrôles de mouvement), utile pour les jeux exploitant cette fonctionnalité (ex. : Astro’s Playroom, Uncharted 4).
Optimisation du stockage : Possibilité de modifier le chemin de sauvegarde des données, avec une meilleure gestion globale des savedata.
Améliorations techniques sous-jacentes :
Shader et GPU : Récompilation des shaders améliorée et optimisation des Devtools pour faciliter le débogage.
Audio : Corrections et améliorations du backend audio (SDL), réduisant les latences et les artefacts sonores.
HLE (High-Level Emulation) : Renforcement de la bibliothèque fibers pour une meilleure gestion des threads logiciels.
Corrections critiques :
Fix des problèmes d’initialisation de l’address_space sur Windows (impact indirect mais utile pour les tests croisés).
Corrections des Unmap Fixes (gestion mémoire) pour éviter des plantages ou des comportements erratiques dans certains jeux.
Note : Aucune mention spécifique à macOS, Apple Silicon ou builds .dmg dans ce changelog.
Changelog complet
A new release first of this year. A lot of things has been improved since last release , making a lot of new games playable and some others has interesting progress . Below is a short list of what's changed
Improved Devtools
Improvements in shader recompiler
Added sceGnmGetEqEventType/sceKernelGetEventData
Improvements to audio backend (SDL)
Improved HLE fibers library
Motion Controls implementation
Improvements to savedata
Unmap Fixes
Implemented sceNpCmp functions
GUI: Speed up GUI loading by caching game sizes
sceKernelAio* implementation
Fixes to several Surface Formats
Fix for address_space initialization on Windows
sceKernelVirtualQuery Fixes
Added ability to change save data path
libraries: Implement libSceZlib
Several translations update
Don't forget it is time to update our compatibility list on : https://github.com/shadps4-emu/shadps4-game-compatibility
**Full Changelog**: https://github.com/shadps4-emu/shadPS4/compare/v.0.5.0...v.0.6.0
v0.5.0
Nouveautés majeures :
Ajout du support pour Ajm (format de compression audio PS4).
Implémentation d’un décodeur vidéo (Videodec) pour améliorer la compatibilité des jeux.
Refonte complète de l’émulation des threads POSIX (pthread) pour une meilleure stabilité.
Support de Vulkan 1.4, incluant des optimisations pour les shaders et la tessellation (tessellation shader).
Réécriture du processeur GPU avec une architecture plus modulaire et performante.
Corrections importantes :
Correction des problèmes de couleur de bordure dans l’interface graphique.
Fixes ciblant spécifiquement les jeux Unity, avec une meilleure gestion des mises à jour séparées.
Correction des problèmes de splash screen (écran de démarrage).
Ajout d’une correction gamma pour une meilleure fidélité des couleurs.
Améliorations techniques :
Portage de libpngdec vers libpng (compatibilité et optimisations).
Améliorations du cache de textures pour réduire les latences et la consommation mémoire.
Nettoyage et mise à jour des bibliothèques utilisées (CMake, dépendances).
Corrections mineures de l’interface utilisateur (GUI) et des assets graphiques.
Changelog complet
Hohoho Merry Christmas to everyone and a brand need release . There are so many new things here , i will just try to catch up the most important ;)
- Ajm support
- Videodec implementation
- Fix border color
- Rewrite pthread emulation
- Port libpngdec to libpng
- Texture cache improvements
- Some GUI fixes & improvements
- Libraries cleanup
- Fixes for cmake
- Many fixes for Unity games
- Vulkan 1.4 support
- Shader editing
- Tesselation
- GPU processor refactoring
- More Fixes for Separate Update
- Splash fixes
- Gamma correction
**Full Changelog**: https://github.com/shadps4-emu/shadPS4/compare/v.0.4.0...v.0.5.0
v0.4.0
Nouveautés majeures et fonctionnalités :
Ajout du support des shaders géométriques (Geometry shaders), améliorant la compatibilité graphique.
Gestion améliorée des sauvegardes : correction des écritures concurrentes et des pointeurs nuls.
Système de mise à jour automatique implémenté pour les correctifs et ajouts futurs.
Prise en charge du son en arrière-plan (musique de titre) dans la liste des jeux.
Support multi-dossiers d’installation pour les jeux et les mises à jour, avec une séparation claire entre les deux.
Améliorations audio : gestion des buffers, vérifications de plage et verrouillages pour éviter les plantages.
Support tactile amélioré : clic sur le pavé tactile via le bouton arrière des manettes non PS4/PS5 (back button).
Corrections critiques :
Correction des erreurs SSE4.2 pour les CPU Intel (compatibilité élargie).
Stabilisation des sauvegardes (fichiers PKG) et suppression des assertions XML pour les trophées.
Gestion des erreurs réseau : stub sceNetErrnoLoc et améliorations des bibliothèques réseau.
Corrections des problèmes de timing FPS via GetSystemTimePreciseAsFileTime.
Corrections des modules LLE (Low-Level Emulation) : chargement depuis sys_modules/GAMEID.
Améliorations spécifiques à macOS :
Correction des chemins et répertoires sur macOS : nettoyage du code path_util et garantie du répertoire courant (current directory) pour éviter les erreurs de chemin.
Compatibilité accrue avec Apple Silicon (M1/M2/M3) : optimisations sous-jacentes dans la gestion des ressources et des threads (mutex adaptatifs).
Amélioration de la navigation clavier dans la liste des jeux (impact indirect mais utile sur macOS).
Corrections mineures liées aux formats de surface Vulkan (meilleure détection des fonctionnalités manquantes sur macOS).
Changelog complet
## What's Changed
* shader recompiler fixes
* Emulated support for cpus that doesn't have SSE4.2a (intel cpus)
* Frame graph + Precise 60 fps timing
* Save data: fix nullptr & concurrent file write
* Auto Update
* Error dialog implementation
* Swapchain recreation and window resizing
* Add playback of background/title music in game list
* kernel: Quiet sceKernelWaitEventFlag error log on timeout
* Improve keyboard navigation in game list
* core/memory: Pooled memory implementation
* Fix PKG loading
* replace trophy xml assert with error
* Refactor audio handling with range checks, buffer threshold, and lock
* audio_core: Fix return value types and shift some error handling to library
* Devtools: PM4 Explorer
* Initial support of Geometry shaders
* Working touchpad support
* net: Stub sceNetErrnoLoc
* Add support to click touchpad using back button on non PS4/5 controllers
* Multiple Install Folders
* Using a more standard data directory for linux
* video_core: Implement sceGnmInsertPushColorMarker
* ime_dialog: Initial implementation
* Network libs fixes
* Use GetSystemTimePreciseAsFileTime to fix fps timing issues
* Added adaptive mutex initializer
* Small Np + trophy fixes
* Separate Updates from Game Folder
* Minor Fixes for Separate Update Folder
* AvPlayer: Do not align w/h to 16 with vdec2
* Improve sceSystemServiceReceiveEvent stub
* renderer_vulkan: Commize and adjust buffer bindings
* Add poll interval to libScePad
* Add more surface format mappings.
* vulkan: Report only missing format feature flags.
* IME implementation
* Videodec2 implementation
* path_util: Make sure macOS has current directory set and clean up path code.
* Load LLE modules from sys_modules/GAMEID folder
**Full Changelog**: https://github.com/shadps4-emu/shadPS4/compare/v.0.3.0...v.0.4.0
v0.3.0
Ajout de fonctionnalités majeures :
Support des cheats et des patches pour modifier le comportement des jeux.
Intégration des DLC (contenus téléchargeables) et amélioration de la compatibilité avec des titres notables (ex. : visual upgrades).
Système de déverrouillage des trophées (PSN) et prise en charge étendue des contrôleurs (DualShock 4/5, Xbox Series X|S/One).
Ajout d’un AVPlayer pour une gestion avancée des vidéos (ex. : cinématiques).
Corrections et améliorations critiques :
Incompatibilité des sauvegardes : les fichiers de progression antérieurs peuvent ne plus fonctionner (guide de migration fourni via Discord).
Interface utilisateur (GUI) refondue avec une meilleure ergonomie et des traductions étendues (26 langues).
Données techniques et compatibilité :
Pas de mention spécifique à macOS (builds .dmg, Apple Silicon, ou correctifs) dans ce changelog.
Changelog complet
Hey there ,shadPS4 v0.3.0 is finally here!
We have some exciting new features to share with you:
- Cheat/Patching support
- DLC support
- New translations support (26 languages)
- Support for unlocking trophies
- Support for more controllers (Dualshock and Xbox)
- Many GUI imporovements
- AVplayer
- And much more!
The emulator can boot notable games with support for visual upgrades.
Beware! As a result of the new changes, old save files may no longer be compatible. So if you value your current progress, please follow this guide before updating: https://discord.com/channels/1080089157554155590/1258851012924538931/1286753740233117737
Lastly, for those of you who'd like to donate to the project, we now have a Kofi page! https://ko-fi.com/shadps4
Any donations received will go towards acquiring necessary hardware and games for testing as well as needed infrastructure setup.
As always feel free to update compatibility list with new 0.3.0 findings at https://github.com/shadps4-emu/shadps4-game-compatibility
v0.2.0
Prise en charge officielle de macOS :
Ajout d’un build natif pour macOS (format .dmg) et support des processeurs Apple Silicon (M1/M2/M3) via Rosetta 2 ou compilation native.
macOS minimum requis : 13.0 (Ventura) pour les builds officiels (compatibilité rétrograde non garantie).
Améliorations majeures des shaders :
Refonte du shader recompiler avec une meilleure gestion des optimisations matérielles, réduisant les artefacts visuels sur certains jeux (ex : textures floues, ombres déformées).
Prise en charge accrue des effets graphiques avancés (ex : ray tracing basique, post-processing).
Stabilité et performances :
Corrections de bugs critiques dans le core (ex : plantages liés à la gestion de la mémoire GPU, latence réseau dans les jeux en ligne).
Optimisations pour les jeux récents (ex : God of War, Spider-Man), bien que Bloodborne reste non fonctionnel (travaux en cours).
Interface utilisateur (GUI) :
Ajout d’un panneau de configuration dédié aux paramètres macOS (ex : gestion des permissions GPU, activation/désactivation de Rosetta).
Amélioration de la détection automatique des jeux via le game compatibility list (lien fourni en changelog).
Note : Pour les builds macOS, vérifier les dépendances système (ex : OpenGL 4.1+ requis pour les Apple Silicon). Les correctifs spécifiques à macOS sont documentés dans le changelog complet.
Changelog complet
An Excitement new release of shadps4 . A lot of new games working (No bloodborne yet! but we are getting closer).
Mostly here are the most noticable changes since last version
- Adding macOS support
- Big shader recompiler improvements
- Core improvements
- GUI improvements
You can get full changelog here:
**Full Changelog**: https://github.com/shadps4-emu/shadPS4/compare/0.1.0...v.0.2.0
So now go ahead and post your reports at :
https://github.com/shadps4-emu/shadps4-game-compatibility
v0.1.0
Nouveauté majeure : Ajout d’un compilateur de shaders permettant de faire fonctionner un grand nombre de jeux auparavant incompatibles, grâce à une optimisation des calculs graphiques en temps réel.
Refonte majeure du cœur de l’émulateur : Réécriture d’une partie significative du code interne, améliorant potentiellement la stabilité et les performances, bien que les détails techniques précis ne soient pas détaillés dans ce changelog.
(Aucune mention spécifique à macOS, Apple Silicon ou builds .dmg dans ce changelog.)
Changelog complet
An excited new shadps4 release , The changes since last release are probably too much to detail them so let's do a small resume
- Added a shader recompiler , With this we have a lot of games that starts to work
- Rewrote a big part of core
-A full changelog can been seen below
**Full Changelog**: https://github.com/shadps4-emu/shadPS4/compare/v0.0.3...0.1.0
We also have a compatibility list now at : https://github.com/shadps4-emu/shadps4-game-compatibility
v0.0.3
A new release for shadps4 , the date is not decided by luck is 21 years after first pcsx2 release , (23 march 2002 ) and by accident mine (shadow) birthday.
The most important features of this release is linux support and running of few OpenOrbis demos (helloword , graphics , pngdec , sound)
A more detailed list above :
-Switching to std::thread
-Use unique_ptr where possible
-Replace printf/scanf with type safe fmt
-Implemented sceKernelGetProcessTime
-Implemented sceKernelGetProcessTimeCounter , sceKernelGetProcessTimeCounterFrequency
-Pause emu with P button
-Timers rewrote with std::chrono
-Added sceSystemServiceGetStatus
-Initial FileSystem implementation
-Initial TLS work
-New logging implementation
-Some functions implemented for userService,systemService
-Added sceAudioOut module and output using sdl audio