Experimental PlayStation 5 emulation and interoperability research in Zig
Native guest execution · RDNA2 shader translation · Vulkan / DirectX 12 rendering · Windows / Linux launchers
Download prototype · Documentation · Compatibility status · Report an issue · Znosin channel
Important
PS5PCEM is an experimental emulator under active development. A growing number of tested titles reach gameplay, and several are already playable, but compatibility, performance, graphics, audio, and stability still vary by title and hardware. Use only game content and system files that you are legally entitled to use. See the current compatibility status.
The English Windows launcher with local cover art, Vulkan / DirectX 12 selection, FPS limits, separate PKG / ZAR extraction, and direct game launching.
The launcher remembers up to 48 recent titles across pages of eight, shown as cover
tiles or as a table and searchable by title, title ID or folder name. It reads artwork
from each title's local sce_sys/icon0.png, detects DualSense and DualShock controllers,
and keeps portable settings and savedata beside the application. It reports
whether the host can run Vulkan before a title is started, naming the device it
found, offers separate Extract PKG and Extract ZAR buttons, and asks
GitHub Releases whether a newer version is available.
Version 0.3.6 offers Vulkan / DirectX 12 in the Windows library and Settings. DirectX 12 is an experimental native backend with limited PM4 and shader support; it is not ready for normal gameplay. Vulkan remains the default. See the D3D12 implementation and validation notes.
The library can also lock the frame rate to 30, 60 or 120 FPS, or leave it
unlimited (the default). The limit is saved for the next launch and reaches
game-run as PS5_FPS_LIMIT; it paces every completed flip, so the game itself
slows down, with either renderer. See the
launcher notes for how it is applied and measured.
See the compatibility and progress for the exact scope and current limits of every claim.
- Native x86-64 guest execution on Windows and Linux with ELF/SELF loading, relocation, module linking, TLS, firmware HLE, savedata, and contained-fault diagnostics.
- Stateful AGC command-stream execution and a growing RDNA2-to-SPIR-V shader pipeline for graphics and compute workloads.
- Vulkan VideoOut with resident render targets, image alias tracking, timeline scheduling, typed storage images, texture detiling, depth/stencil, and MSAA.
- Host audio, H.264/AAC playback through FFmpeg, Sony controller HID support, XInput and keyboard fallbacks, and launcher-managed input profiles.
The detailed implementation status lives in Implementation status, the observed title milestones in Project status and compatibility, and subsystem internals are indexed in the architecture documentation.
The current Windows and Linux x64 prototype is 0.3.6:
- Portable ZIP
- Per-user installer
- Linux: DEB · RPM · Pacman · AppImage
- SHA-256 checksums
- Release notes
The prototype requires Windows 10 2004 or newer, an x86-64-v3 CPU (AVX2, BMI2
and FMA), and a current Vulkan 1.2-capable graphics driver. The applications and
installer carry SHA-256 Authenticode signatures and timestamps from
CN=Artur Strazewicz, O=PS5PCEM. This certificate is self-signed, so Windows may
still display an Unknown Publisher or Microsoft Defender SmartScreen warning.
Linux packages include the native GTK 3 launcher. They require Linux 5.11+, glibc 2.31+, GTK 3, X11/XWayland, PulseAudio and a Vulkan driver. See the Linux guide for installation, writable data paths and port limitations. The Windows game measurements do not establish Linux performance.
- Install the per-user build or extract the portable ZIP.
- Start
ps5pcem.exe. - Choose a directory containing a decrypted title you are legally allowed to
use, then select Launch game. A folder holding a single ZArchive dump
(
.zar) runs it directly, streamed read-only without extracting; from a command prompt,game-run game.zardoes the same.
To unpack a dump instead, use Extract ZAR (or Extract PKG for a debug
package). The launcher shows extraction progress and adds the resulting folder
to the library. ZAR extraction creates a new folder beside the archive, using
its filename without .zar; existing output folders are never overwritten.
Games, firmware, keys, system libraries, and console software are not included.
| Guide | Contents |
|---|---|
| Documentation index | Complete map of user and developer documentation |
| Building and command-line usage | Zig builds, tools, packaging, CLI usage, and library integration |
| Project status and compatibility | Screenshots, measured title milestones, and current limits |
| Implementation status | What the emulator can do, subsystem by subsystem |
| Architecture | RDNA2, GPU, Vulkan, memory, loader, HLE, CPU, diagnostics, and runtime internals |
| Release notes | Changes in the latest packaged prototype |
| License and legal note | GPL obligations, bundled dependencies, and project scope |
Architecture reference:
overview ·
rdna2 ·
gpu ·
vulkan ·
memory ·
loader ·
hle ·
cpu ·
diag ·
runtime
Follow the official PS5PCEM channel on Znosin for development updates, game compatibility reports and screenshots.
Include the emulator version or commit, game title and PPSA ID, OS, CPU/GPU, graphics API and relevant logs when reporting a problem. Track reproducible bugs in GitHub Issues.
Copyright © 2026 Artur Strazewicz. PS5PCEM is licensed under the GNU General Public License, version 3 or later.
PS5PCEM ships no games, console firmware, system libraries, keys, or copyrighted material belonging to the hardware vendor. It is intended for interoperability research and education. Read the complete legal note.










