Snapshot of shadps4-emu/shadPS4: 33.6k★, C++, UI / UX. PlayStation 4 emulator for Windows, Linux, macOS and FreeBSD written in C++
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
shadPS4 is an early PlayStation 4 emulator for Windows, Linux and macOS written in C++.
[!IMPORTANT]
This is the emulator core, which does not include a GUI. If you just want to use the emulator as an end user, download the QtLauncher instead.
If you encounter problems or have doubts, do not hesitate to look at the Quickstart.
To verify that a game works, you can look at shadPS4 Game Compatibility.
To discuss shadPS4 development, suggest ideas or to ask for help, join our Discord server.
To get the latest news, go to our X (Twitter) or our website.
You can donate to the project via our Kofi page.
Status
[!IMPORTANT]
shadPS4 is early in development, don't expect a flawless experience.
Currently, the emulator can successfully run games like Bloodborne, Dark Souls Remastered, Red Dead Redemption, and many other games.
Why
This project began for fun. Given our limited free time, it may take some time before shadPS4 can run more complex games, but we're committed to making small, regular updates.
Building
Docker
For building shadPS4 in a containerized environment using Docker and VSCode, check the instructions here: Docker Build Instructions
Windows
Check the build instructions for Windows.
Linux
Check the build instructions for Linux.
macOS
Check the build instructions for macOS.
[!IMPORTANT]
macOS users need at least macOS 26.0 to run shadPS4. Intel Macs are not supported.
Usage examples
[!IMPORTANT]
For a user-friendly GUI, download the QtLauncher.
To get the list of all available commands and also a more detailed description of what each command does, please refer to the --help flag's output.
Below is a list of commonly used command patterns:
shadPS4 CUSA00001 # Searches for a game folder called CUSA00001 in the list of game install folders, and boots it.
shadPS4 --fullscreen true --config-clean CUSA00001 # the game argument is always the last one,
shadPS4 -g CUSA00001 --fullscreen true --config-clean # ...unless manually specified otherwise.
shadPS4 /path/to/game.elf # Boots a PS4 ELF file directly. Useful if you want to boot an executable that is not named eboot.bin.
shadPS4 CUSA00001 -- -flag1 -flag2 # Passes '-flag1' and '-flag2' to the game executable in argv.
Debugging and reporting issues
For more information on how to test, debug and report issues with the emulator or games, read the Debugging documentation.
Keyboard and Mouse Mappings
[!NOTE]
Some keyboards may also require you to hold the Fn key to use the F* keys. Mac users should use the Command key instead of Control, and need to use Command+F11 for full screen to avoid conflicting with system key bindings.
Button
Function
F10
FPS Counter
Ctrl+F10
Video Debug Info
F11
Fullscreen
F12
Trigger RenderDoc Capture (or game-only screenshot if RenderDoc is unavailable)
Alt+F12
Capture screenshot including HUD/dialog overlays
[!NOTE]
Xbox and DualShock controllers work out of the box.
Controller button
Keyboard equivalent
LEFT AXIS UP
W
LEFT AXIS DOWN
S
LEFT AXIS LEFT
A
LEFT AXIS RIGHT
D
RIGHT AXIS UP
I
RIGHT AXIS DOWN
K
RIGHT AXIS LEFT
J
RIGHT AXIS RIGHT
L
TRIANGLE
Numpad 8 or C
CIRCLE
Numpad 6 or B
CROSS
Numpad 2 or N
SQUARE
Numpad 4 or V
PAD UP
UP
PAD DOWN
DOWN
PAD LEFT
LEFT
PAD RIGHT
RIGHT
OPTIONS
RETURN
BACK BUTTON / TOUCH PAD
SPACE
L1
Q
R1
U
L2
E
R2
O
L3
X
R3
M
Keyboard and mouse inputs can be customized in the settings menu by clicking the Controller button, and further details and help on controls are also found there. Custom bindings are saved per-game. Inputs support up to three keys per binding, mouse buttons, mouse movement mapped to joystick input, and more.
Firmware files
shadPS4 can load some PlayStation 4 firmware files.
The following firmware modules are supported and must be placed in shadPS4's sys_modules folder.
Modules
Modules
Modules
Modules
libSceAt9Enc.sprx
libSceAudiodec.sprx
libSceAudiodecCpu.sprx
libSceAudiodecCpuDdp.sprx
libSceAudiodecCpuDtsHdLbr.sprx
libSceAudiodecCpuHevag.sprx
libSceAudiodecCpuM4aac.sprx
libSceAvPlayer.sprx
libSceAvPlayerStreaming.sprx
libSceBeisobmf.sprx
libSceBemp2sys.sprx
libSceCesCs.sprx
libSceFont.sprx
libSceFontFt.sprx
libSceFreeTypeOl.sprx
libSceFreeTypeOptOl.sprx
libSceFreeTypeOt.sprx
libSceJpegDec.sprx
libSceJpegEnc.sprx
libSceJson.sprx
libSceJson2.sprx
libSceLibcInternal.sprx
libSceNgs2.sprx
libScePngEnc.sprx
libScePsmKitSystem.sprx
libSceRtc.sprx
libSceRudp.sprx
libSceSystemGesture.sprx
libSceUlt.sprx
libSceWkFontConfig.sprx
libSceXml.sprx
libSceDepth.sprx
libScePadTracker.sprx
libSceMoveTracker.sprx
[!Caution]
The above modules are required to run the games properly and must be dumped from your legally owned PlayStation 4 console.
Main team
georgemoralis
psucien
viniciuslrangel
roamic
squidbus
frodo
Stephen Miller
kalaposfos13
Logo is done by Xphalnos
Contributing
If you want to contribute, please read the CONTRIBUTING.md file.
Open a PR and we'll check it :)
Special Thanks
A few noteworthy teams/projects who've helped us along the way are:
Panda3DS: A multiplatform 3DS emulator from our co-author wheremyfoodat. They have been incredibly helpful in understanding and solving problems that came up from natively executing the x64 code of PS4 binaries
fpPS4: The fpPS4 team has assisted massively with understanding some of the more complex parts of the PS4 operating system and libraries, by helping with reverse engineering work and research.
yuzu: Our shader compiler has been designed with yuzu's Hades compiler as a blueprint. This allowed us to focus on the challenges of emulating a modern AMD GPU while having a high-quality optimizing shader compiler implementation as a base.
felix86: A new x86-64 → RISC-V Linux userspace emulator
emudev.org: A network of people interested in the documentation, emulation, simulation and re-implementation of hardware near extinction . Belongs to my friend skmp and me (shadow) also a member of it
The most recent commit recorded on shadps4-emu/shadPS4 was 7 days ago, based on the GitHub push timestamp. The repository has 2.8k forks — one of the better signals of community interest.
How many stars does shadps4-emu/shadPS4 have?
shadps4-emu/shadPS4 has 33.6k GitHub stars — refresh the page for the live number, or check github.com/shadps4-emu/shadPS4. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is shadps4-emu/shadPS4 open source?
Yes — shadps4-emu/shadPS4 ships under the GPL-2.0 license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/shadps4-emu/shadPS4.
What else is in the UI / UX space?
shadps4-emu/shadPS4 is tracked by TopGit under the UI / UX category, alongside 12 GitHub-tagged topics. Trending and Topics pages list peer repositories of comparable stars and language.
What topics is shadps4-emu/shadPS4 associated with?
The project maintains a homepage at https://shadps4.net/. The README tab on this page also usually contains screenshots and a quickstart.
Where do I read more about shadps4-emu/shadPS4?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/shadps4-emu/shadPS4 is the definitive source.
Read full README in the tab above.
Is shadPS4 worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of shadPS4.