explaingit

shadps4-emu/shadps4

📈 Trending31,125C++Audience · developerComplexity · 5/5ActiveLicenseSetup · hard

TLDR

Open-source PS4 emulator that runs PlayStation 4 games on Windows, Linux, macOS, and FreeBSD by translating the console's hardware and OS into PC-compatible code.

Mindmap

mindmap
  root((shadPS4))
    What it does
      Runs PS4 games
      Translates hardware
      Handles graphics
      Maps controllers
    How it works
      Intercepts game code
      Converts GPU calls
      Emulates Orbis OS
      Manages memory
    Use cases
      Play owned games
      Desktop gaming
      Cross-platform access
    Tech stack
      C++ 23
      Dear ImGui
      AMD GPU API
    Status
      Early development
      Some games work
      Needs firmware dump
    Platforms
      Windows
      Linux
      macOS
      FreeBSD

Things people build with this

USE CASE 1

Play PS4 games you legally own on your Windows or Mac desktop without owning a console.

USE CASE 2

Run PS4 exclusives like Bloodborne or Dark Souls Remastered on Linux or FreeBSD.

USE CASE 3

Test and debug PS4 game compatibility across different operating systems.

USE CASE 4

Preserve access to PS4 games as hardware ages or becomes unavailable.

Tech stack

C++Dear ImGuiAMD GNM GPU APIFreeBSD kernel

Getting it running

Difficulty · hard Time to first run · 1day+

Requires building from source with C++ toolchain, GPU driver support for AMD GNM translation, and significant compilation time; running games requires dumped PS4 firmware and game files.

Use it freely, but any project you distribute that includes this code must also be GPL-licensed and open source.

In plain English

shadPS4 is an open-source PlayStation 4 emulator written in C++ that lets you run PS4 games on Windows, Linux, macOS, and FreeBSD. The core problem it solves is that PlayStation 4 consoles are dedicated gaming hardware, the only way to play their games is to own the physical console. An emulator recreates that hardware in software, translating the PS4's specific processor instructions, graphics calls, operating system behavior, and input handling into equivalent operations that run on a standard PC or Mac. How it works: the emulator intercepts the game's code and firmware calls, translating PS4-specific graphics commands (using the PS4's custom AMD GPU API called GNM) into graphics calls your computer's GPU can understand. It also handles the PS4's custom operating system (Orbis OS, a modified FreeBSD), sound processing, memory management, controller input mapping, and filesystem layout. The project is early in development, meaning it runs some games well, titles like Bloodborne, Dark Souls Remastered, Yakuza 0, and Red Dead Redemption are listed as working, but many others have bugs or don't run yet. Users must dump firmware modules from their own legally owned PS4 console to satisfy copyright requirements. You would use shadPS4 if you want to play PS4 games you legally own on your desktop computer, especially titles that are not available on other platforms. A graphical launcher application (QtLauncher) is available separately for users who prefer a GUI over command-line usage. Xbox and DualShock controllers work out of the box, and keyboard mappings are also configurable. The tech stack is C++ (C++23 standard) with Dear ImGui for any in-process UI elements. It compiles on Windows, Linux, macOS, and FreeBSD.

Copy-paste prompts

Prompt 1
How do I set up shadPS4 to run PS4 games on my Windows PC? What files do I need to dump from my PS4?
Prompt 2
Show me how to configure controller mappings in shadPS4 for my DualShock 4 controller.
Prompt 3
Which PS4 games are currently playable in shadPS4 and what are the known issues?
Prompt 4
How does shadPS4 translate PS4 GPU commands (GNM) to work on my graphics card?
Prompt 5
What's the difference between running shadPS4 on Windows versus Linux, and which is more stable?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.