Skip to content

v2026.06.22-0836

Latest

Choose a tag to compare

@ouroboros420 ouroboros420 released this 22 Jun 08:10
· 1 commit to rebase-rpcs3-jun2026 since this release

RPCSX-Clanker core — v2026.06.22-0836

The PlayStation 3 emulation core (librpcsx-android.so, arm64), synced to RPCS3
0.0.41 content and extensively adapted for ARM64 / Adreno / Turnip. Ships
separately from the app and is loaded at runtime.

New & notable

  • Synced to RPCS3 0.0.41. CPU/SPU recompilers, the lv2 kernel, Cell HLE,
    loader, crypto and util are now at 0.0.41 content (ARM64-adapted, and ahead of
    upstream in several ARM areas).
  • New shader decompiler. The fragment-program decompiler was re-vendored to
    the upstream 0.0.41 Assembler engine (SPIR-V 1.5) — the one default-render-path
    subsystem that had been a generation behind.
  • Texture pop-in eliminated. The texture-cache core was re-vendored to 0.0.41
    with per-surface resolution scaling.
  • Cast shadows fixed on Adreno/Turnip via depth-only alpha-test discard
    suppression and correct float-depth sampling.
  • RPCN netplay re-vendored to protocol 30 (protobuf), with client-side
    password derivation and a JNI bridge for the app's account/server UI.
  • Credentials secured. RPCN secrets are no longer written to external storage;
    the plaintext password is never stored, logged, or transmitted.

Graphics / RSX / shaders

  • New fragment-program Assembler decompiler with the producer side fully wired:
    TEXTURE_FORMAT_CONVERT raised so texel conversion emits (fixed disappearing
    geometry, enabled foliage), DISABLE_EARLY_Z for cyclic-zeta draws, fragment
    outputs gated by mrt_buffers_count, fp16 extension when supported, fragment
    constants on the upstream _fetch_constant model.
  • Hardware texel remapping (format_ex): correct SNORM/sRGB/BX2 normal-map and
    non-INT8 conversion; raw texture alpha preserved through conversion.
  • Vulkan correctness ports: WAW barrier after the present clear, per-source
    image-layout dedup in the copy path, sub-4-byte and wide-block GPU deswizzle,
    DXT45 unaligned-source guard (ARM), occlusion-query handling.
  • Host memory coherency: mm_flush(ranges) wired into the nv0039 DMA / nv3089
    blit paths.
  • Mobile-tiler frame-time jitter tuning (predictor confidence + ZCULL cadence)
    with per-interval frame-time + readback-source instrumentation in the perf log.

CPU / recompilers

  • SPU FRSQEST exponent computed via arithmetic instead of a LUT (upstream
    #18905) — bit-identical, drops a per-module 1kB table.
  • PPU: fixed null dispatch for adde./subfe. Rc-variants (latent crash); IR
    optimization passes run on ARM.
  • vm: skip read-only reservation range-locks when taking a writer lock.
  • ARM busy_wait scaled to the device's hardware timer.

lv2 / HLE / loader

  • sys_fs: CELL_ENOTDIR propagation; open_raw error-code fidelity.
  • sys_ppu_thread_detach zombie-join returns CELL_OK; sys_spu_image_open_by_fd
    implemented; SPU events notified after releasing group mutexes; COOPERATE
    guard restored on group suspend/resume.
  • mmapper lazy shared-memory allocation (savestate format v2).
  • Networking socket fixes; sceNp DRM time conversion; cellPad validation;
    cellSaveData delete-path bounds check.

Savestate

  • PPU scalar registers serialized unconditionally — the core fidelity fix
    (closes a version-gate desync).
  • ZSTD-compression finalize missed-wakeup fixed.
  • Reload crashes fixed: re-Init firmware VFS so mounts survive; track/destroy all
    Android WSI surfaces (NATIVE_WINDOW_IN_USE); SEV-wake WFE-parked threads.

Networking / RPCN

  • Emu/NP re-vendored to protocol 30 (FlatBuffers → Protobuf + abseil, wired into
    the Android arm64 cross-compile); clans SDK symbols ported.
  • RPCN JNI bridge (config / hosts / account / enable); client-side PBKDF2-HMAC-
    SHA3-256 password derivation.
  • rpcn.yml moved to app-internal storage, excluded from backup, with one-time
    migration; other players' NPIDs/names redacted from netplay logs.

In-game overlays

  • Home and quick menus re-vendored from upstream with SDF text rendering wired
    into the Vulkan backend; new Clanker Features live-toggle tab.
  • Quick-menu toggle crash fixed (display_manager locked around button presses).

Power / thermal / memory

  • Battery-saver core override (default ON; meaningful idle-CPU drop, no fps cost
    on the test device). Big-cluster affinity, low-power WFE, thermal cap and ADPF
    hints are default OFF and experimental.
  • Device-scaled PPU compile memory budget fixes first-launch OOM on
    memory-constrained devices.

Known issues

  • Frame-time jitter with Write Color Buffers (e.g. Demon's Souls): holds 30fps
    but uneven pacing — inherent to synchronous color-buffer readback on a mobile
    tile GPU.
  • Smooth-shaders (async interpreter) forced OFF (freezes); synchronous path used.
  • No persistent SPU object cache (short warm-up each launch).
  • Some titles still crash/stall (e.g. God of War 3 / SPURS class).
  • Savestates may not be compatible across versions.

Built against LLVM 19.1.7 to match upstream. The emulator is the work of the
RPCS3 and RPCSX teams; this fork only ports it to Android. Support them:
https://rpcs3.net/ and https://github.com/RPCSX/rpcsx . Piracy is not permitted.