PS5 RetroArch v0.5.5-alpha.5 (experimental)
Native RetroArch for jailbroken PS5 consoles, rendering through RADV.
Experimental build. This release is for those who can't wait. It brings
seven new cores before they would have gone through a full alpha
round. Everything below ran on my console, but these cores have had far less
play than the ones from earlier releases. Expect rough edges, and please
report what you find (see Reporting problems).Not included: RPCS3 (PlayStation 3). The PS3 core runs on my console, but
it is still unstable, and it stays out of releases until it isn't. More below.
Highlights
- Seven new systems: PlayStation, Nintendo 64, Sega Saturn, Commodore 64,
arcade (MAME), Nintendo DS and Nintendo 3DS. Each has one core, chosen for how
well it runs on RADV and how far it upscales. By default each uses the highest
graphics settings that hold full speed in the games I tested. - A GameCube game's crash when leaving a mission is fixed. Dolphin needs a
small piece of executable memory for each vertex format a game uses. The title
handed out at most 128 of these, and the game passed that between a mission
and the main menu. There is no limit now, for every core with a JIT: Dolphin,
PPSSPP, Mupen64Plus-Next, DeSmuME and Azahar. On the console, 2,000 small
blocks and 300 larger regions were allocated, and each ran its own code. I
haven't replayed the exact mission-to-menu path yet. - Simpler content browsing. Load Content now shows two places: INTERNAL,
the title's own folder, and EXTERNAL, the console's external storage.
Parent Directory from either takes you back to those two, not to the console's
root folder. - Licences in the package. The title folder now carries a
licenses/folder:
the licence texts of every part, and a list tying each executable to its
source revision. The source of every part is attached to this release.
New cores
| System | Core | PS5 defaults | Tested on my console |
|---|---|---|---|
| PlayStation | Beetle PSX HW | Vulkan renderer at 16×, 32-bit colour, PGXP (no wobbling polygons), the disc read into memory at load | Full speed |
| Nintendo 64 | Mupen64Plus-Next | ParaLLEl-RDP at 8× upscaling, ParaLLEl-RSP, JITs on | Full speed after boot |
| Sega Saturn | Beetle Saturn | upstream's | Loads, then needs your BIOS (below). Gameplay not yet tested |
| Commodore 64 | VICE x64sc | upstream's | A .d64 disk game, full speed
|
| Arcade | MAME 0.289 | Raster games at native size, scaled on the GPU; vector games drawn at 4K | Full speed |
| Nintendo DS | DeSmuME | 5× (1280×960), JIT, eight rendering threads | Full speed (6× ran at 93–95%) |
| Nintendo 3DS | Azahar | Vulkan at 18×, asynchronous shaders, JIT | Full speed after boot |
Each ran through boot, the menu opened and closed twice, Close Content from the
Quick Menu, and the same game loaded again. There was no crash, and every game
ran at full speed after the reload.
What each core needs:
- PlayStation: runs without a BIOS (it has a built-in replacement). Your own
scph5501.bin(and the others the core lists) insystem/is used when there. - Sega Saturn: your own
mpr-17933.bin(US/EU) orsega_101.bin(JP) in
system/. Without it the game refuses to load, and the menu stays usable. - MAME: sets must match 0.289. Non-merged sets are simplest; keep BIOS sets
(such asneogeo.zip) in the same folder as the game.
Coming next: PlayStation 3
The RPCS3 core boots PS3 games, with its Vulkan renderer on RADV:
- One game reached gameplay at 4K.
- Another boots, saves and loads states, and runs at about 50 fps at 4K with a
frame-rate patch; the game was locked to 30 fps before.
Currently optimising RPCS3 around the PS5's own hardware. It isn't in this
build because it isn't stable yet.
Update (v0.5.6-alpha.5): RPCS3 will not be in any release. It is licensed
GPL-2.0-only and this port is GPL-3.0-or-later, so the two cannot be
distributed together: if you want it, compile it yourself from source (see
the README). Piracy is not condoned.
Known issues
- EXTERNAL is empty for now. The console's app sandbox hides USB drives and
extended storage from the title. Keep games under INTERNAL (content/in the
title folder) until that is solved. - A GameCube game (Dolphin) still slows to about 76–85% at some transitions,
and the audio stutters when it does. This isn't shader compiling: Dolphin's
emulation thread is waiting, and the game's memory emulation is slow on this
console. I'm working on it. - Dolphin's first start of a game compiles its shaders while the game boots.
A GameCube game's first 20 seconds ran at 83% and 92% speed. Later starts read the
shader cache. - Not yet tested: Saturn gameplay, and MAME's vector games at 4K.
- Carried over from Alpha 5: the 60 Hz fallback still needs confirming on a
60 Hz TV; PAL PS2 games can look uneven at 120 Hz; PS2 games in.7zarchives
are not unpacked; and there is black flicker on a Wii game's world map.
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 you've already saved there are kept, not replaced by new
defaults. - Put games in
content/(a folder per system works well) and BIOS files in
system/(PS2:system/pcsx2/bios/). No games or BIOS files are included.
Reporting problems
Include the core, the game, the file format and any settings you changed. After
the problem, and before relaunching, copy trace.txt and retroarch.log
from the title folder: a new launch replaces them.
Source
This ZIP was built from PS5_RetroArch commit [built commit], which is this
release's tag. The source of every part is attached to the release, and the
title's licenses/ folder lists every part's licence and source revision.
Snes9x, FinalBurn Neo and Genesis Plus GX are licensed for non-commercial use:
this package may not be sold.
Build
Build identity [identity]
| Component | Version |
|---|---|
| RetroArch | 1.22.2 with this port's patches |
| Graphics driver | RADV from PS5_Mesa [revision], built by PS5_Vulkan [revision]
|
| PS5 payload SDK fork | 4ba45cf
|
| PPSSPP | v1.20.4 |
| Dolphin | 2609 (libretro/dolphin c6630001)
|
| LRPS2 | PS5_LRPS2 9c2eea4
|
| Beetle PSX HW | PS5_BeetlePSX e43b398
|
| Mupen64Plus-Next | PS5_Mupen64Plus 98ec101
|
| Beetle Saturn | PS5_BeetleSaturn 41a8a4b
|
| VICE x64sc | PS5_VICE 2b4b5e3
|
| MAME | 0.289, PS5_MAME fa592b0
|
| DeSmuME | PS5_DeSmuME 532c50e
|
| Azahar | PS5_Azahar 4598458 (dynarmic from PS5_Dynarmic 1df2a07)
|