Zum Inhalt springen
PS5PCEM

Build 0.3.3 · 4. Oktober 2026

Projektstand

Was der Emulator kann, Teilsystem für Teilsystem. Die Etappen einzelner Titel stehen auf der Kompatibilitätsseite; diese Seite zeigt die Technik dahinter.

Aktueller Build

0.3.3

Version

Erfasste Titel

9 von 18 beendet

Neueste Bestätigung 2. Oktober 2026

Referenzrechner

NVIDIA GeForce RTX 3070 Ti

Alle Zeiten auf dieser Seite

Teilsysteme

Stand der einzelnen Teile

Verdichtet aus dem Dokument zum Umsetzungsstand, das die vollständige Liste enthält.

Guest execution

Funktioniert

Native x86-64 guest execution on Windows, with ELF/SELF loading, relocation, module linking and TLS.

  • ELF and SELF loading, relocation, module linking, TLS and firmware HLE.
  • Contained-fault diagnostics keep a faulting guest thread from taking down the host.
  • Native cooperative fibers retain suspended guest stacks across switches.
  • Inspection, decoding and HLE components also build on Linux and macOS; native execution is Windows-only.

AGC command stream

Teilweise

Stateful AGC command-stream execution drives graphics, compute and VideoOut work.

  • Ordered AGC completion acknowledgement removes intermittent retirement races.
  • Two bounded CPU workers prepare graphics and compute commands while one Vulkan backend owner preserves execution and completion order.
  • Guest image allocations share a range-based alias registry across colour, depth/stencil, storage and sampled use.
  • Descriptor recovery no longer replays each kernel's prolog once per resource it names.

RDNA2 shader translation

Teilweise

A growing RDNA2-to-SPIR-V pipeline covers graphics and compute workloads.

  • Merged NGG vertex programs translate, including fetch-shader continuations ending in S_SETPC_B64.
  • Runtime shaders can pass through a common typed IR before SPIR-V; PS5_GPU_SHADER_IR=1 selects legalized IR and PS5_GPU_SSA=1 adds phi/def-use state, constant folding and iterative DCE.
  • Structured control flow restores UI text in titles that previously lost it.
  • Typed buffer accesses retain their resource bindings and per-access formats; comparison samplers follow the instructions that use them.
  • Asynchronous pipeline compilation is enabled by default with two workers and a compute shader warmup catalog.
  • Shader coverage remains incomplete; the 0.3.3 validation run reproduces the same ten SPIR-V test failures and one reported leak as the 0.3.2 tag.

Vulkan rendering

Funktioniert

VideoOut reaches a Vulkan swapchain with resident render targets and timeline scheduling.

  • Persistent render targets, large writable storage buffers, resident storage images, and bounded texture and pipeline caches.
  • Fifty-six host formats are reachable, spanning BC1–BC7, signed and unsigned integer and normalized channels, R16/RG16, half-float and RGBA32_FLOAT.
  • Image layout and access state is tracked per aspect, mip and array layer.
  • Timeline retirement avoids waits for unrelated buffers and retains upload data until its GPU readers complete. Public guest completion remains ordered.
  • Correct HTILE/DCC metadata clears and a larger Tetris render-target cache reduce stale UI copies and repeated readbacks.
  • GPU compute detile covers 4/8/16-byte 2D and 3D standard and PRT surfaces; RB+ and MSAA still fall back to the CPU.

Audio and media

Funktioniert

Host audio at 48 kHz, plus H.264/AAC playback through FFmpeg.

  • SceAvPlayer returns synchronized NV12 video and stereo PCM through the title's own allocation and file callbacks.
  • Observed intro movies play at about their native frame rate in ReleaseFast builds.
  • The observed PS5 multichannel ATRAC9 layout decodes as interleaved mono streams; Yōtei movie audio now starts at the correct point.
  • The unsupported movie haptics track preserves timing through silence, without emulating controller vibration. Competing audio ports no longer repeatedly reopen the host device.

Input

Funktioniert

DualSense and DualShock 4 pads are read directly over HID, with XInput and keyboard fallbacks.

  • Sony pads work without a translation layer; the launcher reports which one it found.
  • The launcher can drive motors and the light bar as a check.
  • Launcher-managed input profiles support controller, keyboard or hybrid control.

Savedata and storage

Funktioniert

A mounted slot becomes a writable /savedata0, so titles store and reload progress.

  • Games save through the ordinary file API and find their data again on the next run.
  • The launcher groups every local slot by title ID.
  • Portable settings and savedata are kept beside the application.

Windows launcher

Funktioniert

A native library with local cover art, per-title saves, input profiles and direct launching.

  • Remembers up to 32 titles across pages of eight and displays the release version.
  • Ships the debug PKG extractor with NAPS mapping and Kraken payload support.
  • Reads artwork from each title's local sce_sys/icon0.png.
  • Detects DualSense and DualShock controllers and persists sound and input profiles.

Memory

Funktioniert

A freeing, thread-safe allocator and aligned direct-memory ranges keep long runs stable.

  • Aligned Windows direct-memory ranges share 64 KiB section views, so temporary uploads, readbacks and 16 KiB guest pages no longer accumulate as an ever-growing host commit charge.
  • The opt-in GPU page tracker tracks 16 KiB guest pages by generation and handles the first native CPU store as an invalidation fault.

VR presentation

Zurückgestellt

VR titles map their plugins and boot, but there is no host headset bridge.

  • Headset, tracking, controller and host OpenXR support are intentionally deferred.
  • Pistol Whip and Propagation: Paradise Hotel reach engine bootstrap without VR presentation.

Was hier bewusst nicht behauptet wird

Ein Menü ist kein Spielgeschehen, und ein gezeichnetes Bild ist keine Spielbarkeit. Manche Titel zeichnen korrekt, aber viel zu langsam zum Spielen, und genau so steht es da. Nichts hier behauptet eine Etappe, die nicht auf einem Build beobachtet wurde.

Mehr Tiefe

Dokumentation im Repository

Das Innere der Teilsysteme — RDNA2, GPU, Vulkan, Speicher, Loader, HLE, CPU, Diagnose und Laufzeit — ist in der Architekturdokumentation erschlossen.

Entwicklung unterstützen

PS5PCEM steht unter GPL-3.0-or-later und wird offen entwickelt. Über Boosty und Patreon lässt sich die Arbeit unterstützen.