Skip to content

Releases: WizzardSK/pcee2-libretro

v0.1.7-arm64-isztl — isztldav ARM64 dynarec integration

Choose a tag to compare

@WizzardSK WizzardSK released this 07 Jul 18:37

Integrates isztldav/pcsx2's ARM64 dynarec advance (EE/VU recompilers, iR3000A/iR5900, vtlb, GS/Vulkan, GameDatabase) into the pcee2 libretro core, plus musl cache-line-size build fixes.

Which aarch64 core to use

  • bookworm-vk — Debian Bookworm glibc (libjpeg.so.62), for 4 KB-page devices incl. the freedesktop-runtime flatpak RetroArch. Verified: boots MMX7 + GT3 on Adreno 618 / Vulkan.
  • bookworm-16k-vk — same, for 16 KB pages (Raspberry Pi 5).
  • aarch64 — Ubuntu 24.04 glibc (libjpeg.so.8); for desktop Ubuntu, does not load in the freedesktop flatpak.
  • isztl-static — Ubuntu build with static SDL3.

Windows x64 (MSVC) — added after the initial publish. The MSVC job used to die in CMake configure because the Windows dependency script never built DirectX-Headers, which SearchForStuff.cmake requires; that is fixed now, so pcee2_libretro-windows-x64.zip ships a pcee2_libretro.dll built from the same core sources as this tag (only CI/build scripts changed since). Requires the Microsoft Visual C++ 2015-2022 Redistributable x64. Not smoke-tested on Windows hardware — please report back if it misbehaves.

Setup (all platforms): a PS2 BIOS dump in system/pcsx2/bios/ and a copy of the PCSX2 resources/ directory in system/pcsx2/resources/.

PCEE2 v0.1.6-armsx2-vk (vixl EE backend, V3D Vulkan fix)

Choose a tag to compare

@WizzardSK WizzardSK released this 18 Jun 19:24

aarch64 libretro core from the armsx2 branch (vixl-emitter EE recompiler). Goal: test whether this EE backend avoids the post-frame 0 SIGSEGV that the hand-rolled aR5900 EE dynarec (isztl line) hits.

IMPORTANT: you must also update the resources

The core loads its GPU shaders from <system>/pcsx2/resources/ on disk, not from the core itself. A stale resources copy (from an older PCSX2/core) has mismatched shaders and will fail with Failed to compile utility pipelines. Download pcee2-resources.zip and replace your RetroPie/BIOS/pcsx2/resources/ directory with its contents, then clear the shader cache (RetroPie/BIOS/pcsx2/cache/).

