本文へスキップ
PS5PCEM

ビルド 0.3.5 · 2026年10月16日

プロジェクトの状況

エミュレーターにできることをサブシステムごとにまとめています。タイトルごとの到達点は互換性ページにあり、このページはその裏側の技術を扱います。

現在のビルド

0.3.5

正式リリース

記録済みタイトル

33 中 10 タイトルをクリア

最新の確認 2026年10月17日

リファレンス環境

NVIDIA GeForce RTX 3070 Ti

このサイトのすべての時間

サブシステム

各部分の状況

完全な一覧がある実装状況の文書から要約しています。

Guest execution

動作

Native x86-64 guest execution on Windows and Linux, 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.
  • Linux 0.3.5 adds native execution, X11 presentation, PulseAudio and guest fibers; Windows game measurements do not establish Linux performance.

AGC command stream

一部

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

一部

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.
  • Version 0.3.4 adds bounded S_SWAPPC_B64/S_CALL_B64 subroutines and verified fetch returns, native-format BY2/BY4 and PCK2/PCK4 loads, horizontal gathers, DS atomics and permutes.
  • The October 9 scalar-call checkpoint passes 259/259 GPU-analysis and 232/232 Vulkan tests; RDNA2 passes 271/281 with the same ten existing failures and one reported leak. Instruction probes do not establish new game FPS results.

Vulkan rendering

動作

The default renderer on Windows and Linux: 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.
  • Single-sample packed 11/11/10 UNORM targets now blend through a storage-buffer copy and fragment-shader unpack/blend/repack path. Game lighting remains incomplete.
  • VideoOut reports 1080p SDR and keeps 120 Hz unavailable; the default game preference requests performance mode. Internal resolution remains game-controlled.

Direct3D 12 rendering (experimental)

一部

A native Windows backend in development builds after 0.3.5, selected in launcher Settings or with PS5_GRAPHICS_API=d3d12. Games do not run through it yet.

  • Native device, direct queue, fences, upload/default/readback buffers, raw UAV descriptors and GPU copies behind a small C interface over COM.
  • RDNA2 shaders reuse the shared decoder, IR and SPIR-V generation, then go through SPIRV-Cross to HLSL and D3DCompiler Shader Model 5.1 bytecode.
  • Bounded DISPATCH_DIRECT, a restricted DRAW_INDEX_AUTO into one linear RGBA8 target, and a three-buffer DXGI flip swapchain with the renderer and FPS in the window title.
  • Hardware probes passed on an RTX 3070 Ti on 17 October 2026. Raiden IV stops at its first indexed draw, so no D3D12 game boot or FPS is claimed; Linux keeps Vulkan.

Audio and media

動作

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

動作

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.
  • Windows games now drive rumble and LightBar through scePad calls, with coordinated Sony HID output and XInput motor fallback. DualSense USB feedback is physically confirmed; advanced audio haptics and adaptive triggers remain unsupported.
  • Launcher-managed input profiles support controller, keyboard or hybrid control.

Windows and Linux launchers

動作

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

  • Remembers up to 48 titles, with grid/table views, search, release display and update checks.
  • 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.
  • Version 0.3.5 ships a GTK 3 Linux launcher and four Linux package formats. Installed packages and AppImages use writable XDG settings and data directories.
  • The development build after 0.3.5 adds Turkish, Japanese, Hindi and Korean, for twelve interface languages in both launchers.

Memory

動作

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.
  • MemoryPool reserve, expand, commit, decommit, batch and statistics use shared backing with ownership checks and rollback. Batch MOVE remains unsupported.

Fonts, PNG, RTC and AMPR

一部

FreeType glyph rendering, PNG encoding, calendar operations and software counter commands replace further HLE placeholders.

  • Noto Sans fallback, glyph metrics, rasterization, clipping, scaling, slant and kerning are implemented. Missing-glyph fallback fixes Jurassic Park's font-atlas startup; writing-line APIs remain incomplete.
  • PNG accepts pitched RGBA/BGRA and produces 8-bit RGB/RGBA at compression levels 0–9. RTC adds validation, FILETIME conversions and checked tick arithmetic; host DST conversion remains absent.
  • AMPR provides 128 software counters, coherent pairs, timestamps and deferred counter waits with ordered completion. WaitOnAddress remains a placeholder.
  • The release preparation passes all 594 HLE tests; no new full playthrough or FPS improvement is inferred from these checks.

VR presentation

保留

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.

あえて主張しないこと

メニューはゲームプレイではなく、描画されたフレームはプレイ可能であることを意味しません。正しく描画できてもプレイするには遅すぎるタイトルもあり、そのように記録しています。ビルドで確認していない到達点をここで主張することはありません。

さらに詳しく

リポジトリの文書

サブシステムの内部構造(RDNA2、GPU、Vulkan、メモリ、ローダー、HLE、CPU、診断、ランタイム)はアーキテクチャ文書にまとめています。

開発を支援する

PS5PCEM は GPL-3.0-or-later で、オープンに開発しています。支援の方法は Boosty と Patreon の 2 つです。