We're building a PlayStation 5 emulator that runs on Windows, Linux, and macOS. It's open source, and we're working on it to bring PS5 exclusives games on pc.
Here's what ShadPS5 is focused on right now and where it's headed.
A closer look at how ShadPS5 emulates the PS5 hardware.
The PS5 runs a custom AMD APU: an 8-core Zen 2 CPU at 3.5 GHz and an RDNA 2 GPU. ShadPS5 emulates each of these components on your PC's hardware.
On the CPU side, we use a dynamic binary translator (dynarec) that JIT-compiles PS5 x86-64 code into host-native code. The dynarec handles the full instruction set including AVX2, SSE4.2, and BMI extensions. Hot blocks are cached and reused, and we apply constant propagation and dead code elimination at the IR level.
The GPU side is trickier. PS5 games submit work through hardware command rings (GFX, compute, DMA) that the GPU command processor reads directly. We intercept these ring buffers and translate the PM4 command packets into Vulkan API calls. Shaders are compiled from AMD's GCN/RDNA ISA to SPIR-V and cached on disk.
The PS5 OS (Orbis OS, a FreeBSD derivative) provides services like thread scheduling, memory mapping, and file I/O. We implement these using HLE (high-level emulation), stubbing out system calls and replacing them with equivalent host OS functionality. This is faster than full LLE but requires more reverse engineering per syscall.
Current progress and what coming next.
ShadPS5 is an experimental PS5 emulator. The PS5 uses custom AMD silicon (Zen 2 + RDNA 2) running Orbis OS, a hardened FreeBSD fork. Our job is to replicate that entire stack on commodity PC hardware using a JIT recompiler and a Vulkan rendering backend.
This is genuinely hard. The GPU alone has its own command processor, multiple hardware queues, a proprietary shader ISA, and tightly coupled shared memory. Reverse engineering each of these subsystems takes time. We're prioritizing correctness over speed for now, getting the memory model and synchronization right before we start chasing frames per second.
If you know your way around x86 assembly, Vulkan, kernel internals, or just want to run test ROMs and file bugs, we could use your help. Everything happens in the open on GitHub and Discord.
Stuff people usually ask about ShadPS5.
It's a PS5 emulator. We're building it from scratch to run PlayStation 5 games on PCs. The whole thing is open source but not ready to yet.
PS5 emulation is heavy. You'll want a CPU with AVX2, a GPU that supports Vulkan (think GTX 1060 / RX 560 minimum), and 16 GB of RAM. These numbers will probably change as we optimize things.
Not yet. We're still building out the core emulation layer. Some things boot, some things render a frame or two, but it's nowhere near playable. Check our GitHub (will be up soon) or Discord for the latest status.
Windows, Linux, and macOS. All three are on priority but windoes will come first.
Jump into the GitHub repo and look at open issues, or join the Discord and ask what needs help. We need people who can write code, test games, report bugs, or just spread the word.