# sharpemu/sharpemu

**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/sharpemu-sharpemu).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

6,545 stars · 597 forks · C# · GPL-2.0

## Links

- GitHub: https://github.com/sharpemu/sharpemu
- Homepage: https://sharpemu.app
- awesome-repositories: https://awesome-repositories.com/repository/sharpemu-sharpemu.md

## Topics

`csharp` `emulation` `emulator` `linux` `playstation5` `ps5` `windows`

## Description

SharpEmu is an experimental PlayStation 5 emulator written in C#. It loads a game's boot executable and runs the game's native CPU instructions directly on a Windows or Linux desktop host, while console operating system and library calls are reimplemented in managed code so unmodified games find the services they expect. GPU support is partial, covering some 3D titles. An experimental backward-compatibility mode also runs selected games from the previous console generation on the same emulator core.

Graphics are produced through a Vulkan translation layer that converts console GPU shaders and draw commands into pipelines a Vulkan-capable GPU can run. Compiled pipelines and shader analysis are cached on disk between launches to speed up repeated runs. Compatibility and performance vary by game, operating system, and driver.

Around the emulator core is a per-game patch and mod system. Patches are downloaded from a community repository matched to title ID and game version, validated so an invalid patch is rejected in full, and applied to memory at launch without altering the original game files. Settings are layered from shared defaults, per-title overrides, environment variables, and command-line arguments, and can be edited from a graphical interface or the command line. Games can be started from either a terminal or a desktop window.

The project also includes a debugging toolkit: a debugger server and frontend, tracing of native function calls and graphics draw calls, guest memory write inspection, shader dumping, and a GPU conformance tool. Tuning options cover threading, memory, audio latency, movie playback, and a performance overlay. Automated test projects cover library behavior, shader compilation, and source generators, and the suite can be run in Docker on Linux. Packaged release archives are available for Windows and Linux.

## Tags

### Game Development

