Open-source project
sharpemu/sharpemu avatar
sharpemu/sharpemu

SharpEmu: an early C# PS5 emulator that boots eboot.bin files on Windows and Linux, not macOS

An experimental PlayStation 5 emulator for Windows, Linux and macOS.

6,602 stars597 forksC#GPL-2.0

At a glance

What is it?
SharpEmu is a GPL-licensed PlayStation 5 emulator written from scratch in C#, with an experimental PS4 backward compatibility mode. It runs on Windows x64 and Linux x64 through Vulkan, puts accuracy ahead of per-game fixes, and ships 0.0.x builds every couple of weeks.
Who is it for?
SharpEmu suits people curious about PS5 emulation who own a console, can dump their own games, and are comfortable running 0.0.x builds on Windows x64 or Linux x64 with a Vulkan GPU. It does not suit anyone expecting a ready game player, a macOS build from this repository, or an Android version.
Can I use it commercially?
Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly C#, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • sharpemu/sharpemu6,602 ★ · +1,152
Star history
Repository2026-09-232026-11-14
sharpemu/sharpemu5.5k6.6k

1,152 Stars in the last 52 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

Written from scratch in C#, with accuracy ahead of game fixes

SharpEmu is a PlayStation 5 emulator developed from scratch in C#, with an experimental backward compatibility mode for PS4 games. The project calls itself early in development and states its priority plainly: the current focus is accuracy and infrastructure setup, not game-specific compatibility. It is framed as a research and educational project with no commercial goals, built by people interested in system architecture and reverse engineering.

Today the emulator can load the eboot.bin of real games, execute native CPU instructions, and partially handle GPU work, including 3D games. Video output goes through Vulkan. The consequence of the accuracy-first focus is that a game which fails to start is not something the team will patch around quickly; fixes come as the underlying emulation improves. The project credits ShadPS4 for PS4 architecture, Kyty for studying native code execution on PS5, Ryujinx for filesystem handling and C# patterns, and OpenGNM for the GCN architecture.

The repository description says macOS, the builds here do not

The GitHub description lists Windows, Linux and macOS, but this repository supports Windows x64 and Linux x64 hosts only. macOS support is maintained in a separate repository, sharpemu/sharpemu-mac, so a Mac user who downloads from sharpemu/sharpemu will not find a build for their machine here.

Windows on ARM devices, such as Snapdragon laptops, can run the Windows x64 build through Windows' built-in x64 emulation, which means an emulator running inside another layer of emulation. No Android build is listed among the supported hosts, so an APK claiming to be SharpEmu is not something this repository ships. Platform support is described as experimental even on the supported hosts: compatibility and performance vary by game, operating system and GPU driver, and a Vulkan-capable GPU with a current graphics driver is required.

Every launch starts from a game's eboot.bin

There is no installer. You download the release archive for your operating system, extract it, and start SharpEmu with the path to a legally obtained game's eboot.bin, either from the GUI or the command line. On Windows PowerShell:

powershell
.\SharpEmu.exe "C:\path\to\game\eboot.bin" --log-to-file

On Linux, mark the binary executable first:

bash
chmod +x ./SharpEmu

./SharpEmu "/path/to/game/eboot.bin" --log-to-file

The --log-to-file flag writes the log to disk, which is what you want to attach when reporting a problem. SharpEmu ships no firmware, game data or proprietary PlayStation assets, so the game files have to come from a console you own. Behaviour is tuned through environment variables that can be set per game or globally in the GUI, or passed through the CLI; the undocumented ones are collected in docs/sharpemu-gui-undocumented-env-vars.md. Game patches have their own guide in docs/patches.md, covering how to download, enable and write them.

A selected games list is not a compatibility promise

The project shows a selection of games tested with SharpEmu: Demon's Souls Remake, ASTRO BOT, ASTRO's PLAYROOM, Gran Turismo 7, God of War: Sons of Sparta and Tomb Raider V Remastered. In the experimental backward compatibility mode it shows Bloodborne and Uncharted The Nathan Drake Collection. The list is explicitly not exhaustive, and a fuller view lives at sharpemu.app/compatibility.

