explaingit

shadps4-emu/shadps4

Analysis updated 2026-05-18

31,026C++Audience · developerComplexity · 5/5LicenseSetup · 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
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

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.

What is it built with?

C++Dear ImGuiAMD GNM GPU APIFreeBSD kernel

How does it compare?

shadps4-emu/shadps4microsoft/calculatorfreecad/freecad
Stars31,02630,92530,774
LanguageC++C++C++
Setup difficultyhardhardeasy
Complexity5/53/53/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get 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?

Frequently asked questions

What is shadps4?

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.

What language is shadps4 written in?

Mainly C++. The stack also includes C++, Dear ImGui, AMD GNM GPU API.

What license does shadps4 use?

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

How hard is shadps4 to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is shadps4 for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub shadps4-emu on gitmyhub

Verify against the repo before relying on details.