Skip to content

shadps4 v0.17.0 - codename Garbage Collector's Edition

Latest

Choose a tag to compare

@georgemoralis georgemoralis released this 30 Jul 21:25

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