What the list does not tell you is how far each title gets or how well it runs. Tested does not mean playable, and no frame rates or completion states are attached to these names. Since performance varies by game, operating system and GPU driver, the same title can behave differently on two machines. Treat the list as evidence that these games were tried, and check the compatibility page for a specific title before spending time dumping it from your console.

0.0.x builds with codenames, roughly two weeks apart

Releases are still in the 0.0.x range and carry codenames: v0.0.5-nexus-release.2 on 2026-10-08, v0.0.6-mono on 2026-10-18, and v0.0.7-pulse on 2026-11-01. The last push to the repository was also on 2026-11-01.

That cadence is good news for anyone following progress and a cost for anyone who wants stability. A game that started on one build can regress on the next while the emulation core is reworked for accuracy. If a title matters to you, keep the archive of the build that worked rather than overwriting it, and include the version name when reporting results. The Discord server is the project's channel for development updates, compatibility discussion and support.

Building from source pins the .NET SDK through global.json

To build SharpEmu yourself, install the .NET SDK version specified in global.json, clone the repository with git clone https://github.com/sharpemu/sharpemu.git, open SharpEmu.slnx in VSCode, and run dotnet build or dotnet publish. Output lands in the artifacts directory.

The global.json pin means a different SDK already on your machine is not enough; install the one it names. The tree also carries Directory.Build.props, Directory.Packages.props and nuget.config at the root, with code in src/, tests in tests/, and helper code in scripts/ and tools/. Before opening an issue or pull request, contributors are asked to read CONTRIBUTING.md, which covers coding style, AI-assisted contributions, pull request expectations, testing, and the project's legal and reverse engineering policy.

Only sharpemu.app is official, and the code is GPL

The project warns that only sharpemu.app and the links in its GitHub repository are affiliated with SharpEmu; any other websites, accounts or donation pages are unofficial and unauthorized. For a popular search term like a PS5 emulator, that warning matters: a download from anywhere else is not vouched for by the developers. Support goes through GitHub Sponsors, which the project prefers, or the cryptocurrency addresses listed in its own repository.

The repository is licensed under GPL-2.0, with source files carrying the SPDX identifier GPL-2.0-or-later, and it uses a REUSE.toml file with a LICENSES/ directory for per-file licensing. Anyone redistributing a modified build has to keep it under the GPL and publish the source. The project also states that it does not support or condone piracy, and that all games used in development were dumped from consoles the developers own.

Editorial conclusion

SharpEmu suits people curious about PS5 emulation who own a console, can dump their own games, and are comfortable running 0.0.x builds on Windows x64 or Linux x64 with a Vulkan GPU. It does not suit anyone expecting a ready game player, a macOS build from this repository, or an Android version. Before trying a title, check sharpemu.app/compatibility, and download only from sharpemu.app or links in the GitHub repository.

Frequently asked questions

What is SharpEmu?

SharpEmu is an experimental PlayStation 5 emulator written from scratch in C#, with an experimental backward compatibility mode for PS4 games. It runs on Windows x64 and Linux x64 with Vulkan video output.

Is SharpEmu open source?

Yes. SharpEmu is published on GitHub under the GPL-2.0 license, and its source files carry the SPDX identifier GPL-2.0-or-later.

How do you install SharpEmu?

Download the release archive for Windows or Linux from the official repository or sharpemu.app and extract it. On Linux, run chmod +x ./SharpEmu before the first launch.

How do you use SharpEmu?

Launch SharpEmu with the path to a legally obtained game's eboot.bin, from the GUI or the command line, optionally with --log-to-file. A Vulkan-capable GPU and current driver are required.

Is SharpEmu legit?

Only sharpemu.app and the links in the sharpemu/sharpemu GitHub repository are affiliated with SharpEmu; other sites, accounts or donation pages are unofficial. The emulator ships no firmware or game data and does not condone piracy.

Official sources

  1. License: GPL-2.0
  2. Project website
  3. README
  4. Releases
  5. sharpemu/sharpemu on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/sharpemu-sharpemu.svg)](https://hysenlabs.com/projects/sharpemu-sharpemu)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/sharpemu-sharpemu.svg)](https://hysenlabs.com/projects/sharpemu-sharpemu)

Was this useful?