Skip to content

Console Five Pro v0.0.8pro

Choose a tag to compare

@github-actions github-actions released this 26 Oct 12:08
· 133 commits to main since this release

Console Five Pro v0.0.8pro — an independent rebranded build of CapyPS5 v0.0.3, the first PlayStation 5 emulator for Android (built on KytyPS5 and the FEX x86-64 JIT).

New in v0.0.8pro — the stability release: crashes fixed, auto-save, saves import/export

Crash fixes (status-321 exits, freezes and native crashes)

  • Malformed GPU packets no longer kill the emulator: the const-RAM out-of-bounds write (up to 48 KB past the buffer) is bounded, and both PM4 parsers reject bad packets gracefully instead of hitting EXIT_NOT_IMPLEMENTED — a corrupt or edge-case command buffer now logs one diagnostic and continues.
  • Corrupted / truncated ELF and SELF images fail cleanly: every Seek/Read result in the loader is verified (a truncated file used to parse as zeros), table reads are bounds-checked, Elf64::Save no longer dereferences a null section table on SELF images, and dynamic-linker tables and relocation targets are validated before use.
  • Cheat and param files abort the process load, not the emulator: malformed cheat data is rejected without exceptions (the core builds with -fno-exceptions), and a bad param.sfo no longer takes the app down.
  • Guest page faults resolve on a dedicated fault thread: the old path took locks and logged from inside the SIGSEGV handler, which self-deadlocked when the faulting thread held one of those locks; now the handler only queues the fault and a worker performs the cache invalidation.
  • Thread lifecycle races closed: reference-counted file descriptors (use-after-free, racing close), thread-safe lazy singleton initialization, a synchronized stubbed-import registry, serialized game-patch state, and second game launch no longer std::terminates.
  • Destroying a still-running host thread no longer terminates the emulator, and the Windows high-resolution-timer HANDLE leak is closed.
  • Unreal Engine games no longer die at boot with LowLevelFatalError (sceKernelBatchMap 0x8002000c): memory reserved through the kernel memory pool (sceKernelMemoryPoolExpand — e.g. one Unreal Engine souls-like) is now a legal direct-memory source. Borrowed pool pages cannot be double-owned by a pool commit, are returned when the last direct view goes away, and pool expansion release keeps working unchanged.
  • A slow detached thread can no longer stall new thread creation: the reaper joins outside the pool mutex.
  • Config reads outside the config lifetime fall back to defaults instead of dereferencing null.
  • PthreadJoin writes the exit value through a verified-writable pointer, reporting EFAULT like the real kernel instead of SIGSEGV on a wild guest pointer.
  • is_mapped no longer calls feof on a null FILE* when /proc is unavailable.
  • The desktop launcher's update download no longer divides by zero (SIGFPE) when a release size is unknown.

Data safety

  • Writes larger than 4 GiB are chunked and completed — previously rejected with EINVAL or silently narrowed to 32 bits on the iovec path.
  • Auto-save: a zip snapshot of _SaveData per game every 5 minutes and on exit (3 newest kept), with a Settings toggle and an "Auto-saved HH:mm" line in the pause menu.
  • Import / export all game saves as one zip (Settings → Game saves), with traversal and size guards — move your progress between devices.

Android

  • Exit button fixed: confirming Exit in the pause menu now really exits on the second tap — touch users no longer need the gamepad Confirm key.
  • Synchronized, reference-counted native-window hand-off: detaching the view while the emulator builds its Vulkan surface can no longer use-after-free the window.
  • Build hardening: ffmpeg prebuilt zips are pinned to SHA-256 and mirrored in-repo (no more build breakage when the upstream release moves), actions pinned to commit SHAs.

Carried over from v0.0.7pro

Own package name com.consolefivepro, Present mode setting (Mailbox / VSync / Uncapped), big-core pipeline workers, sequential-read game files, and the Vulkan device-selection fixes (Adreno 740 driver-676 and Turnip a660 logs).

Requirements

  • Android 12 or later, arm64 device, Vulkan 1.3 GPU.
  • 12 GB of RAM recommended.
  • Your own PS5 game dumps (a folder with eboot.bin and sce_sys/).

Console Five Pro includes no games, BIOS, firmware or Sony keys, and needs none of them. Not affiliated with Sony Interactive Entertainment; PlayStation and PS5 are trademarks of their respective owners.

Credits

  • Upstream CapyPS5 v0.0.3 by Ghael-V; this project is an independent rebranded build of it.
  • KytyPS5 and the original Kyty by InoriRus, and the FEX project.

License: GPL-2.0-only — full source: https://github.com/maxi000q/ConsoleFivePro (tag: v0.0.8pro)