RetroArchV for PlayStation 4

Emulation on a jailbroken console, running Vulkan through RADV and desktop OpenGL 4.6 through zink. 114 cores, built for this hardware.

Package v0.1.8 Cores 114 Index 2026-09-18 Firmware 11.00 GoldHEN v2.4b18.10

Download

RetroArchV v0.1.8 The application package. Install it once; everything else can come later over the console's own updater. 63.9 MB Download .pkg
Every core, one archiveAll 114 cores as .prx files. For a console with no network: unzip and copy them across over FTP.148 MBDownload cores

Quit from inside the application, not from the console. Use RetroArch's own Quit RetroArch entry, or the Quit combo on the pad. It returns to the console's menu with no dialog. Earlier versions showed CE-34878-0 here; they ended by returning from main(), which takes the process down outside the path the system expects.

Closing it the console's way instead — the PS button, then Close Application — still shows CE-34878-0. The console returns to its menu and nothing needs restarting, but the application is killed outright there and never gets to shut itself down, so Quit is the better habit.

Install

Install the package like every port here: copy it to the console and use the Package Installer, then launch RetroArchV.

It installs under its own title id, RTRV00001, so it sits beside any RetroArch already on the console rather than replacing it — the system decides collisions by title id, not by the name on screen.

First run

Online Updater → Update Core Info Files. Do this before browsing the core list. Core metadata is not shipped inside the package, so until those files arrive the downloader lists .prx filenames instead of names like “Nintendo 64 (Mupen64Plus-Next)”. Everything works either way; only the labels are missing.

With a console that has no network

Download the archive above on another machine, unzip it, and copy the .prx files into /data/retroarch/cores over FTP. Nothing else is needed — the core list is read from that directory at startup.

Copy them, do not extract them on the console. A file arriving over FTP is created executable, which is what the module loader requires. Files unpacked by other routes may not be, and a core without that bit fails to load with no explanation beyond “Failed to open libretro core”.

Core metadata works the same way offline: the .info files live in /data/retroarch/info and can be copied across from libretro's bundle.

Where everything lives

All of it sits under /data/retroarch/, which is writable and survives reinstalling the package. Put files there over FTP and RetroArch finds them at startup — there is no import step.

DirectoryWhat goes in it
/data/retroarch/coresCores, as .prx files
/data/retroarch/infoCore metadata — names, supported extensions, required BIOS files
/data/retroarch/systemBIOS and firmware. A core that needs one looks here and nowhere else
/data/retroarch/romsContent. Only a convention — games can sit anywhere the console can read
/data/retroarch/savefilesBattery saves, memory cards
/data/retroarch/savestatesSave states
/data/retroarch/configPer-core configuration overrides, and config/remaps for input remaps
/data/retroarch/playlistsPlaylists built by the scanner
/data/retroarch/thumbnailsBox art and screenshots
/data/retroarch/shadersShader presets and passes
/data/retroarch/shader-cacheThe OpenGL driver's compiled shaders, read back on the next run
/data/retroarch/overlaysOverlays, and overlays/keyboards for on-screen keyboards
/data/retroarch/assetsMenu assets — icons, fonts, the XMB and Ozone themes
/data/retroarch/database/rdbContent databases the scanner matches against
/data/retroarch/cheatsCheat files
/data/retroarch/logsLogs
/data/retroarch/retroarch.cfgThe main configuration file

Edit the configuration with RetroArch closed. It keeps its settings in memory and writes the whole file out when it exits, so a change made over FTP while it is running is overwritten on quit — not merged, replaced.

The package itself is mounted read-only at /app0 and holds only the executable, the icon and the certificate bundle. Nothing there needs editing, and nothing there can be.

Configuring it

Once the cores are in place, this is ordinary RetroArch. Controller mapping, shaders, overlays, per-core options, save states, rewind, netplay's absence, the scanner, playlists — all of it behaves as it does everywhere else, with the same menus in the same places. The libretro documentation applies unchanged, and so does any guide written for another platform.

Two habits worth having early: Load Content scans a directory for anything a core claims, and per-core settings live under Quick Menu → Options while the game is running, saved with Manage Core Options.

Source code and licences

