v2026.06.10-2252
·
140 commits
to rebase-rpcs3-jun2026
since this release
v2026.06.10-2252 (f8d5550)
The JIT backend switch. After auditing every emulator subsystem against
upstream RPCS3 and fixing everything found, one divergence remained: we were
the only ARM64 RPCS3 variant running LLVM 20 as the recompiler backend -
upstream validates all PPU/SPU code generation against LLVM 19.1.7, and aps3e
(which boots some games we don't) builds exactly 19.1.7 on Android. This
release moves our recompilers onto that same validated backend.
IMPORTANT: one-time recompile (again)
First boot of each game rebuilds its compiled code under the new backend (the
long "Compiling PPU modules" screen). Do not close the app during it. Without
this, games would keep running code produced by the old backend.
Changed
- PPU/SPU JIT backend: LLVM 20.1.3 -> 19.1.7 (matching upstream RPCS3 and aps3e).
- Per-game configs now store only the settings you actually change; everything
else follows your global settings automatically. Recreate older custom
configs to get this behavior. - Game covers show the installed game version (APP_VER) with the new app.
Fixed
- Enabling "Asynchronous Texture Streaming 2" made games unbootable on Adreno
GPUs (the async scheduler was used despite being disabled by the driver
capability check). It now correctly falls back, matching upstream. - Kernel SPU-wakeup fixes (lost-event class) ported from upstream.
- ISO reader: truncated/corrupt ISOs no longer silently hand games zero-filled
data; large directories no longer parse garbage entries or hang.
Diagnostics
- SPU stall watchdog: a freeze with audio still running now logs which address
the SPU engine starved on and whether its content changed. Please attach
RPCSX.log for any freeze, even without a crash.