# shadps4-emu/shadps4

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/shadps4-emu-shadps4).**

31,390 stars · 2,203 forks · C++ · GPL-2.0

## Links

- GitHub: https://github.com/shadps4-emu/shadPS4
- Homepage: https://shadps4.net/
- awesome-repositories: https://awesome-repositories.com/repository/shadps4-emu-shadps4.md

## Topics

`cpp` `cpp23` `emulation` `emulator` `imgui` `linux` `macos` `playstation4` `ps4` `sdl3` `vulkan` `windows`

## Description

shadPS4 is a C++ game emulator and hardware virtualization tool designed to replicate the PlayStation 4 system environment and hardware to run console software on a computer. It functions as a cross-platform application compatible with Windows, Linux, macOS, and FreeBSD.

The project serves as a graphics debugging tool capable of dumping shaders and integrating with rendering tools for performance analysis. It provides a system for recreating the console environment through the import of official firmware files, system fonts, and the use of decrypted keys for tracking game trophies.

The emulator includes capabilities for mapping modern keyboards, mice, and controllers to virtual console inputs. It also provides configuration options for managing window dimensions and display modes, as well as system log filtering for troubleshooting.

## Tags

### Part of an Awesome List

- [PlayStation 4 Emulation](https://awesome-repositories.com/f/awesome-lists/devtools/gaming-emulation-and-tools/playstation-4-emulation.md) — Replicates PlayStation 4 hardware and system software to run games on a computer.
- [System Firmware Importers](https://awesome-repositories.com/f/awesome-lists/security/firmware-emulation-frameworks/system-firmware-importers.md) — Supports the import of official system firmware files to provide necessary libraries for game execution. ([source](https://github.com/shadps4-emu/shadps4#readme))
- [Media & Communication](https://awesome-repositories.com/f/awesome-lists/media/media-communication.md) — PlayStation 4 emulator

### Graphics & Multimedia

- [Console Emulators](https://awesome-repositories.com/f/graphics-multimedia/legacy-media-emulators/console-emulators.md) — Implements a full system runtime environment that executes PlayStation 4 software by translating original processor instructions. ([source](https://github.com/shadps4-emu/shadps4#readme))
- [High-Performance Game Emulators](https://awesome-repositories.com/f/graphics-multimedia/c-multimedia-libraries/high-performance-game-emulators.md) — A high-performance C++ application that maps console hardware signals and graphics commands to desktop components.
- [Graphics API Translators](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/graphics-apis-bindings/graphics-rendering-apis/graphics-api-translators.md) — Translates console-specific rendering commands into modern graphics APIs for hardware-accelerated execution.
- [Game Rendering Analysis](https://awesome-repositories.com/f/graphics-multimedia/game-rendering-analysis.md) — Uses shader dumping and graphics debuggers to study how a game handles visual effects and rendering performance.
- [Shader Exporting](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/shaders/shader-cross-compilation-pipelines/asynchronous-compilation/shader-caches/shader-exporting.md) — Captures and writes compiled GPU programs to disk for external analysis and performance optimization.
- [Shader Export Utilities](https://awesome-repositories.com/f/graphics-multimedia/shader-export-utilities.md) — Implements a utility to export loaded shader files to a local directory for detailed external analysis. ([source](https://github.com/shadps4-emu/shadPS4/blob/main/documents/Debugging/Debugging.md))

### Development Tools & Productivity

- [Firmware Integration](https://awesome-repositories.com/f/development-tools-productivity/management-consoles/console-compatibility-utilities/firmware-integration.md) — Loads official system files and fonts to improve software compatibility and ensure correct text rendering.
- [Graphics](https://awesome-repositories.com/f/development-tools-productivity/debugger-integrations/graphics.md) — Provides integration with external graphics debuggers for analyzing shaders and rendering performance. ([source](https://github.com/shadps4-emu/shadPS4/blob/main/documents/Debugging/Debugging.md))
- [Graphics Debugging Tools](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/debugging-inspection-tools/debugging-and-inspection-tools/graphics-frame-capture-tools/graphics-debugging-tools.md) — Provides a development environment capable of dumping shaders and hooking into rendering tools for performance analysis.

### DevOps & Infrastructure

- [Console Hardware Virtualization](https://awesome-repositories.com/f/devops-infrastructure/virtual-hardware-interfaces/virtual-hardware-simulators/console-hardware-virtualization.md) — Recreates console environments including firmware loading, system font import, and hardware input mapping.

### Operating Systems & Systems Programming

- [Dynamic Binary Translators](https://awesome-repositories.com/f/operating-systems-systems-programming/instruction-translation-accelerators/dynamic-binary-translators.md) — Implements a dynamic binary translator to convert console machine code into host CPU instructions at runtime.
- [System Emulators](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/hardware-emulators/hardware-interface-emulators/system-emulators.md) — Replicates PlayStation 4 hardware and system software to run games on a computer.
- [High-Level](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/hardware-emulators/hardware-interface-emulators/system-emulators/high-level.md) — Replicates console operating system functions and library calls through high-level emulation to improve performance.

### Web Development

- [System Library Loading](https://awesome-repositories.com/f/web-development/web-infrastructure-deployment/asset-management-build-tools/asset-loading-resolution/binary-asset-loading/system-library-loading.md) — Loads original system binaries and modules to provide the necessary software environment for game execution.

### System Administration & Monitoring

- [Input Device Mapping](https://awesome-repositories.com/f/system-administration-monitoring/virtual-device-drivers/input-device-emulators/device-specific-input-rules/input-device-mapping.md) — Binds keyboard keys, mouse movements, and controller buttons to virtual inputs using per-game configurations. ([source](https://github.com/shadps4-emu/shadps4#readme))

### User Interface & Experience

- [Console Input Mappers](https://awesome-repositories.com/f/user-interface-experience/input-controls/peripheral-input-drivers/console-input-mappers.md) — Maps physical controllers and keyboard inputs to original console hardware signals for accurate gameplay.
