An unofficial Eden emulator port for PlayStation 5 homebrew
ProsperoEden is an unofficial PlayStation 5 port of Eden - an accurate, high-performance emulator. All credit for the emulator core belongs to the Eden project and its contributors. ProsperoEden is not affiliated with or endorsed by the Eden team or Sony.
This is an early alpha. Video, audio, controller input, and saves have been confirmed working. Compatibility and performance will vary between games. The current release is v1.000.030.
The complete ProsperoEden source is in this repository: the PS5 frontend and launcher in headless/, and the build and packaging tools in tools/. To build it yourself, run make on Linux (Ubuntu 26.04; WSL works). It fetches every dependency at its pinned revision and writes the release files to dist/; make help lists the other targets. See docs/BUILDING.md.
Important
Built on the PS5 Native App Boilerplate, the same native foundation used by ProsperoLight. It provides the native PS5 application structure, runtime, packaging, and homebrew deployment foundation.
Important
Graphics are powered by ps5-opengl. This OpenGL implementation provides the native PS5 rendering layer used by the Eden graphics backend.
Important
Vulkan is powered by Mihawk's PS5 Mesa and PS5 Vulkan. Mihawk's Mesa/RADV driver for the PS5 runs ProsperoEden's Vulkan renderer. Many thanks to Mihawk for this work and for all of the PS5 projects behind it.
Important
Thanks to ps5-vulkan by mpereiraesaa, an experimental Vulkan graphics and compute API for native PS5 homebrew.
- Vulkan renderer (recommended) - the default backend, running on Mihawk's PS5 Mesa (RADV) driver.
- OpenGL renderer - still available through ps5-opengl. Switch between them in Settings > Video.
- Resolution and upscaling - render at 0.5x to 2x of the game's resolution and choose the filter that scales it to your TV (Bilinear, AMD FSR, Bicubic or Nearest) in Settings > Video.
- Game files anywhere - keys, firmware, and games can live in any folder the PS5 can read: internal storage, an M.2 or external drive, or a USB device.
- Folder browser - pick the game files folder in Settings > Game files. It shows how many keys, firmware files, and games each folder holds. Hold L1/R1 to page quickly.
- Library - game covers, Continue Playing, and Recently Played, which keep working after you move your files.
- Launcher - an animated interface drawn with OpenGL, with sound effects (their level is in Settings > Audio) and a loading screen while a game starts. The home screen shows which controllers are connected.
- Per-game settings - renderer, resolution, upscaling filter and Handheld / Docked mode for each game (Triangle in the Library).
- Game updates and DLC - put update and DLC files (NSP or XCI) in the
updatesfolder next toroms. They apply when the game starts, and each game's details show the update version and DLC count. - Shader cache - shaders compiled in earlier sessions are loaded when a game starts, so an effect stutters only the first time it appears.
- In-game shortcuts - a performance overlay (Select + R1), and Select + L1 to end the game and return to the library.
- Settings in one place - a single JSON file under
/data/prosperoeden, with game volume, mute, and detailed logging options. Logs keep the previous session. - Controllers, audio, and saves - up to four DualSense controllers (one per signed-in PS5 user) with rumble and motion controls, game audio, and save data work out of the box.
- Download and extract the release ZIP.
- Copy the included
PPSA99008folder to/data/homebrew/PPSA99008on the PS5. - Put your own legally dumped keys, firmware, and games in a game files folder (layout below). It can be anywhere the PS5 can read: internal storage, an M.2 or external drive, or a USB device.
- Launch ProsperoEden, open Settings > Game files, browse to that folder and select it. The default is
/data/prosperoeden. - Close and reopen ProsperoEden, then open Library. Setup is checked when the app opens, so reopen it after changing the folder or adding keys or firmware.
Only these subfolders matter; the folder itself can have any name and location.
<game files folder>/ # e.g. /data/prosperoeden, /mnt/ext1/eden, /mnt/usb0/eden
├── keys/
│ ├── prod.keys
│ └── title.keys # optional
├── firmware/
│ └── *.nca # extracted firmware NCAs
├── roms/
│ ├── Game.nsp
│ └── Game.xci
└── updates/ # optional: update and DLC files
└── Game update.nsp
The folder browser shows how many keys, firmware files, and games each folder holds, so you can check a folder before selecting it. Moving your files later only needs a new selection in Settings; saved settings, covers, and recently played games carry over.
ProsperoEden keeps its own data in /data/prosperoeden, separately from the game files folder:
/data/prosperoeden/
├── config/prosperoeden.json # settings, including the game files folder
├── covers/ # cached game covers
├── logs/ # current and previous session logs
└── user/ # saves and emulator user data
The app itself stays in /data/homebrew/PPSA99008 and can be updated by copying a new release over it.
ProsperoEden does not include keys, firmware, games, or other copyrighted console data. Dump these files from hardware and software you own. Do not download or redistribute them.
Earlier versions read everything from /data/homebrew/PPSA99008/assets/. That folder keeps working until you choose a game files folder, and settings are migrated automatically on first launch. To move to the new layout, move assets/keys, assets/firmware and assets/roms into any folder, then select it in Settings > Game files. The release ZIP contains no user files, so copy its app files over your installation without deleting your own data.
- New launcher. Every screen is redrawn with OpenGL: smooth transitions between screens, text that stays sharp, panels that blur the artwork behind them, and sound effects for moving, selecting and going back. Settings > Audio > Menu sounds sets their level.
- Controllers on the home screen. Four controller icons show which controllers are connected, and change as one joins or leaves.
- Loading screen. An animated scene shows while a game starts, on both renderers.
- The Library opens at once. The game list is read in the background, and the home screen shows each game's own name instead of its file name.
- New music on the PS5 home screen.
- Smoother first-time gameplay. The emulated CPU cores now share the code they compile, so each part of a game is compiled once instead of once per core. In large open-world games this halves the compile work and removes most of the stutter when gameplay starts or a new area loads.
- Faster compiling. Compiling a game's code now takes about 40% less CPU time, which shortens the remaining stutter when gameplay starts or a new area loads.
- Startup hang fixed. A game could stop for good right after starting, because the emulator's memory allocator could leave high-priority threads waiting on each other forever. Development builds also report where a slow start is stuck.
- Games close in about a second. Select + L1 used to take 10-25 seconds to return to the library; logging no longer waits on the console's storage, and the emulator skips needless teardown work.
- Up to four controllers. Each signed-in PS5 user's controller becomes the next player (player 1 is whoever launched the game); controllers can join or leave during a game, and games that ask for controllers connect every one in use.
- The Select + L1 and Select + R1 shortcuts work from any controller.
- Vibration and motion. DualSense rumble for games that use it (turn it off in Settings > Controls), and the controller's gyro and accelerometer for motion controls.
- Resolution and upscaling. Settings > Video now sets the internal rendering resolution (0.5x to 2x) and the filter that scales it to the TV: Bilinear, AMD FSR, Bicubic or Nearest.
- Per-game settings. Press Triangle on a game in the Library to give it its own renderer, resolution and upscaling filter.
- Language setting. Settings > Language picks the language games use (18 languages), with the console region that goes with it. It applies when a game starts.
- Game updates and DLC. Put update and DLC files (NSP or XCI) in the
updatesfolder next toroms; the newest update and all DLC apply when the game starts, and the game details show them. - Build it yourself.
makefetches every dependency at its pinned revision and builds the release. The OpenGL renderer now uses the published PS5 OpenGL 4.6 SDK 0.6.0.
- Vulkan is now the recommended and default renderer. OpenGL remains available in Settings.
- Choose where your game files live. The new Settings > Game files browser selects any folder, including external drives and USB devices. The old
assets/folder keeps working until you choose one. - App data moved to
/data/prosperoeden. Config, logs, covers, and saves now live outside the app folder, so updating the app never touches them. - Settings are now stored in one JSON file. Earlier text settings are migrated automatically on first launch.
- Faster Library navigation, and covers and recent games that survive folder moves.
- New icons for controller actions, pages, and the Handheld / Docked mode.
Known issues: Ending a game with Select + L1 can take several seconds. Some games can still hang on the loading screen, and some demanding games remain slow. This is a testing pre-release, not a compatibility guarantee.
“Select” means pressing the DualSense touchpad itself, as in ProsperoLight.
| Shortcut | Action |
|---|---|
| Select + R1 | Toggle the performance HUD |
| Select + L1 | End the running game and return to the library |
- FPKG support - install ProsperoEden as a fake package, alongside the current homebrew folder install. Each release now includes a ShadowMountPlus package image (
.ffpfsc); installing it still needs testing. - More performance - CPU and GPU work to keep demanding games at their target frame rate, including the short stutter when a game starts, heavy cutscenes, and games that run slower in Docked mode than in Handheld.
- More reliable game loading - fix the remaining hangs on the loading screen.
- Faster exit in every game - a few games still take up to several minutes to close.
- Touchpad button in every game - in some games the touchpad (Select) does not respond and only the Create (Share) button works.
- Controller selection screen - some games wait forever on the screen that asks you to choose a controller.
- Import saves from Ryujinx - copy a game's save from a Ryujinx data folder into ProsperoEden. Eden's desktop app can already link Ryujinx saves, and the code that finds them is in the shared code ProsperoEden builds; ProsperoEden needs its own import step in the launcher.
- Launcher in your language - show the launcher's own text in the language the PS5 is set to.
- More game compatibility - validate more games on the PS5, and fix what keeps them from running well, such as games that crash at launch.
GitHub issues are turned off for this repository on purpose. ProsperoEden is a general-purpose emulator port, and the project does not host discussion of console makers, specific commercial games, compatibility reports, or where to find game files. Issue threads tend to fill up with exactly that, so there are none.
Please do not use pull requests or other channels to post that kind of content either.
Built with the PS5 Payload SDK by John Törnblom (ps5-payload-dev). Third-party components, authors and licenses are listed in THIRD_PARTY_NOTICES.md.
Copyright © 2026 BlackBearReloaded. Licensed under GPL-3.0-or-later; see LICENSE. Third-party components keep their own licenses. Binary releases are built from the tagged source in this repository.
- No affiliation. This is an independent homebrew project. It is not affiliated with, endorsed by, or sponsored by Sony Interactive Entertainment. "PlayStation", "PS5" and related marks are trademarks of Sony Interactive Entertainment Inc. This project is not affiliated with or endorsed by the Eden project.
- No proprietary material. No Sony SDK, firmware, encryption keys or decrypted system modules are included.
- No warranty. This project is provided "as is", without warranty of any kind, to the extent permitted by law. See sections 15 and 16 of the GPL.
- Use at your own risk. Running homebrew requires a modified console, which may void its warranty, breach the platform's terms of service, or cause data loss.
- Legal use only. Use it only with hardware, accounts and content you own. This project does not support or enable piracy.
This project was developed with AI assistance from OpenAI and/or Anthropic tools.