PS5 RetroArch — Alpha 4 🎮
Native RetroArch for jailbroken PS5 consoles, rendering through
PS5_Vulkan. This release adds GPU-rendered
GameCube/Wii and PlayStation 2 emulation, and fixes every crash testers reported
on earlier builds.
Alpha. The games and paths below are the ones I have tested on my console.
Other games may still fail. Please report them (see Reporting problems).
Highlights
- Eight cores. Dolphin (GameCube and Wii), LRPS2 (PlayStation 2) and
PPSSPP (PSP) render on the PS5's GPU through PS5_Vulkan, beside FCEUmm, mGBA,
Snes9x, FinalBurn Neo and Genesis Plus GX. - PlayStation 2 at 4K. LRPS2 uses its Vulkan hardware renderer by default at
6x internal resolution, with multi-threaded VU1. The games I tested run at
full speed on my console.
You need your own PS2 BIOS insystem/pcsx2/bios/. - GameCube and Wii. Dolphin 2609 with its JIT and fast memory. Five GameCube and Wii
games are tested; one ran for an hour and another for 30 minutes with no crash. - PSP. PPSSPP v1.20.4 on its Vulkan renderer with JIT: the tested games run at
10× internal resolution. - 120 Hz output where the display supports it, with the correct 60 Hz fallback.
- Faster save states. A 50 MB PS2 save state is written without stdio, which
was the slow part.
Fixed from tester reports
| Report | Status in this release |
|---|---|
| Crash after closing a game (seen with an SNES game) | Fixed. The video driver was being re-created on a RetroArch thread, and the console gives such threads only 64 KiB of stack. It crashed with Threaded Video on. RetroArch's threads now get 2 MiB, and the stack-heavy code moved to the heap. I reproduced the crash, then confirmed the fix on the console. |
| A PSP game crashing after one to two minutes | Fixed in the GPU driver: its internal lists were changed from several threads at once without a lock. A new driver test reproduces the corruption on the old driver and passes on the new one. PPSSPP ran a 10-minute soak with the menu opened 25 times and did not crash. |
| Every game at half speed with V-Sync on | Fixed. On a display that only refreshes at 60 Hz, the console accepted the 120 Hz mode and kept refreshing at 60 Hz, so each frame was shown twice. The driver now measures the real refresh rate and falls back to 60 Hz. My display is 120 Hz, so the 60 Hz path still needs confirming on a 60 Hz TV. |
| A GameCube game crashing after about three minutes | Fixed (a race in Dolphin's dual-core GPU FIFO). |
With the half-speed fix, V-Sync on is the recommended setting on every display.
Stability work in this release
- Every thread the title, RetroArch and the driver start now asks for an adequate
stack instead of the console's 64 KiB default. - Driver state that several threads can reach is atomic or locked. A debug-table
counter could write past its array when two threads recorded commands at once. - Before release, every core was run with a game: boot, menu open and close, then a
Quick Menu action, with Threaded Video on for half of them and V-Sync on
throughout. There were no crashes and no fatal signals.
Known issues
- Shader compilation stutter. The first time a game needs a new shader, it can
hitch while the shader compiles; later runs load it from the cache. Dolphin's
default is still Synchronous compilation, and the driver compiles one pipeline
at a time. Asynchronous compilation is the next piece of work. - A GameCube game runs at 72–85% for stretches of its attract sequence, even with
every shader cached. The cost is the driver's CPU work, and it is being worked on. - PAL PS2 games (50 fps) on a 120 Hz output alternate two and three refreshes per
frame, which can look uneven. The console offers no 50/100 Hz mode. - PS2 games in
.7zarchives are not unpacked. Use ISO, CHD, CSO or another
supported disc format. - A Wii game: black flicker on its world map was reported and has not been
investigated yet.
Install or update
- Copy the complete
PPSA99169folder to your homebrew title location, for
example/data/homebrew/PPSA99169/, and launch it from your homebrew launcher. - Updating keeps your
config/,savefiles/,savestates/,system/and
content/. Settings already saved there, such as a core's internal resolution,
are kept rather than replaced by new defaults. - Put games in
content/and BIOS files insystem/(PS2:system/pcsx2/bios/).
No games or BIOS files are included.
Reporting problems
Include the core, game, file format and the settings you changed. After the
problem, and before relaunching, copy trace.txt and retroarch.log from the
title folder: a new launch replaces them.
Build
Build identity 870bd1bb94d9c35e7ec0efdf32ebfe457500bac3c4387376b7b0ea2e3c42957a
| Component | Version |
|---|---|
| RetroArch | 1.22.2 with this port's patches |
| PS5_Vulkan driver | 40e9d30
|
| PPSSPP | v1.20.4 |
| Dolphin | 2609 (libretro/dolphin c6630001)
|
| LRPS2 | PS5_LRPS2 6d14775 with the port patch
|
All five host gates (format, unit, build, integration, evidence) pass, and so does
the driver's host test suite.