V3D Vulkan compatibility (so the GS device opens on the Pi's V3D GPU)

  • drop the shaderDrawParameters dependency (ported from upstream PCSX2 e451c5f);
  • push_descriptor optional (V3D lacks it, fallback path used);
  • fall back to R16G16B16A16_SFLOAT for the HQ colclip render target when R16G16B16A16_UNORM isn't color-attachment-capable (V3D). HQ colclip precision slightly reduced.

Built in debian:bookworm (glibc 2.35). For OM3GA: update resources + clear cache, then swap-test on Pi 5 / RetroPie. Grab the log either way.

v0.1.5-arm64-isztl

Choose a tag to compare

@github-actions github-actions released this 18 Jun 16:37
v0.1.5-arm64-isztl: per-CPU recompiler bisect toggles (EE/IOP/VU0/VU1)

v0.1.4-arm64-isztl

Choose a tag to compare

@github-actions github-actions released this 17 Jun 16:27
v0.1.4-arm64-isztl: interpreter-mode core option + 16 KB-page Pi 5 di…

PCEE2 v0.1.3-arm64-isztl (full isztldav ARM64 dynarec merge)

Choose a tag to compare

@WizzardSK WizzardSK released this 16 Jun 18:57

ARM64 PCEE2 libretro core built on a full merge of isztldav/pcsx2 master
(+384 commits) into the libretro-arm64 line, replacing the earlier single-shot
cherry-pick of the EE/IOP/microVU dynarec with the complete, up-to-date isztldav
ARM64 recompiler. Includes the Fix-VU-and-Burnout-3 cycle-accounting fix.

Assets

  • pcee2_libretro-linux-aarch64.zip — generic glibc aarch64
  • pcee2_libretro-linux-aarch64-bookworm-vk.zip — Debian Bookworm (glibc 2.36), Vulkan, static SDL3
  • pcee2_libretro-linux-aarch64-isztl-static.zip — self-contained static SDL3
  • pcee2_libretro-linux-x86_64.zip — Linux x86_64
  • pcee2_libretro-macos-x86_64.zip — macOS x86_64

Each zip contains pcee2_libretro.so + pcee2_libretro.info.
Windows x64 (MSVC) is omitted: that job does not build on this merge yet.

PCEE2 v0.1.2-armsx2 (aarch64, ARM64 JIT)

Choose a tag to compare

@WizzardSK WizzardSK released this 16 Jun 15:53

First PCEE2 libretro core built from the ARMSX2 source tree, which provides
a native ARM64 JIT recompiler (EE/IOP/VU + arm64 GS codegen via vixl) instead of
the interpreter/fastmem path used by the earlier v0.1.1-arm64 core.

Build

  • Target: Linux aarch64 (Raspberry Pi 5 / Batocera class devices)
  • Renderer: Vulkan
  • SDL3 statically linked (self-contained .so)
  • Compiled in Debian Bookworm for glibc 2.36 compatibility
  • Source: armsx2 branch

Assets

  • pcee2_libretro.so — the core (unstripped, includes debug info)
  • pcee2_libretro.info — RetroArch core metadata

Runtime on-device behaviour is not yet verified on the maintainer side.

PCEE2 v0.1.1-arm64

Choose a tag to compare

@WizzardSK WizzardSK released this 15 Jun 16:52
af6446b

Libretro core builds from CI run #27542390324 (branch libretro-arm64, commit af6446b).

Includes ARM64 cores (default fastmem off) plus Linux x86_64, Windows x64 and macOS x86_64.

Assets:

  • pcee2_libretro-linux-x86_64.zip
  • pcee2_libretro-linux-aarch64.zip
  • pcee2_libretro-linux-aarch64-isztl-static.zip (static SDL3)
  • pcee2_libretro-linux-aarch64-bookworm-vk.zip (Debian Bookworm, Vulkan)
  • pcee2_libretro-windows-x64.zip
  • pcee2_libretro-macos-x86_64.zip

PCEE2 v0.1.0

Choose a tag to compare

@WizzardSK WizzardSK released this 05 Jun 20:56

First release of PCEE2 — a libretro core port of current PCSX2 (v2.7.x).

Installation

Copy the core + pcee2_libretro.info into your RetroArch cores directory — that's it, the cores are statically linked:

  • Linux x86_64: pcee2_libretro.so
  • Linux aarch64 (ARM64) — two dynarec generations, pick one (see below):
    • ...-aarch64-isztl-static.ziprecommended, newer ARM64 dynarec, SDL3 statically linked / self-contained
    • ...-aarch64-isztl.zip — newer ARM64 dynarec, needs system libSDL3.so.0
    • ...-aarch64-static.zip — original (ARMSX2-based) dynarec, self-contained
    • ...-aarch64.zip — original (ARMSX2-based) dynarec, needs system libSDL3.so.0
  • Windows x64: pcee2_libretro.dll (requires the VC++ 2015–2022 x64 redistributable)
  • macOS x86_64 / Apple Silicon via Rosetta 2: pcee2_libretro.dylib + libMoltenVK.dylib (both into cores), then clear quarantine once: xattr -cr ~/Library/Application\ Support/RetroArch/cores

Then put a PS2 BIOS into <system>/pcsx2/bios/ and the PCSX2 resources directory into <system>/pcsx2/resources/ — see the README.

Which aarch64 build?

  • -isztl builds use the actively-maintained ARM64 EE/IOP/microVU dynarec from isztldav/pcsx2 on top of the same current PCSX2 base as this core (branch libretro-arm64). This is the newer, preferred generation.
  • The plain (non-isztl) builds are the original ARMSX2-based dynarec, kept here for comparison.
  • Prefer a -static zip unless your distro already ships libSDL3.so.0.

Highlights

  • Current PCSX2 emulation core (v2.7.393 base)
  • Vulkan / OpenGL / Software renderers, 1x–4x internal resolution
  • Savestates, RetroAchievements, multitap (8 players), GunCon 2 lightgun, rumble
  • 20+ core options incl. widescreen patches, speed hacks, analog response
  • ~10–34 % faster than LRPS2 at identical settings

Linux x86_64 is tested; Windows, macOS and all Linux aarch64 builds compile but are untested — feedback welcome. The aarch64 builds are an early preview (Raspberry Pi 5 / RK3588-class hardware recommended).