- [PlayStation 5 Emulators](https://awesome-repositories.com/f/game-development/playstation-5-emulators.md) — Loads a game's boot executable and runs its native CPU instructions on Windows or Linux, with partial GPU support for some 3D titles. ([source](https://github.com/sharpemu/sharpemu#readme))
- [Per-Game Patch Managers](https://awesome-repositories.com/f/game-development/per-game-patch-managers.md) — Downloads community patches matched to title ID and version, validates them in full, and applies them to memory at launch without altering game files.
- [Backward-Compatible Console Game Runners](https://awesome-repositories.com/f/game-development/backward-compatible-console-game-runners.md) — Offers an experimental backward-compatibility mode that runs selected previous-generation console games on the same emulator core.
- [Emulation Performance Tuning](https://awesome-repositories.com/f/game-development/emulation-performance-tuning.md) — Offers environment variables and per-game settings for memory, threading, audio latency, movie playback and graphics behavior to improve speed and stability.
- [Game Client Mod Managers](https://awesome-repositories.com/f/game-development/game-client-mod-managers.md) — Lets users download, enable and apply community patches and mods per game at launch, leaving the original game files untouched.

### Graphics & Multimedia

- [Console GPU to Vulkan Translation Layers](https://awesome-repositories.com/f/graphics-multimedia/console-gpu-to-vulkan-translation-layers.md) — Converts console GPU shaders and draw commands into Vulkan pipelines, with caching and tuning options for speed and compatibility.
- [Console GPU Shader Translators](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/shaders/shader-cross-compilation-pipelines/runtime-shader-compilers/console-gpu-shader-translators.md) — Translates console GPU shader programs into Vulkan-ready shader modules so game visuals render on desktop graphics hardware. ([source](https://github.com/sharpemu/sharpemu/tree/main/src))
- [Console GPU Translation Layers](https://awesome-repositories.com/f/graphics-multimedia/vulkan-driver-wrappers/console-gpu-translation-layers.md) — Converts console GPU shaders and draw commands into Vulkan pipelines so game visuals render on desktop graphics hardware.
- [Shader Caching](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/shaders/cross-platform-shader-compilers/shader-caching.md) — Keeps compiled pipelines and shader analysis on disk between launches, with options to enable, disable, open or clear the cache folder. ([source](https://github.com/sharpemu/sharpemu/blob/main/docs/sharpemu-gui-undocumented-env-vars.md))
- [Shader Caches](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/shaders/shader-cross-compilation-pipelines/asynchronous-compilation/shader-caches.md) — Stores compiled pipelines and shader analysis on disk between launches so repeated runs skip expensive compilation and load faster.
- [Vulkan Video Output](https://awesome-repositories.com/f/graphics-multimedia/vulkan-video-output.md) — Outputs game graphics through a Vulkan-capable GPU, with compatibility and performance depending on game, operating system and driver. ([source](https://github.com/sharpemu/sharpemu#readme))

### Operating Systems & Systems Programming

- [Console System Call Hosts](https://awesome-repositories.com/f/operating-systems-systems-programming/console-system-call-hosts.md) — Reimplements console operating system and library calls in managed code so unmodified games find the services they expect without original firmware. ([source](https://github.com/sharpemu/sharpemu/tree/main/src))
- [Managed System Library Reimplementations](https://awesome-repositories.com/f/operating-systems-systems-programming/managed-system-library-reimplementations.md) — Reimplements console operating system and library calls in managed code so unmodified games find the services they expect.
- [Native Guest Code Execution](https://awesome-repositories.com/f/operating-systems-systems-programming/native-guest-code-execution.md) — Runs the game's own machine code directly on the host processor for near-native speed while the surrounding system is emulated.
- [High-Level Emulation](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/hardware-emulators/hardware-interface-emulators/system-emulators/high-level-emulation.md) — Reimplements console operating system and library calls in managed code so unmodified games run without real firmware.

### Programming Languages & Runtimes

- [Shader Translation](https://awesome-repositories.com/f/programming-languages-runtimes/intermediate-representation-translation/shader-translation.md) — Converts console GPU shader programs into Vulkan-compatible shader modules, with validation before loading.

### Software Engineering & Architecture

- [Game Binary Patching](https://awesome-repositories.com/f/software-engineering-architecture/game-binary-patching.md) — Applies patch definitions to game memory at launch, matched by title, version, and executable, leaving original game files untouched. ([source](https://github.com/sharpemu/sharpemu/blob/main/docs/patches.md))
- [Per-Game Patch Managers](https://awesome-repositories.com/f/software-engineering-architecture/game-binary-patching/per-game-patch-managers.md) — Offers a per-game window to search, filter, and enable patches with author and version details, saving choices per title. ([source](https://github.com/sharpemu/sharpemu/blob/main/docs/patches.md))
- [Community Patch Downloads](https://awesome-repositories.com/f/software-engineering-architecture/localization-patch-sets/environment-compatibility-patches/community-patch-downloads.md) — Downloads patches from a community repository matched to title ID and game version, skipping unrelated ones. ([source](https://github.com/sharpemu/sharpemu/blob/main/docs/patches.md))
- [Patch Validation Rules](https://awesome-repositories.com/f/software-engineering-architecture/patch-validation-rules.md) — Rejects an entire patch if any line is invalid, a pattern is not found, or a write is out of range. ([source](https://github.com/sharpemu/sharpemu/blob/main/docs/patches.md))

### Part of an Awesome List

- [PlayStation 4 Emulation](https://awesome-repositories.com/f/awesome-lists/devtools/gaming-emulation-and-tools/playstation-4-emulation.md) — Runs selected previous-generation console games through an experimental backward-compatibility mode on the same emulator core. ([source](https://github.com/sharpemu/sharpemu/blob/main/README.md))

### Development Tools & Productivity

- [Console Emulation Debugging Toolkits](https://awesome-repositories.com/f/development-tools-productivity/console-emulation-debugging-toolkits.md) — Bundles a debugger server and frontend, call and draw tracing, memory write inspection, shader dumping and a GPU conformance tool.
- [Per-Game Launch Parameters](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/performance-resource-profilers/cpu-profilers/per-game-profile-managers/per-game-launch-parameters.md) — Merges shared defaults, per-title overrides, environment variables and command-line arguments in a fixed order to produce each game's launch settings.
- [Emulator Debugging Tools](https://awesome-repositories.com/f/development-tools-productivity/emulator-debugging-tools.md) — Includes a debugger server and frontend, native call and draw tracing, guest memory write inspection and shader dumping for emulated games.

### Security & Cryptography

- [Game Engine Memory Patching](https://awesome-repositories.com/f/security-cryptography/runtime-memory-patching/game-engine-memory-patching.md) — Applies patch definitions that overwrite game memory after load, matched by title, version and executable, leaving original files untouched.
