ProsperoEden README

The project's README from github.com/blackbearreloaded/ProsperoEden. As one markdown file: README.md.

ProsperoEden icon

ProsperoEden

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.040.

Source code

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.

Project foundation

[!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.

Features

Install

  1. Download and extract the release ZIP.
  2. Copy the included PPSA99008 folder to /data/homebrew/PPSA99008 on the PS5.
  3. 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.
  4. Launch ProsperoEden, open Settings > Game files, browse to that folder and select it. The default is /data/prosperoeden.
  5. 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.

Game files folder

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
├── mods/                               # optional: mods, one folder per title ID
├── save-import/                        # optional: saves to import, one folder per title ID
├── ryujinx/                            # optional: a Ryujinx data folder to import saves from
└── save-export/                        # written by "Export a copy"

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.

App data

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, crash reports
└── user/                               # saves and emulator user data

The app itself stays in /data/homebrew/PPSA99008; see Updating.

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.

Updating

Close ProsperoEden first. Your settings, saves, covers and logs are in /data/prosperoeden, outside the app, so an update keeps them. Afterwards the About screen shows the version that is running.

Moving save data

Emulators like Eden keep a save as the files the game wrote, so nothing is converted: folders are copied. In the Library, press Triangle on a game and pick Save data. The folders below are next to roms/ in the game files folder.

Cross imports, and asks before it replaces a save. The save it replaces is first moved to /data/prosperoeden/backup/save-import, so nothing is lost.

Mods

A mod changes a game: a patch to its code (.pchtxt or .ips files in an exefs folder), replacement game files (a romfs folder), or cheats (a cheats folder). Mods made for other emulators of the same console come in this layout.

ProsperoEden does not include or download mods.

Performance settings

Settings > Performance trades accuracy for speed, for every game. A change applies when a game starts.

Setting In the file Default What it does
Compile ahead block_list off The code a 64-bit game compiled in earlier sessions is compiled again on a spare CPU as it starts, so the game stutters less when it reaches that code. In the one large game it was measured in, the game loaded sooner and its first seconds of play held their frame rate, while the emulated processor worked about a tenth harder afterwards. It has run in one game on the console so far; switch it off if a game misbehaves.
Asynchronous shaders async_shaders off A new effect is drawn once its shader is ready instead of pausing the game for it. Things can be missing for a moment. With the Vulkan renderer only: the OpenGL renderer ignores it.
Faster GPU emulation fast_gpu off The emulator's lowest GPU accuracy. Faster in demanding games; graphics can be wrong.
Faster CPU emulation unsafe_cpu off Less exact floating-point math. A few games misbehave.
Faster DMA unsafe_dma off Less exact memory transfers to the GPU. A few games show wrong graphics.
Reactive flushing reactive_flushing on Keeps what a game reads back from the GPU exact. Off is faster; some effects break.
Skip CPU invalidation skip_invalidation off Skips some checks when a game changes memory the GPU uses. Textures can be stale.

One game can have its own values, in the settings file only: close ProsperoEden, edit /data/prosperoeden/config/prosperoeden.json, and start it again. "performance" at the top level is what the switches set, and one inside a game's entry under "games" is for that game, whose values go first:

{
  "performance": { "block_list": false, "async_shaders": false, "fast_gpu": false, "unsafe_cpu": false,
                   "unsafe_dma": false, "reactive_flushing": true, "skip_invalidation": false },
  "games": { "0100000000010000": { "performance": { "fast_gpu": true } } }
}

The accuracy switches help only where a game is held back by what they relax. In the scene they were measured in on the console, a large game standing at its frame rate limit, switching all of them on changed neither the frame rate nor how busy the emulated processor and the graphics thread were. Leave them off unless a game runs under its frame rate, and switch them back off if its graphics go wrong.

Resolution, the upscaling filter, the renderer and the refresh rate, which change speed too, are in Settings > Video and in a game's own settings.

Language and accessibility

The launcher follows the language the PS5 is set to: Arabic, Chinese (simplified and traditional), Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, Indonesian, Italian, Japanese, Korean, Norwegian, Polish, Portuguese, Romanian, Russian, Spanish, Swedish, Thai, Turkish, Ukrainian and Vietnamese (with the regional variants the PS5 has for French, Portuguese and Spanish), and English otherwise. Arabic, Chinese, Greek, Japanese, Korean and Thai are drawn with the PS5's own system fonts. Arabic text runs right to left; the screens themselves are not mirrored. To use another one, put a file named language.txt holding its tag (for example en-US or pt-BR) in /data/homebrew/PPSA99008. The language games use is a separate setting, Settings > Language.

Settings > Accessibility has three switches. Larger text draws the menu's small text about a third larger. High contrast uses solid panels, brighter text and an outlined highlight. Reduce motion stops the background drifting and the screens sliding, in the menu and on the loading screen. There is no screen reader.

Upgrading from an earlier alpha

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.

Changes in v1.000.040

Changes in v1.000.030

Changes in v1.000.020

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.

In-game shortcuts

“Select” means pressing the DualSense touchpad itself, as in ProsperoLight. On its own, a tap of the touchpad is the game's Select (Minus) button, and a longer press holds it.

Shortcut Action
Select + R1 Toggle the performance HUD
Select + L1 End the running game and return to the library

Roadmap

Issues are disabled

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.

Credits

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.

License

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.

Disclaimer

AI assistance

This project was developed with AI assistance from OpenAI and/or Anthropic tools.

ProsperoEden (blackbearreloaded/ProsperoEden)

Searching Database…

What is this?ProsperoEden is an unofficial PS5 homebrew port of Eden, an accurate, high-performance emulator, and is not affiliated with the Eden team or Sony. It runs as a native PlayStation 5 app with its own launcher and library.
Which console's games does it play, and what do I have to supply?It plays Nintendo Switch games from NSP/XCI files. You must supply your own legally dumped keys, firmware and games — updates and DLC go in an updates folder next to roms, and nothing copyrighted ships with the app.
How do I install it on the PS5?Download the release ZIP and copy the included PPSA99008 folder to /data/homebrew/PPSA99008. Then select your game files folder in Settings > Game files and restart — setup is re-checked at every launch.
Will it run on any PS5, or does the console need something first?It is a homebrew app installed under /data/homebrew, so you need a PS5 that runs homebrew. The alternative package-image (.ffpfsc) install is mounted via ShadowMountPlus and is still untested.
How mature is it — can I expect games to just work?It is an early alpha (current release v1.000.040). Video, audio, controller input and saves are confirmed working, but compatibility and performance vary between games.
Does it speak my language, and are there accessibility options?The launcher follows the PS5's language setting (29 languages, English otherwise), and Settings > Accessibility offers larger text, high contrast and reduced motion.
Do regular PS5 controllers work?Yes — up to four DualSense controllers (one per signed-in PS5 user) work with rumble and motion controls, alongside game audio and save data, out of the box.
What video and resolution options does it have?A Vulkan renderer (default) or OpenGL, 0.5x-4x internal resolution with Bilinear, AMD FSR, Bicubic or Nearest filters, 1080p/1440p/2160p output, and 120 Hz on capable displays — all settable per game.
What does the on-screen launcher include?An animated OpenGL interface with sound effects and a loading screen, a library with game covers, Continue Playing and Recently Played rows, a folder browser that counts keys, firmware and games per folder, an in-game performance overlay (Select + R1), and locally saved crash reports with logs.
Do game updates and DLC work?Yes — put update and DLC files (NSP or XCI) in an updates folder next to roms. They apply when the game starts, and each game's details show its update version and DLC count.
Where does ProsperoEden keep its data?Everything stays on the console: settings, logs, covers and saves live in /data/prosperoeden, separate from the app folder, so updates keep them. Settings sit in a single JSON file, logs keep the previous session, and crash reports are stored locally.
Size
42.5 MB
Stars
746
Updated
CommitOct 18
Age
18d
Commits · 90 Days