RetroArch is licensed under the GNU General Public License, version 3, and most cores here are GPL of one vintage or another. Distributing these binaries obliges us to hand you the source they were built from — not the project in general, but the exact commit. That is what the last column of the table below is: each core's version links to the tree it was compiled from, and a core built with patches of this port's own also links those patches.

The frontend and the platform work:

22 of these cores carry non-commercial terms and are marked in the table. They may not be redistributed commercially, and neither may this collection as a whole while they are part of it. Nothing here is sold, and nothing here should be.

Known limits

Recommended settings

Most cores run well on their defaults. These are the exceptions: options whose default was chosen for a desktop computer and is wrong on this console, or that a game here was found to need. Change them under Quick Menu → Options while a game is running, and keep them with Manage Core Options → Save Core Options.

Sony - PlayStation (Beetle PSX HW)

OptionSet toWhy
CPU DynarecMax PerformanceThe interpreter runs Spyro 3 at about 38% of full speed here. The default on this console, but an options file saved by an older build can still hold the interpreter.
PGXP Operation ModeOFFAny PGXP mode turns every main-RAM access into a function call, and it was the largest single cost on this console. Off by default.
Software FramebufferOFFSaves host time; a few games use framebuffer effects that need it. On by default.
Dynarec Code InvalidationDMA Only (Slightly Faster)Part of the set that made Spyro 3 smooth.
Dynarec DMA/GPU/MDEC/Timer Event Cycles512Part of the set that made Spyro 3 smooth.
Dynarec SP GP Hit RAM OptimizationONPart of the set that made Spyro 3 smooth.
Internal GPU Resolution2xThe GPU sat idle in every measurement, so upscaling is nearly free; 2x was played at full speed.

Nintendo - Nintendo 64 (Mupen64Plus-Next)

OptionSet toWhy
RDP PluginGLideN64Angrylion also reaches 60 fps here but draws at native resolution only; GLideN64 ran Shadows of the Empire at 60 fps and can upscale. GLideN64 is the default from 2026-09-15; earlier installs got Angrylion.
RSP PluginHLEThe low-level RSP alone costs more than a whole frame on this CPU. The default.

Nintendo - 3DS (Trident)

