shadPS4

Early open source PlayStation 4 emulator

  • Open SourceGitHub
  • shadPS4 Emulator ProjectDeveloper
  • 6 Nov 2026Page Updated

Details

Developers
shadPS4 Emulator Project
Source Code
GitHub
Page Updated

Supported Systems

Platform Support

Screenshots

Overview

shadPS4 is an open source PlayStation 4 emulator for Windows, Linux and macOS, written in C++ and released under the GPL 2.0 licence. The project started as a hobby and is still early in development, but it can already run games such as Bloodborne, Dark Souls Remastered and Red Dead Redemption.

The main shadPS4 builds are the emulator core, which has no graphical interface of its own. The team recommends that most people use QtLauncher, the official graphical launcher, which is developed separately; both are available below. The stable releases are the numbered versions of the core, and the QtLauncher builds are its latest development builds.

On macOS, shadPS4 needs macOS 26 or later and does not support Intel Macs. Compatibility varies a lot between games, so check the project’s compatibility list before you start. shadPS4 is under active development with regular releases.

Key Features

Runs Big Games

Can run Bloodborne, Dark Souls Remastered and Red Dead Redemption.

Open Source

Written in C++ and released under the GPL 2.0 licence.

QtLauncher

An official graphical launcher, QtLauncher, is developed alongside.

Cross Platform

Runs on Windows, Linux and macOS.

Go to Downloads

Advertisement

Download shadPS4

Stable

What's new in v0.21.0shadps4 v0.21.0 - codename Until Mavethee Dawn

Another week another release . There are ton of changes , so why not ?

Core

  • Properly check where an input came from for digital->analog input smoothing
  • cpu_patches: Work around Rosetta 2 mistranslating negated scalar compares
  • file_sys: Report stable file identities in stat and fstat
  • Allow file type identification for ‘/addcont’ path
  • emulator: stop clearing temporary data on boot
  • Add PT_SCE_MODULE_PARAM case
  • cpu_patches: Fix JIT patching at addresses outside any module
  • core: Fix MemoryManager::Free unmapping past the released rang
  • file_sys: don’t abort when a guest path goes through a regular file
  • use VMA pointers instead of copies in TryWriteBacking
  • cpu_patches: Workaround Rosetta 2 crash on VMASKMOVPS/PD
  • Handle ELF metadata and toolchain comments program headers
  • common: reuse one high-resolution waitable timer per thread in AccurateSleep
  • Don’t abort when optional ELF metadata segments can’t be read
  • cpu_patches: Fix register clobbering in Rosetta 2 VMASKMOV workaround
  • renderdoc: Add library name for macOS
  • renderdoc: Add alternate path for macOS
  • lru_cache: Fix early stop in ForEachItemBelow
  • Avoid deadlock when Shutdown is re-entered on the same thread
  • Check if elf info is initialized when shutting down

Libraries

  • kernel: Implement I/O event queue APIs with Core::Net integration
  • kernel: fail rmdir on non-empty directories with ENOTEMPTY
  • app_content: Implement sceAppContentTemporaryDataMount
  • kernel: Try lock without wait in timed mutex if deadline has passed
  • usbd: Implement libSceUsbStorage HLE for virtual USB media access
  • http: allowing headers with surrounding whitespace
  • kernel, rtc: Fix timezone and DST calculation
  • music: Implement libSceMusicPlayerService HLE
  • videodec2: Drain pending frames and wrap in RAII
  • usbstorage: Correct OrbisUsbStorageDeviceInfo layout and population
  • app_content: Implement sceAppContentAddcontUnmount
  • app_content: Implement TemporaryData mount and unmount
  • np_auth rewrite
  • Ajm: Auto-detect and safely parse RIFF headers for ATRAC9
  • libSceVoice: stub a disconnected microphone to fix BO2 and BO3 hangs
  • net: report recv_queue_length in sceNetGetSockInfo
  • kernel: Register missing filesystem symbols and fix /dev/null device
  • kernel: return ENOENT from mkdir when the parent does not exist
  • kernel: return EBADF when writing to a file opened read-only
  • kernel: return EINVAL from ftruncate for bad lengths and read-only fds
  • kernel: return ENOENT from unlink when the file does not exist
  • pad: Implement scePadReadExt and scePadReadStateExt
  • gnmdriver: Fix remapped compute queues starting at a stale ring offset
  • app_content: Load additional content from linked services (SERVICE_ID_ADDCONT_ADD_n)
  • app_content: Populate add-on entitlement keys
  • app_content: Fix entitlement keys and service labels
  • playgo: Fix language mask UB and default install speed
  • kernel: Fix self-rename deletion and host path tracking in posix_rename
  • music: Implement sceMusicPlayerServiceSetUsbStorageDeviceInfo
  • kernel: Implement posix_flock and sceKernelFlock
  • audio3d: Fix swapped attribute ids
  • audio3d: Fix swapped attribute ids (OpenAL)
  • kernel: Improve Neo mode handling and implement missing APIs
  • kernel: return ENOENT from open(O_CREAT) when the parent does not exist
  • videodec: libSceVdecCore HLE and VideoCore server interface callbacks
  • np_trophy: Fix platinum trophy never unlocking
  • threads: fix stack base value in windows
  • share_play: Implement sceSharePlayGetCurrentConnectionInfoA
  • net: answer PS4 device discovery on UDP 987
  • np_score : fixed a few inaccurancy returns and data transfers
  • kernel: Fix filesystem validation and posix_select
  • pad: report the DualShock 4 touchpad height (942) instead of 950
  • kernel: return ENOTDIR from mkdir when the parent is a file
  • save_data: deliver backup completion callbacks
  • fiber: Relocate fiber stacks away from GPU tracked heap on Windows

…

Windows v0.21.0 · Download
SHA-256 95295b8f109663f70c2dac685e6232aa97be1353f6ed0a5d5e0c5dd24a797d88
Linux v0.21.0 · Download
SHA-256 7c41c58254461d742b5edf564e23795697b63e9e46de11d0e1ed67bd2cbaae68
macOS v0.21.0 · Download
SHA-256 391b585d3131ebf69c585410349117d9436e529151e430156c02f7ffde364b8f

QtLauncher

What's new in v2026-11-06shadPS4QtLauncher-2026-11-06-ecc8507
Auto-generated release for the latest commit to main.
Windows v2026-11-06 · Download
SHA-256 eeb6498aa29d62c5f9ee2469884f6538a0a4d299cdfb6b1f48b03e17534debd9
Linux v2026-11-06 · Download
SHA-256 9b7cc947e122b4db01f50587b2b199594aea0e676d151373f455f4112b45e80e
macOS v2026-11-06 · Download
SHA-256 720541b13be901368c80e433cfaf44da68f1916c75ff49e2fd6a2f3cd72987ad

Follow new builds by RSS

shadPS4 Download Archive

Show all 30 older builds