shadps4¶
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, and 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/libSceLibcInternal.sprx - Source:
src/core/linker.cpp:80-91 - Collection copy:
bios/Sony/PlayStation 4/shadps4/sys_modules/libSceLibcInternal.sprx
libSceNgs2.sprx optional in repo HLE fallback #
PS4 next-generation audio system
- Path:
shadps4/sys_modules/libSceNgs2.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:217 - Collection copy:
bios/Sony/PlayStation 4/shadps4/sys_modules/libSceNgs2.sprx
libSceUlt.sprx optional in repo #
PS4 user-level threading library
- Path:
shadps4/sys_modules/libSceUlt.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:218 - Collection copy:
bios/Sony/PlayStation 4/shadps4/sys_modules/libSceUlt.sprx - 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/libSceRtc.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:221 - Collection copy:
bios/Sony/PlayStation 4/shadps4/sys_modules/libSceRtc.sprx
libSceJpegDec.sprx optional in repo #
PS4 JPEG decoder
- Path:
shadps4/sys_modules/libSceJpegDec.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:222 - Collection copy:
bios/Sony/PlayStation 4/shadps4/sys_modules/libSceJpegDec.sprx - No HLE implementation. The module is stubbed when absent.
libSceJpegEnc.sprx optional in repo HLE fallback #
PS4 JPEG encoder
- Path:
shadps4/sys_modules/libSceJpegEnc.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:223 - Collection copy:
bios/Sony/PlayStation 4/shadps4/sys_modules/libSceJpegEnc.sprx
libScePngEnc.sprx optional in repo HLE fallback #
PS4 PNG encoder
- Path:
shadps4/sys_modules/libScePngEnc.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:225 - Collection copy:
bios/Sony/PlayStation 4/shadps4/sys_modules/libScePngEnc.sprx
libSceJson.sprx optional in repo #
PS4 JSON parser
- Path:
shadps4/sys_modules/libSceJson.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:226 - Collection copy:
bios/Sony/PlayStation 4/shadps4/sys_modules/libSceJson.sprx - No HLE implementation. The module is stubbed when absent.
libSceJson2.sprx optional in repo #
PS4 JSON v2 parser
- Path:
shadps4/sys_modules/libSceJson2.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:227 - Collection copy:
bios/Sony/PlayStation 4/shadps4/sys_modules/libSceJson2.sprx - No HLE implementation. The module is stubbed when absent.
libSceCesCs.sprx optional in repo #
PS4 character encoding conversion
- Path:
shadps4/sys_modules/libSceCesCs.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:228 - Collection copy:
bios/Sony/PlayStation 4/shadps4/sys_modules/libSceCesCs.sprx - No HLE implementation. The module is stubbed when absent.
libSceAt9Enc.sprx optional in repo #
PS4 ATRAC9 encoder
- Path:
shadps4/sys_modules/libSceAt9Enc.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:229 - Collection copy:
bios/Other/shadps4/shadps4/sys_modules/libSceAt9Enc.sprx - No HLE implementation. The module is stubbed when absent.
libSceAudiodec.sprx optional in repo #
PS4 audio decoder
- Path:
shadps4/sys_modules/libSceAudiodec.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:230 - Collection copy:
bios/Sony/PlayStation 4/shadps4/sys_modules/libSceAudiodec.sprx - No HLE implementation. The module is stubbed when absent.
libSceAudiodecCpu.sprx optional in repo #
PS4 CPU audio decoder
- Path:
shadps4/sys_modules/libSceAudiodecCpu.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:231 - Collection copy:
bios/Other/shadps4/shadps4/sys_modules/libSceAudiodecCpu.sprx - No HLE implementation. The module is stubbed when absent.
libSceAudiodecCpuDdp.sprx optional in repo #
PS4 CPU Dolby Digital Plus decoder
- Path:
shadps4/sys_modules/libSceAudiodecCpuDdp.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:232 - Collection copy:
bios/Other/shadps4/shadps4/sys_modules/libSceAudiodecCpuDdp.sprx - No HLE implementation. The module is stubbed when absent.
libSceAudiodecCpuM4aac.sprx optional in repo #
PS4 CPU AAC decoder
- Path:
shadps4/sys_modules/libSceAudiodecCpuM4aac.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:233 - Collection copy:
bios/Other/shadps4/shadps4/sys_modules/libSceAudiodecCpuM4aac.sprx - No HLE implementation. The module is stubbed when absent.
libSceAudiodecCpuDtsHdLbr.sprx optional in repo #
PS4 CPU DTS-HD LBR decoder
- Path:
shadps4/sys_modules/libSceAudiodecCpuDtsHdLbr.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:234 - Collection copy:
bios/Other/shadps4/shadps4/sys_modules/libSceAudiodecCpuDtsHdLbr.sprx - No HLE implementation. The module is stubbed when absent.
libSceAudiodecCpuHevag.sprx optional in repo #
PS4 CPU HEVAG decoder
- Path:
shadps4/sys_modules/libSceAudiodecCpuHevag.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:235 - Collection copy:
bios/Other/shadps4/shadps4/sys_modules/libSceAudiodecCpuHevag.sprx - No HLE implementation. The module is stubbed when absent.
libSceFont.sprx optional in repo HLE fallback #
PS4 font rendering library
- Path:
shadps4/sys_modules/libSceFont.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:236 - Collection copy:
bios/Sony/PlayStation 4/shadps4/sys_modules/libSceFont.sprx
libSceFontFt.sprx optional in repo HLE fallback #
PS4 FreeType font library
- Path:
shadps4/sys_modules/libSceFontFt.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:237 - Collection copy:
bios/Sony/PlayStation 4/shadps4/sys_modules/libSceFontFt.sprx
libSceFreeTypeOt.sprx optional in repo #
PS4 FreeType OpenType library
- Path:
shadps4/sys_modules/libSceFreeTypeOt.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:238 - Collection copy:
bios/Sony/PlayStation 4/shadps4/sys_modules/libSceFreeTypeOt.sprx - No HLE implementation. The module is stubbed when absent.
libSceFreeTypeOl.sprx optional in repo #
PS4 FreeType outline library
- Path:
shadps4/sys_modules/libSceFreeTypeOl.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:239 - Collection copy:
bios/Other/shadps4/shadps4/sys_modules/libSceFreeTypeOl.sprx - No HLE implementation. The module is stubbed when absent.
libSceFreeTypeOptOl.sprx optional in repo #
PS4 FreeType optimised outline library
- Path:
shadps4/sys_modules/libSceFreeTypeOptOl.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:240 - Collection copy:
bios/Other/shadps4/shadps4/sys_modules/libSceFreeTypeOptOl.sprx - No HLE implementation. The module is stubbed when absent.
libSceRudp.sprx optional in repo HLE fallback #
PS4 reliable UDP library
- Path:
shadps4/sys_modules/libSceRudp.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:243 - Collection copy:
bios/Other/shadps4/shadps4/sys_modules/libSceRudp.sprx
libSceWkFontConfig.sprx optional in repo #
PS4 WebKit font configuration
- Path:
shadps4/sys_modules/libSceWkFontConfig.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:244 - Collection copy:
bios/Other/shadps4/shadps4/sys_modules/libSceWkFontConfig.sprx - No HLE implementation. The module is stubbed when absent.
libSceSystemGesture.sprx optional in repo HLE fallback #
PS4 system gesture recognition
- Path:
shadps4/sys_modules/libSceSystemGesture.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:249 - Collection copy:
bios/Other/shadps4/shadps4/sys_modules/libSceSystemGesture.sprx
libSceXml.sprx optional in repo #
PS4 XML parser
- Path:
shadps4/sys_modules/libSceXml.sprx - Source:
src/core/libraries/sysmodule/sysmodule_internal.cpp:250 - Collection copy:
bios/Other/shadps4/shadps4/sys_modules/libSceXml.sprx - No HLE implementation. The module is stubbed when absent.
Generated on 2026-10-20T03:49:42Z