shadps4 - RetroBIOS¶
Technical notes
shadPS4 is a standalone PlayStation 4 emulator. Most PS4 system libraries are reimplemented in HLE. For better game compatibility, real firmware modules (.sprx) can be loaded in LLE mode from the sys_modules/ directory.
Modules are loaded by sysmodule_internal.cpp via loadModuleInternal(). If a module exists in sys_modules/, it is loaded as LLE. If absent and an HLE implementation exists, the emulator falls back to HLE. If neither, the module is stubbed and games needing it may fail.
Game-specific overrides are supported: sys_modules/{CUSA_ID}/ takes priority over the global sys_modules/ directory.
System fonts are mounted from fonts/font/ (/preinst/common/font on real PS4) and fonts/font2/ (/system/common/font2 on real PS4). These are SST (Sony Standard Text) typeface files in OTF format. The emulator mounts the directories wholesale; games load individual fonts by name. Without fonts, the emulator warns "No dumped system fonts, expect missing text or instability."
All firmware files are extracted from a real PS4 via FTP: - .sprx modules from /system/common/lib/ - font/ from /preinst/common/font/ - font2/ from /system/common/font2/
Batocera configgen (shadps4Generator.py) configures display, input, and saves but does not map BIOS/firmware paths. The emulator uses its own user directory for sys_modules/ and fonts/.
26 files | 0 required, 26 optional | 26 in repo, 0 missing | 9 with HLE fallback
libSceLibcInternal.sprx optional in repo HLE fallback
PS4 C standard library
- Path:
shadps4/sys_modules/ - Source:
src/core/linker.cpp:79-90
libSceNgs2.sprx optional in repo HLE fallback
PS4 next-generation audio system
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:213
libSceUlt.sprx optional in repo
PS4 user-level threading library
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:214 - No HLE implementation; the module is stubbed when absent.
libSceRtc.sprx optional in repo HLE fallback
PS4 real-time clock library
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:215
libSceJpegDec.sprx optional in repo
PS4 JPEG decoder
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:216 - No HLE implementation; the module is stubbed when absent.
libSceJpegEnc.sprx optional in repo HLE fallback
PS4 JPEG encoder
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:217
libScePngEnc.sprx optional in repo HLE fallback
PS4 PNG encoder
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:218
libSceJson.sprx optional in repo
PS4 JSON parser
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:219 - No HLE implementation; the module is stubbed when absent.
libSceJson2.sprx optional in repo
PS4 JSON v2 parser
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:220 - No HLE implementation; the module is stubbed when absent.
libSceCesCs.sprx optional in repo
PS4 character encoding conversion
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:221 - No HLE implementation; the module is stubbed when absent.
libSceAt9Enc.sprx optional in repo
PS4 ATRAC9 encoder
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:222 - No HLE implementation; the module is stubbed when absent.
libSceAudiodec.sprx optional in repo
PS4 audio decoder
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:223 - No HLE implementation; the module is stubbed when absent.
libSceAudiodecCpu.sprx optional in repo
PS4 CPU audio decoder
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:224 - No HLE implementation; the module is stubbed when absent.
libSceAudiodecCpuDdp.sprx optional in repo
PS4 CPU Dolby Digital Plus decoder
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:225 - No HLE implementation; the module is stubbed when absent.
libSceAudiodecCpuM4aac.sprx optional in repo
PS4 CPU AAC decoder
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:226 - No HLE implementation; the module is stubbed when absent.
libSceAudiodecCpuDtsHdLbr.sprx optional in repo
PS4 CPU DTS-HD LBR decoder
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:227 - No HLE implementation; the module is stubbed when absent.
libSceAudiodecCpuHevag.sprx optional in repo
PS4 CPU HEVAG decoder
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:228 - No HLE implementation; the module is stubbed when absent.
libSceFont.sprx optional in repo HLE fallback
PS4 font rendering library
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:229
libSceFontFt.sprx optional in repo HLE fallback
PS4 FreeType font library
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:230
libSceFreeTypeOt.sprx optional in repo
PS4 FreeType OpenType library
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:231 - No HLE implementation; the module is stubbed when absent.
libSceFreeTypeOl.sprx optional in repo
PS4 FreeType outline library
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:232 - No HLE implementation; the module is stubbed when absent.
libSceFreeTypeOptOl.sprx optional in repo
PS4 FreeType optimised outline library
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:233 - No HLE implementation; the module is stubbed when absent.
libSceRudp.sprx optional in repo HLE fallback
PS4 reliable UDP library
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:234
libSceWkFontConfig.sprx optional in repo
PS4 WebKit font configuration
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:235 - No HLE implementation; the module is stubbed when absent.
libSceSystemGesture.sprx optional in repo HLE fallback
PS4 system gesture recognition
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:236
libSceXml.sprx optional in repo
PS4 XML parser
- Path:
shadps4/sys_modules/ - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:237 - No HLE implementation; the module is stubbed when absent.
Generated on 2026-08-23T16:12:06Z