OptionSet toWhy
Use ubershaders (No stutter, maybe slower)OFFThe PS4 build draws with the ubershader only while the faster shader compiles in the background; left on, every frame takes the slow path. Off by default from 2026-09-15; an options file saved earlier may still say ON.
Hash textures (Better graphics, maybe slower)ONWithout it Ocarina of Time 3D shows garbled text (upstream Panda3DS issue #800). On by default; the cost was not measurable.
Run 3DS shaders on the GPUONOff moves vertex shading to the CPU, and the game hung on this console. On by default.

The cores

Every file the console's own Core Downloader offers, and where each came from.

37 of the 114 have been run on a real PlayStation 4, and the On a PS4 column says what happened. Everything else has only been built: it compiles, links and loads as a module, and nobody has yet written down what it does with a game. A report either way is useful.

A result describes the build that was on the console that day. Cores are rebuilt from upstream on every run, so the file here can be newer than the one that was tested.

CoreOn a PS4SystemLicenceSizeBuilt from
2048PlaysGame and menu both fine2048 Game ClonePublic Domain736K39333f7
Atari - 5200 (a5200)untestedAtari 5200GPLv21000K40c6f2f
Arduboy (Arduous)untestedArduboyGPLv31.5M798e395
Atari - 400/800/600XL/800XL/130XE/5200 (Atari800)PlaysAtari 8-bit FamilyGPLv21.8M4e7fbc7
Elektronika - BK-0010/BK-0011(M)untestedBK-0010/BK-0011(M)HPND880K92042a7
Nintendo - SNES / SFC (bsnes C++98 (v085))PlaysSuper Nintendo Entertainment SystemGPLv31.9Mbaec09a
bsnes_mercuryuntested—3.1M79d7f9d
CannonballPlaysOutRunOutrun Game EngineNon-commercialnon-commercial1.1M0d83575
Amstrad - CPC/GX4000 (Caprice32)BootsTakes every key from a USB keyboard; no game recordedCPC/GX4000GPLv22.2Me9ad182
Sega - MD/CD (ClownMDEmu)PlaysSega GenesisAGPLv31.6Mf839503
Amstrad - CPC (CrocoDS)untestedCPCMIT1.3Ma9c63b2
Nintendo - DS (DeSmuME 2015)untestedNintendo DSGPLv25.3M422b688
Arcade (DICE)untestedArcade (various)GPLv38.5Mb11714f
DinothawrPlaysDinothawr, with the data from the core's repositoryDinothawr Game EngineNon-commercialnon-commercial1.1M62d3e1e
Laserdisc arcade game (DirkSimple)untestedLaserdisc arcade gamezlib2.2Md5d75f9 +1 patch
DOS (DOSBox-Pure)BootsBoots to a DOS prompt with the USB keyboard workingDOSGPLv24.3M73e03aa
doublecherrygbuntested—2.2Mc0f70ce
Wolfenstein 3D (ECWolf)untestedWolfenstein 3D Game EngineBSD|LGPL2.7M0cccd9a
EPOCH/YENO Super Cassette VisionuntestedSuper Cassette VisionGPLv35.4M6b7db95
Arcade (FB Alpha 2012 CPS-1)untestedCP System INon-commercialnon-commercial4.3M5542c18
Arcade (FB Alpha 2012 CPS-2)untestedCP System IINon-commercialnon-commercial3.9Me3f3ae4
Arcade (FB Alpha 2012 CPS-3)untestedCP System IIINon-commercialnon-commercial1.1M57f8015
Arcade (FB Alpha 2012)untestedArcade (various)Non-commercialnon-commercial28M0ce3153
Arcade (FB Alpha 2012 Neo Geo)PlaysMetal Slug, with neogeo.zip beside itNeo GeoNon-commercialnon-commercial3.3Me092097
Nintendo - NES / Famicom (FCEUmm)PlaysZeldaNintendo Entertainment SystemGPLv25.5M236ccdf
Sega - Dreamcast/Naomi (Flycast)untestedSega DreamcastGPLv224M215a5af +3 patches
Microsoft - MSX (fMSX)untestedMSXNon-commercialnon-commercial908Kee14f0d
Fairchild - ChannelF (FreeChaF)untestedChannel FGPLv3756K76c7a84
Mattel - Intellivision (FreeIntv)untestedIntellivisionGPLv2+1.4Mef3e0fe
Commodore - C64 (Frodo)untestedC64GPLv21.2M9fb971b
Sinclair - ZX Spectrum (Fuse)PlaysZX Spectrum (various)GPLv32.4M958105a
Nintendo - Game Boy / Color (Gambatte)untestedGame Boy/Game Boy ColorGPLv26.3Md9d6cd0
Nintendo - Game Boy / Color (Gearboy)untestedGame Boy/Game Boy ColorGPLv31.7M437e103
Sega - MS/GG/SG-1000 (Gearsystem)untestedSega 8-bit (MS/GG/SG-1000)GPLv31.7M0e35ec6
Sega - MS/GG/MD/CD (Genesis Plus GX)PlaysSega 8/16-bit (Various)Non-commercialnon-commercial18Mc2838c7
Sega - MS/GG/MD/CD (Genesis Plus GX Wide)PlaysDraws the picture twice side by side; cause not investigatedSega 8/16-bit (Various)Non-commercialnon-commercial17Mb7ad005
SNK - Neo Geo AES/MVS/CD (Geolith)untestedNeo GeoBSD-3-Clause, MIT1.6M1940249
Game Music EmuuntestedMusicGPLv31.4M1562f62
GongPlaysPong Game CloneGPL v3524K69ef0b6
Nintendo - Game Boy Advance (gpSP)PlaysGame Boy AdvanceGPLv21.4M8d268a6
Handheld Electronic (GW)untestedHandheld Electroniczlib1.3M91d599b
Atari - Lynx (Handy)untestedLynxZlib1.6Mbc55d46
ColecoVision/CreatiVision/My Vision (JollyCV)untestedColecoVision/CreatiVision/My VisionBSD-3-Clause, MIT788K2790d59
Jump 'n BumpuntestedGPLv2716K2cc8401
LowRes NXuntestedLowRes NXzlib664K12aeb16
Lua Engine (Lutro)untestedLutroMIT4.4M6224157
Arcade (MAME 2000)untestedArcade (various)MAMEnon-commercial20M181b42e
Arcade (MAME 2003)untestedArcade (various)MAMEnon-commercial46M259339e
Arcade (MAME 2003-Plus)untestedArcade (various)MAME Noncommercialnon-commercial50M5da0428
Nintendo - Game Boy Advance (Beetle GBA)PlaysGame Boy AdvanceGPLv21.2Mb158166
Atari - Lynx (Beetle Lynx)untestedLynxZlib|GPLv2868Kfcdefcf
SNK - Neo Geo Pocket / Color (Beetle NeoPop)untestedNeo Geo Pocket (Color)GPLv21.1Ma50d5ac
NEC - PC Engine / CD (Beetle PCE FAST)untestedPC Engine/PCE-CDGPLv25.4Meed8075
NEC - PC Engine / SuperGrafx / CD (Beetle PCE)untestedPC Engine/SuperGrafx/CDGPLv26.3M6d6a35e
NEC - PC-FX (Beetle PC-FX)untestedPC-FXGPLv22.8Mc1650ba
Sony - PlayStation (Beetle PSX HW)PlaysSpyro 3 (PAL) at full speed, 50 fps, Vulkan renderer at 2x internalRecommended settingsPlayStationGPLv21657e2f
Sega - Saturn (Beetle Saturn)untestedSaturnGPLv213M1382b85
NEC - PC Engine SuperGrafx (Beetle SuperGrafx)untestedPC Engine SuperGrafxGPLv24.6M3c6fcd3
Nintendo - Virtual Boy (Beetle VB)untestedVirtual BoyGPLv2880K83ed426
Bandai - WonderSwan/Color (Beetle Wonderswan)untestedWonderSwan/ColorGPLv21.9M4b01295
Nintendo - DS (melonDS DS)PlaysA game ran and saved; frame rate not recordedNintendo DSGPLv3+6.4Mbc4e4b6 +4 patches
Nintendo - SNES / SFC / Game Boy / Color (Mesen-S)PlaysSuper Nintendo Entertainment System / Game Boy / Game Boy ColorGPLv34.3M9e4fdeb
Nintendo - NES / Famicom (Mesen)PlaysNintendo Entertainment SystemGPLv35.2M0102910
Mr.Boom (Bomberman)PlaysMr.BoomMIT9.2M40ac320
Palm OS (Mu)PlaysPalm OSCC BY-NC 3.0 US (Non-commercial)non-commercial1.4M63f7f08
Nintendo - Nintendo 64 (Mupen64Plus-Next)PlaysShadows of the Empire at 60 fps with GLideN64, measured on the earlier OpenGL ES buildRecommended settingsNintendo 64GPLv25.7M6752836 +8 patches
NEC - PC-98 (Neko Project II)untestedPC-98MIT2.1M5fdbb21
SNK - Neo Geo CD (NeoCD)untestedSNK Neo Geo CDLGPLv32.8M3118c69
Nintendo - NES / Famicom (Nestopia)BrokenRuns and exits cleanly, but draws a green screenNintendo Entertainment SystemGPLv28.1M224713b
Texas Instruments TI-83 (Numero)untestedTI83GPLv21.5Mc0b07a3
Cave Story (NXEngine)PlaysCave Story, freeware dataCave Story Game EngineGPLv31.7Mfd1c068
Magnavox - Odyssey2 / Philips Videopac+ (O2EM)untestedMagnavox Odyssey2 / Philips Videopac+Artistic License1.1M679d6fe
Oberon RISC EmulatoruntestedOberon RISC machineISC656K5be71d8
The 3DO Company - 3DO (Opera)untested3DOLGPL/Non-commercialnon-commercial1.3Ma501a27
Sony - PlayStation (PCSX ReARMed)untestedPlayStationGPLv23.5M8625c39 +1 patch
PocketCDGuntestedMusicMIT852Kc6fc08d
Nintendo - Pokemon Mini (PokeMini)untestedPokemon MiniGPLv31.1M132111b
Watara - Supervision (Potator)untestedSupervisionPublic Domain560K227c5f6
Doom (PrBoom)PlaysFreedoom; a crash after Load State is still openDOOM Game EngineGPLv24.6Md20300d
Atari - 7800 (ProSystem)untestedAtari 7800GPLv2880K8a88014
Commodore - Amiga (PUAE)untestedAmigaGPLv224M6536174
Sharp - X68000 (PX68k)untestedSharp X68000Custom Non-Commercialnon-commercial1.6M0ad84d7
NEC - PC-88 series (QUASI88)untestedPC-88 seriesBSD 3-Clause and MAME non-commercialnon-commercial3.1M459bbc6
Nintendo - NES / Famicom (QuickNES)PlaysNintendo Entertainment SystemLGPLv2.1+2.3M26bb785
SNK - Neo Geo Pocket / Color (RACE)untestedNeo Geo Pocket (Color)GPLv21.3Mc7810dd
Flashback (REminiscence)untestedFlashback Game EngineGPLv31.2Me6c0b00
PICO-8 (Retro8)untestedPICO-8GPLv31.7Mddc06a1
Philips - CDi (SAME CDi)untestedCD-iGPLv2+14M9a589f6
Nintendo - Game Boy / Color (SameBoy)untestedGame Boy/Game Boy ColorMIT1.1Maa158a8
ScummVMuntestedScummVM Game EngineGPLv341M430653b9
Sega - MS/GG (SMS Plus GX)untestedSega 8-bitGPLv2876K3844b46
Nintendo - SNES / SFC (Snes9x 2002)PlaysSuper Nintendo Entertainment SystemNon-commercialnon-commercial1.6M24b3489
Nintendo - SNES / SFC (Snes9x 2005)PlaysSuper Nintendo Entertainment SystemNon-commercialnon-commercial1.5Mdeb49d8
Nintendo - SNES / SFC (Snes9x 2005 Plus)PlaysSuper Nintendo Entertainment SystemNon-commercialnon-commercial1.5Mdeb49d8
Nintendo - SNES / SFC (Snes9x 2010)PlaysSuper Nintendo Entertainment SystemNon-commercialnon-commercial3.7Mf81b694
Nintendo - SNES / SFC (Snes9x)PlaysSuper Nintendo Entertainment SystemNon-commercialnon-commercial4.5M890b5d4
Atari - 2600 (Stella 2014)untestedAtari 2600GPLv25.9M7d1361e
Sony - PlayStation (SwanStation)PlaysA level played through at 2x upscale with 2xMLAA, 30-90 fpsPlayStationGPLv36.3Mb6c30a7 +7 patches
Bandai - Tamagotchi P1 (TamaLIBretro)untestedTamagotchi P1GPL-2.0860Kea8dd61
TestuntestedMIT524K7c2ad11
Nintendo - Game Boy / Color (TGB Dual)untestedGame Boy/Game Boy ColorGPLv2764K0392c9c
Thomson - MO/TO (Theodore)untestedThomson MO/TOGPLv32.9M4d469ce
The Powder ToyuntestedPhysics ToyGPLv34.3Mbb2d9f6
TIC-80untestedTIC-80MIT1.5Me4c6557 +1 patch
Nintendo - 3DS (Trident)PlaysA Link Between Worlds at 60 fps with correct 3D; Ocarina of Time 3D runs. Brief stutter while new shaders compile. Keep Hash textures onRecommended settings3DSGPLv326M402316c
Quake (TyrQuake)untestedQuake Game EngineGPLv21.8Me57bb11
Uzebox (Uzem)untestedUzeboxMIT776Kd991ee9
Nintendo - Game Boy Advance (VBA Next)PlaysGame Boy AdvanceGPLv21.7M788192f
Nintendo - Game Boy Advance (VBA-M)PlaysGame Boy/Game Boy Color/Game Boy AdvanceGPLv22.1M115defb
VeMUlatoruntestedSEGA Visual Memory UnitGPL v3776K27a062f
Atari - Jaguar (Virtual Jaguar)untestedJaguarGPLv33.1Mf9a3c89
Quake II (vitaQuake 2)untestedQuake II Game EngineGPLv23.3M1a1f424
Sharp X1 (X Millennium)untestedSharp X1BSD1.1M3106aa5
Rick Dangerous (XRick)PlaysRick Dangerous, straight out of data.zipRick Dangerous Game EngineGPLv31.1Mfcfde36