Repository navigation
Releases: shadps4-emu/shadPS4
Release list
Pre-release-shadPS4-2026-10-25-30f4170
shadps4 v0.20.0 - codename Dead Or Stephen 5 - The Comeback
That was close wasn't it? I know you are not used to so close releases but we have a lot of new things to demonstrate so why not? This release is following the first official stable release of shadNet 0.1.0, so we have some online playability available (yes Bloodborne fans, online Bloodborne is now officially available). There are also a tons of fixes to different areas of emu , you can check the list below. The release is dedicated to our friend Stephen, who is taking a break from shadPS4 due of his studies. Stephen if you are reading this we already miss you ;/
Core
- cpu_patches: Apply comprehensive SSE4a CPU patches on macOS
- Shutdown NpHandler before restarting
- cpu_patches: Enable static patching on Linux
- cpu_patches: Patch (V)RCPPS and (V)RSQRTPS on Intel
- Speed up game ID resolution
- Anchor the FPS counter at startup and refactor counter movement check
- address_space: Restore protections after splitting a mapped region on Windows
- kernel: Implement POSIX file attribute and sync APIs
- file_sys: Normalize guest paths and fix mount matching
- Do not expand host mmap range during POSIX AddressSpace::Unmap
- Advance the source pointer for each backing run in TryWriteBacking
- Removed the signaling_info setting as it is no longer in use.
- log SIGABRT signals on POSIX
Libraries
- kernel/time: Implement monotonic real-time network clock
- Camera code cleanup and fixes
- ajm: Fix MP3 parser OOB and support Xing/VBRI headers
- sysmodule : Fixed incorrect validateModuleId return.
- Major Net rework. sceNet library has been rewritten with P2P support
- gnmdriver: Implement sceGnmSetGsRingSizes and sceGnmSetupMipStatsReport
- http: Redact credential headers in logs
- http: Honor disable_https in HTTPS transport and private options
- Implement private pthread barriers
- Implement POSIX thread context, naming, file and process APIs
- Fixes 33ms analog smoothing being accidentally applied to controller analog stick and triggers input
- signaling-fix: always answer the offer
- Implement sceGnmRequestFlipAndSubmitDone and sceGnmDrawIndirectCountMulti
- Implement sceGnmComputeWaitSemaphore
- signindialog: basic error returns
- Added matching delay
Video Core
- Renderer optimizations pt2 (texture cache edition)
- Cover presentation waits and fragment texture reads
- texture_cache: scan only the first page in FindImageFromRange
- buffer_cache: allocate sparse backing with device address support
- buffer_cache: Remove duplicate SynchronizeMemoryFromImage
- vk_runtime: Use buffer copies to copy between D32 and D32S
- vk_rasterizer: Track vertex, index and indirect buffers properly
- vk_rasterizer: Restore image copy fast path
- region_manager: Add lock free bypass check when no state update is required
- liverpool: free the frames of nested indirect buffer tasks
- texture_cache: initialize added depth-overlap subresources
- video_core: Emulate zero/one MIN/MAX blend factors
- vk_rasterizer: Apply pending fast clears on FMASK decompress
- Link the stencil plane of DepthStencilCopy destinations
- allow buffer copies between different layer counts
- tile: Expand table to 2048x2048 images
- renderer_vulkan: Bind a null index buffer instead of requiring maintenance6
- Read CMask metadata
- Handle null index base address in BindIndexBuffer
Shader Recompiler
- shader_recompiler: Improve NaN handling
- translate: Apply unbiasing to all instance id uses
- Enable early fragment testing when configured
- Allow step rates with base instance
- Preserve EXEC scope after empty branch
- Add subgroup barriers for shared memory dependencies
- Implement proper clamping and handling for V_RCP_CLAMP_F32, V_RSQ_CLAMP_F32, V_RSQ_LEGACY_F32, V_LOG_CLAMP_F32
- Detect fp64 usage from instruction types
- Implement IMAGE_GATHER4_C_L
- Unbias vertex and instance ids in every indirect draw
- Handle another sharp patching pattern
UI
- Big picture: recursive folder scanning
- don't depend on console language always load cjk font
- Added new shadnet notifications
shadps4 v0.19.0 - codename The Shadoween special
Welcome back to another shadPS4 release . It is over one month since our previous release and guess what we are back again with a lot more fixes and a lot more playable games . Rapid work has been done in different areas of the emu, but i guess the glory goes to the huge amount of GPU fixes that improved so many games, some of them are really playable now . I won't steal the fun of discovering these, so here is a brief list of changes.
Core
- Rewrote signal emulation again
- Fixed incorrect error return on attempting to create a file in a nonexistent folder in a writable mount
- Fix reserved region coalescing in POSIX address space code
- Support loading entitlements from RIF licenses
- Optimized logger by replacing hash map with table lookup and hide implementation details
- Support loading DLC as ZAR
- Reworked slot vector
- Fixed sceKernelReserveVirtualRange alignment and add ClearName
Libraries
- Use present scheduler for blank frame prepare
- np_auth : Change default GetAuthorizationCode returns to be valid
- np_trophy: Fixed displaying of trophy name
- http2 : Fixes and cleanups
- np_tss : Added TSS support
- camera : Use a system mapping for camera frame data
- np_utility: Initial impelmentation
- vdec2: support for h265/hevc
- ajm mp3: rely on ffmpeg parser for packet boundaries
- Kernel.Pthread: Remove RunThread stack logging
- np_web_api : Added pTo and pFrom to OrbisNpPeerAddressA support
- Very basic HLE Keyboard library
- scePthreadRwlockTimedrdlock / scePthreadRwlockTimedwrlock take a relative timeout in microseconds
- Implemented sceKernelGetProcessType
- Implemented sceKernelReleaseFlexibleMemory and POSIX mlock/munlock aliases
Video Core
- Improve tsharp robustness
- Use stb_image_write for screenshots
- Emulate scaled min/max blending
- Do not auto-select a software rendering device
- Decode sRGB for A2R10G10B10Srgb display buffers
- Handle QuadStrip as a triangle strip
- Add R8G8Srgb fallback to R8G8Unorm
- buffer_cache: Refactor buffer manager with sparse arenas
- Commit the emulated-LDS allocation taken from the stream buffer
- Only enable sampler comparison for comparison fetches
- Respect SPI_BARYC_CNTL front-face encoding
- Invalidate cached images after raw buffer writes
- Fixed locking behaviour for signals delivered to GPUComm thread
- buffer_cache: Rework memory tracker and implement batched uploads
- Moved on_submit callback before EndSession
- Fixed compute shader floating-point mode
- page_manager: Keep the fault probe within the faulting page
- Bind a default sampler for S# with undefined fields
- Fix sparse backing offsets, barriers, and memory budgeting
- texture_cache: Avoid associating color images with stencil
- Fixed mip layout and detiling of tiled textures
Shader recompiler
- Properly handle BaryCoord attributes on non-AMD GPUs
- Compute GDS offset dynamically instead of as compile-time constant
- Storage buffer related clean-up
- Neo: MIMG instructions
- Improve ssa rewrite pass correctness and readability
- Add support for virtual registers
- Add ssa destruction pass
- Decorate written storage buffers as Coherent
- Structurize later in the pipeline and cleanup
- Enhance shared memory barrier handling and add divergent loop detection
- Split resource tracking and flatten load from buffer for sharp source
- Reimplemented B64 SALU opcodes with U64 masks
- Implemented S_MEMTIME
- Implement S_BITSET0_B64 and S_BITSET1_B64
- Skip lowering for null buffer sharps
- Implemented some V_CMPX_U64 ops
- Lower wave64 constructs for wave32
- Refactor runtime info as two tagged unions
- resource_patching_pass: Accept ds_append/consume without users
- Implement support for base vertex/instance in indirect draws
- Recognize sharp sources broadcast via V_READFIRSTLANE_B32
- Properly check for immediate args in GetRealValue
- Refactored parser to enable vertex count calculation for position only copy shaders
- Implemented fragment sample coverage input
- Added pull-model barycentric support
- Test S_BITCMP_B64 against the full 64-bit src
- Fixed geometry invocation count comparison
- Lower ballot and MBCNT as a pair
- Define SampleId for BaryCoordSmoothSample on the KHR path
- Eliminate readlanes before the tessellation and ring passes
- Read user data from the flat buffer
- Fix gradient and offset for 1D images
- Lower PackedAncillary from attribute loads
- resource_patching: Patch thread id add instead of id itself
- Allow InverseBallot folding to fail on unhandled immediate arguments
- Fix OpImageTexelPointer coords for 1D
- V_CVT_PK_U8_F32 fixup
- V_ALIGNBIT_B32 / V_ALIGNBYTE_B32 fixup
ShadNet
- Online trophy support
shadps4 v0.18.0 - codename UltraPersona
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, 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 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 (
libScePadbeforesceNpManager), fixed issues in shadNet authorization - Added
/dev/zerodevice - Added some exports needed for VSH
- Call
sceLibcInternalMemoryMutexEnableLLE on startup - Added
--mountflag, 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
sceNpWebApi2GetHttpResponseHeaderfunctions - Libc_Internal: Added back HLE
sceLibcHeapGetTraceInfofor when LLElibSceLibcInternalis not present - Kernel: Implemented
sceKernelIsDevkitandsceKernelIsCex - 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
oactifoactis provided - NpTus: Added NpTus support
- AudioOut: Fixed deadlocks on stop
- NpTrophy: Fixed issues related to platinum trophies
Video Core
- Added more FMask formats
- Honor
STENCILOPVALfor GCN ReplaceOp stencil writes
Shader Recompiler
- Fixed cubed array layer in
FixCubeCoords - Lower user clip planes to clip distances
- Use
a*b+cinstead offmaforv_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
shadps4 v0.17.0 - codename Garbage Collector's Edition
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_lodimplemented throughVK_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
memcmpfixed
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_I32carry-out propagation,V_LOG_CLAMP_F32,V_PK_MUL_LO_U16fix- 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
PthreadOnceuses pthread primitives instead ofstd::mutex- TLS leak on non-primary threads fixed
- Code patches for
cmpandxorinstructions involving the TCB sceKernelAllocateDirectMemorynow honourssearch_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_EXCEPTIONis 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
shadps4 v0.16.0 - codename Plutie-fueled
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: v.0.15.0...v.0.16.0
shadps4 v0.15.0 - codename RE6_PRIG
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
shadps4 v0.14.0 - codename JustShadow4
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
shadps4 v0.13.0 - codename Ghost of Matthewshima
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
shadps4 v0.12.5 - codename kyosan
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