Repository navigation
Releases: Swordpdf/ProsperoEden
Release list
ProsperoEden v1.005.000
This alpha keeps each game in a folder of its own with everything that belongs to it, gives cheats their own list, adds a speed limit and a second frame generation method, and fixes a lost graphics device and black boxes that spread over the picture. Performance and compatibility still vary by game.
New and improved
- One folder per game. A game can sit in a folder of its own in
roms/, together with its update and DLC files, its mods (mods/), its cheats (cheats/) and its own post-processing presets (reshade/). ProsperoEden tells the game from its update and DLC by what each file holds, so the files can have any names. Delete from console removes the folder's update and DLC too. Games downloaded from a source now go into a folder of their own the same way. Your files stay where they are and keep working. See Game files folder. - Cheats in a list of their own. A game's settings have a Cheats row next to Mods: every cheat of the game with its own switch, and an All cheats switch apart from the Mods one. Mods now lists patches and replacement files only. Cheats you chose before stay on.
- A game's own post-processing presets. Presets and effects in a game folder's
reshade/are offered in that game's Post-processing list, after the shared ones. - Speed limit (new Performance setting). Settings > Performance > Speed limit, and the same row in a game's own settings: 100% (as before), 150%, 200%, 300% or Unlimited. A game locked to 30 FPS can run faster when the console has time to spare; for a game whose logic follows its frame rate, the whole game runs faster.
- MihawkGen frame generation. Frame gen method in Settings > Video, and per game, chooses between MihawkGen, a neural network that comes with the app, and Lossless Scaling with your own copy of it.
- Update notices (new setting). Settings > Diagnostics > Update notices turns the update dialog at start off. About still says when a newer version is on homebrew.page.
Fixes
- A lost graphics device while a game loads a new area. Long runs of uploads and copies could grow past what the console's GPU takes in one submission, and the game stopped. The graphics driver now splits them.
- Black boxes that grew until they covered the screen. A few pixels whose colour was not a number spread through a game's glow and blur effects. Such a colour is now written as black, and stays one pixel.
- Games that ask for a large GPU address space start instead of stopping at once.
- No update offered for the version already installed, when the app's files named an older version than the program.
Thank you
Thanks to everyone whose contributions landed since v1.004.000:
- bawsdeep — MihawkGen frame generation in the app.
- mihawk-99 — MihawkGen itself, the neural frame generation it uses.
- BlackBearReloaded — game folders, the Cheats list, a game's own presets, the speed limit, update notices, the graphics fixes, translations and integration.
Thanks also to everyone testing and reporting problems on Discord and GitHub, the Eden developers for the emulator, and Mihawk and the graphics contributors for the platform work this port builds on.
Before updating
Back up your saves and settings. The package contains no games, firmware or keys; keep your existing user-provided files. This remains an experimental pre-release.
ProsperoEden v1.004.000
This alpha adds post-processing looks and wallpapers of your own, frees more memory, and makes games with many shaders start and start again faster. Performance and compatibility still vary by game.
New and improved
- Post-processing (new setting). Settings > Video > Post-processing, and the same row in a game's own settings, draws a look over the picture with ReShade FX effects: Off, or one of six presets that come with the app (Anime, Cinematic, Clean, Dreamy, Retro, Vivid). Presets of your own go in
/data/prosperoeden/user/post_presets/and their effects in/data/prosperoeden/user/post_shaders/. It works with the Vulkan renderer; see Post-processing. - A wallpaper of your own (new setting). Settings > Appearance > Wallpaper shows an image from
/data/prosperoeden/wallpapersbehind the launcher's screens instead of the theme's artwork: PNG or JPEG (also BMP, GIF, TGA and DDS), put in the folder over FTP and listed when the dialog opens. A game's own cover still takes the place where the theme shows one. An image of another shape is resized to fit the screen whole, with the theme behind what it leaves over. See Wallpapers. - More free memory in 64-bit games. The emulated console's memory is now taken from the PS5 only where a game writes it, and given back where the game's console clears or frees it, or where it holds only zeroes again. Two games measured on the console held 644 MiB and 1,956 MiB less, at the same frame rate. After "A Compressed RAM Service" (Gregory Price, Linux Plumbers 2026).
- Compact memory (new Performance setting, off by default). Gives back memory a game wrote but left mostly empty, 16 KiB at a time: 100 to 300 MiB more in the same two games. A game that keeps rewriting such memory can stutter; leave it off unless a game runs short of memory.
- Games with many shaders start, and start faster the next time. A game with thousands of pipelines could stop during its loading screen because the locks that guard pipeline builds ran out; they are now shared. The graphics driver keeps its compiled shaders between starts on every setup, and its pipeline cache is kept when a write is cut short, so a large game compiles them once instead of at every start. A line at launch says where the cache is kept.
- A game's language from its update. A game whose languages come from a packed update (NSP or XCI) is offered them again, instead of falling back to English.
- Crash reports name the allocation that failed when a game runs out of memory.
- Public rooms. The project's own rooms are listed first, the list scrolls, and L1/R1 move a page at a time.
- Launcher packs update themselves. A custom launcher pack can name an update feed: ProsperoEden checks it, downloads a newer pack after you confirm, verifies its size and SHA-256, and can go back to the previous version. Libraries load faster in packs. See Runtime launcher packs.
- Slate theme polish and the launcher texts of the new settings in all 30 languages.
Thank you
Thanks to everyone whose contributions landed since v1.003.000:
- Oliv3rmoon — games with many pipelines start, the pipeline cache kept when a write is cut short, the refused allocation in crash reports, and a game's language from a packed update.
- bawsdeep — wallpapers of your own and Slate theme polish.
- kasobos67 — launcher pack updates from a feed and a faster library for packs.
- BlackBearReloaded — post-processing, more free memory and Compact memory, the shader cache between starts, public rooms, translations and integration.
Thanks also to everyone testing and reporting problems on Discord and GitHub, the Eden developers for the emulator, and Mihawk and the graphics contributors for the platform work this port builds on.
Before updating
Back up your saves and settings. The package contains no games, firmware or keys; keep your existing user-provided files. This remains an experimental pre-release.
ProsperoEden v1.003.000
This alpha focuses on mod stability, controller support, graphics correctness and lower emulation overhead. Performance and compatibility still vary by game; these changes do not guarantee a particular frame rate.
Fixes and improvements
- TOTK + UltraCam startup crash fixed. Large modded RomFS rebuilds could overflow the filesystem thread stack during cleanup and close the whole app. Cleanup is now iterative. Tested with TOTK 1.1.1 and an older UltraCam mod: the game reached its menu, and the user confirmed the free camera works in gameplay. Game/mod versions still need to match; this is not a claim that every UltraCam version or TOTK update works.
- Memory size per game. Choose 4, 6 or 8 GiB of emulated console memory under Settings > Performance > Memory, with game-specific overrides for demanding mods. This uses the PS5's existing shared memory pool; it does not add physical RAM. See Console memory.
- DualSense audio haptics. HD rumble can use the controller's audio haptics path, with lifecycle and failure handling fixes.
- Touchpad and controls. Split touchpad clicks are supported, shortcuts use the left half, and transient upright Joy-Con button events are suppressed. Core menu actions can be remapped, with translated menu keybinding labels.
- Clearer performance overlay. An optional Vulkan readout shows the game's own render resolution, rather than the TV output resolution. CPU-load integration and a stray HUD accent line were corrected.
- Launcher polish and customization. Slate theme and accent presets, persistent accent selection, corrected status layout, and experimental external launcher packs. See Runtime launcher packs.
- Startup and diagnostics. Font access is detected correctly behind sandbox data mounts; OnionHEN app-jailbreak support supplements Lapy elevation. The launcher exposes the crash-report location.
- Graphics fixes. Vulkan dynamic vertex input fixes address scenes rendered as one flat colour. A RADV geometry-shader path no longer reads through null pointers. Texture updates can upload only changed block rows in large textures.
- CPU and GPU efficiency. JIT page-table and instruction-generation improvements, safer batched code-cache commits, checked-fastmem improvements, reduced GPU cache-lock contention, faster register-command processing, adjusted guest scheduling/vsync, and a larger OpenGL command queue. The video core uses ThinLTO targeting Zen 2; worker topology is detected once per process.
- Build and language support. Malay translation, fixes for host checks and symlinked checkouts, and refreshed contributor credits.
Thank you
Thanks to everyone whose contributions landed since v1.002.000:
- Rockiu0 — CPU/JIT, graphics, scheduling, elevation and build improvements.
- Tiang-88 — per-game memory layouts and the render-resolution overlay.
- GuilhermeAmado — DualSense audio haptics.
- kasobos67 — custom runtime launcher support.
- bawsdeep — remappable menu actions.
- cippy-9 — Malay translation.
- BlackBearReloaded — integration, testing, launcher/controller fixes, font access and the RomFS crash fix.
Thanks also to zhangmu34 for the font-access issue report, everyone testing and reporting problems, the Eden developers for the emulator, and Mihawk and the graphics contributors for the platform work this port builds on.
Before updating
Back up your saves and settings. The package contains no games, firmware or keys; keep your existing user-provided files. This remains an experimental pre-release. Long gameplay sessions and all game/mod combinations have not been exhaustively tested.
ProsperoEden v1.002.000
- More free memory for demanding games. The console's memory is one pool shared by the emulated console, the emulator itself and the graphics, and part of it was held without being used. The emulated console's memory, the code caches and a reserve on the system's side now take memory only when they need it. A large open-world game at 2x has about 3.5 GiB free during play instead of 2.2 GiB, at the same frame rate, so a long session runs out of memory far later.
- PS5 Pro memory mode. On a PS5 Pro, ProsperoEden asks for the larger memory pool the console offers: 13.5 GiB instead of 12 GiB. A line at launch (
memory:instderr.log) says whether it is active. Contributed by OverkillLabs. - "Ran out of graphics memory" less often above 1x. The part that frees textures no game is using could stop looking before it had freed anything, so graphics memory filled up although much of it could be freed. Contributed by mzet97.
- Vibration strength (new setting). Settings > Controls > Vibration strength sets how strong the DualSense vibrates: 25%, 50%, 75% or 100% of what a game asks for. The controller answers each change with a short vibration at the new strength, so the level is chosen by feel.
- A game without your language starts in English. With a language chosen that a game does not have, the game started in the next language of the console's own order: with Brazilian Portuguese that was Spanish. It now gets the chosen language or a variant of it when it has one, and English otherwise.
- The FPS overlay is a small system monitor. Turned on in Settings > Video > FPS overlay (or in a game's own settings), it shows over the game: the graphics backend, the frame rate against the game's own, the frame time, each of the four emulated CPU cores, the GPU's busy time measured by the GPU itself, the memory taken of the pool and the graphics' part of it, for example
VLK 30/60FPS 34.6MS CPU 92% 45% 38% 3% GPU 71% MEM 7.7/12.1G GFX 4.1G. Settings > Video > Overlay options turns each piece on or off, sets its size, position and colours, and with CPU by core off shows only the busiest core; a game's settings can give it its own size and position. Contributed by Bauls Deep. - Variable refresh rate on older system software. On system software 6.02 the console did not know the way ProsperoEden declared a variable refresh rate and listed the app without one. It is now declared the way older system software knows.
Thanks to the people whose work is in this release:
- OverkillLabs, for PS5 Pro memory mode, measured on a PS5 Pro.
- Bauls Deep, for the FPS overlay's new look as a system monitor, with its options and the settings per game.
- mzet97, for finding and fixing why the texture collector stopped freeing graphics memory.
- Mihawk, for the measurements of the console's memory pools that the memory work builds on, and for the Vulkan driver all of this runs on.
- tonysantosl, for reporting the language that games fell back to, and zh522130, for asking for a vibration that can be turned down.
And to everyone who tests ProsperoEden on their own console and reports what they find.
ProsperoEden v1.001.000
- A new launcher. The menu was rebuilt. Five sections sit on a rail at the left (Home, Library, Multiplayer, Settings, About): L1 and R1 go from one to the next, and Left from a screen's edge opens the rail. Home is built around the game to continue, with its cover and what it runs with. The Library shows your games as covers, with the chosen game's details beside them. A game's settings are a page of their own, and Settings is a board of tiles.
- Themes. The launcher's look is a theme, chosen in Settings > Theme. This version comes with one, Canopy; docs/THEMES.md says what a theme is made of.
- An opening. ProsperoEden appears out of the console's own launch picture without a cut: its mark comes forward over the picture, then goes to its place as the menu arrives. Any button skips it, and it plays only when the app is started.
- A loading screen with the game's cover. While a game starts, its cover stands in the middle with a line of light going round it as the start advances, in front of the cover's own colours. Under it are the step the start is at, the shaders built so far, and the seconds a slow step has lasted.
- The controller's buttons are drawn. Settings > Controls and the button mapping show Touchpad, L1, R1 and the other buttons as pictures instead of names.
- Game settings from the home screen. The button beside Play, and Triangle on the game to continue or on a recent game, open that game's settings.
- Demanding games keep their frame rate in heavy scenes. A game that times its own frames could fall from 30 to 20 frames a second whenever its frames came a few percent late. The clock the game reads now gives by up to 15% in those moments: the game keeps its frame rate and runs a little slower instead. Sound, the display and timeouts keep the real clock.
- Full speed on newer system software. On consoles where the system does not tell the processor's cores apart, the emulator's threads were left to share cores and games ran markedly slower. The cores are now found by a timing, and each thread gets its own.
- No more drops to 10 or 15 frames a second in new scenery. Textures in a format the PS5's GPU cannot read (ASTC) were converted inside the draw that first used them, which held up the whole frame. In play they are now converted in the background; on loading screens, menus and title screens they are still converted at once, so those pictures appear complete.
- ASTC textures (new setting). Settings > Video > ASTC textures, also in each game's settings. Compressed (the default) keeps such textures as BC3, a quarter of the graphics memory they need decoded; Full quality keeps them decoded.
- "Ran out of graphics memory" far less often. Four causes are fixed. The count of graphics memory in use read twice what was held, so games were refused memory that was free. ASTC textures took four times the memory they need. The reserve that memory is freed for was smaller than a game can ask for at once. And memory the app keeps for its whole life sat in the middle of the pool, so every game after the first had less room in one piece.
- Fewer freezes and long frames. Freeing textures when graphics memory ran short could stop the picture for half a second. A game that read unmapped memory in bursts stalled for up to a second on its own log lines. And the graphics driver held up one frame every ten seconds, in every game, to write a line of statistics. All three are gone.
- A crash with "jumped to an unmapped address" is fixed. It came from where the console happened to place the game's memory, so it struck some starts and not others.
- RNG seed per game (new). In a game's settings under System. With a seed the game is loaded at the same place in memory at every start, which some mods need. Contributed by EIREXE.
- Games that open the microphone no longer crash. Contributed by rpromas.
- Faster CPU emulation no longer turns off the fast path for a game's exclusive memory accesses when it is switched on. Contributed by OverkillLabs.
- PS5 OpenGL SDK 1.0.2 for the launcher and the OpenGL renderer (it was 1.0.0). A game whose shaders are compiled inside its first frames is no longer ended on its first run with the OpenGL renderer, the menu no longer loses a frame of about 180 ms every few seconds while Write logs at once is on, and drawing fixes from Mihawk and mpereiraesaa are in.
- A single Joy-Con held upright. A game that gives a player one Joy-Con to hold upright is played with the whole DualSense: the shapes are that Joy-Con's four buttons, the D-pad and either stick are its stick, and L1/R1 and L2/R2 are its shoulder buttons.
Thanks to the people whose work is in this release:
- Bauls Deep, for the texture collector's lookahead, where the fix for the half-second freezes began, and for the development timers and the recorded-input replay.
- EIREXE, for the RNG seed per game.
- rpromas, for finding and fixing the crash in games that open the microphone.
- OverkillLabs, for the fix that keeps the fast path for exclusive memory accesses with Faster CPU emulation on.
- Mihawk and mpereiraesaa, for the drawing fixes in the OpenGL SDK, and Mihawk for the Vulkan driver all of this runs on.
And to everyone who tests ProsperoEden on their own console and reports what they find.
ProsperoEden v1.000.110
- Multiplayer through Eden rooms (new, experimental). ProsperoEden can join an Eden room, so a game's Local Wireless mode reaches other players over the internet: other PS5 consoles running ProsperoEden, and Eden on a PC. Open Settings > Multiplayer, join a room, then start the game and choose its Local Wireless mode. The home screen shows when a room is connected, the game overlay shows the delay to the room in milliseconds, and when the connection is lost the game closes and the launcher says why. See the setup guide.
- Private room. Enter a room's address, UDP port, a nickname and its password. They are saved as you type them, and joining a public room does not replace them. Enter the room's IPv4 address: looking up a hostname does not work on the console yet.
- Public rooms. A list of the rooms in Eden's public directory, with each room's game, how many players it has and whether it asks for a password. Rooms you can join come first, the busiest at the top; Left and Right move a page at a time and Triangle refreshes. Rooms that use another protocol version are marked and cannot be joined.
- For a stable multiplayer session, everyone needs the same game and the same update of it, and the player who hosts the lobby should use 1x resolution with frame generation off. A host that cannot hold full speed ends the session for everyone.
- Connection problems are explained. When a room cannot be joined, a panel says what happened and what to try: a wrong password, a full room, a room that did not answer, a name already in use. Settings > Diagnostics has the detailed log to send with a report.
- Self-update keeps the version it replaces. After an update, the previous version's files stay in
/data/prosperoeden/previous-version/PPSA99008-backupuntil the next update. See Going back to the previous version. - One place for your data. Settings, saves and covers are only ever in
/data/prosperoeden. When ProsperoEden could not get access to the console's storage at a start, it used to carry on with empty settings and no saves, which looked as if they had been lost; it now says so on the home screen and starts no game. Keys, firmware and games that an early version kept inside the app's folder are moved to/data/prosperoedenat the first start, so that replacing the app cannot remove them. - 120 Hz holds on a display with a variable refresh rate. With Refresh rate at 120 Hz, such a display was read as not having switched and the output went back to 60 Hz.
- No more lost graphics device in shader-heavy scenes. Long scenes could stop a game with
VK_ERROR_DEVICE_LOST; draws are now handed to the GPU in smaller batches. Contributed by Bauls Deep. - Eden updated to its revision of 8 October (
67bada77), together with the Vulkan driver (Mesa), its tools and the Payload SDK. - The helper that gives ProsperoEden access to storage no longer reads a title's kernel data after that title has exited during its start.
ProsperoEden v1.000.100
- Frame generation (new). Between two pictures a game draws, ProsperoEden can show one made up from them, so a 30 FPS game looks like 60. It is in Settings > Video and in each game's own settings, works with the Vulkan renderer, and needs your own copy of Lossless Scaling: without its
Lossless.dllthe settings are greyed out. See Frame generation. Contributed by gyn7561. - A new loading screen. It lists the steps of a game's start (reading the game, starting graphics, building shaders, starting the game) with a progress bar; while shaders are built it counts them. A step that lasts gets its seconds shown, so a start that is stuck can be told from one that is slow.
- Cheats in a file of their own work. A cheat file placed straight in a game's mods folder (
cheat_<name>.txt) was listed and switched on, but changed nothing in the game. It does now. The session log also names the game's build ID, the name a cheat file for that version of the game has. - A game no longer fails every start after a crash. A crash, or a console that went down, could leave a game's shader cache file damaged; that game then crashed at every start on the same renderer. The damaged part is now cut off and the rest is kept.
- No more stutter from log writes. Games dropped frames every few seconds while the logs were written. Logs are now written in the background once a second; Settings > Diagnostics > Write logs at once brings the old behaviour back, to find a crash. Contributed by matschi95.
- The FPS overlay with frame generation. It shows the game's own rate (N) beside the rate on screen (F) while frames are being added, and its usual single figure otherwise. Contributed by gyn7561.
- The log says why frame generation is not running, in lines that start with
framegen:. Contributed by gyn7561. - A Nix shell for building.
shell.nixsets up the whole build environment. Contributed by Bauls Deep. - Issues are open on GitHub, with forms for bug reports and game reports; they ask for the save data and the debug logs. See Issues and reports.
ProsperoEden v1.000.095
A bug fix for v1.000.090. If you are on v1.000.090, update.
- Stutter and crashes while playing are fixed. In v1.000.090 every button press could make a game bring up its controller screen again: play stuttered, and some games crashed after a minute or two. A second, handheld controller was being connected beside the player's own at the first press. It is now only used when Handheld is the game's Controller type, or the only controller the game takes.
ProsperoEden v1.000.090
Warning
Known issue: stutter and crashes while playing. In this version every button press can make a game bring up its controller screen again, and some games crash after a minute or two. It is fixed in v1.000.095: please use that version instead.
- Download sources (new, early). Games on a RomM server in your network appear in the Library and are downloaded to the console when you want to play them; see Download sources. Contributed by matschi95.
- Save sync (new, early). Each profile can keep its save data in step with a RomM server, synced before a game starts and after it ends, and paired by scanning a QR code; see Save sync. Replaced save data is kept as a backup first. Contributed by matschi95.
- Controller type per game. Library > Game settings > Controls > Controller type gives a game a Pro Controller, the Handheld controller, Dual Joy-Cons, a Left Joy-Con or a Right Joy-Con, for games that take a Pro Controller and then only work with another.
- Typing text. When a game asks for text, the PS5's own on-screen keyboard opens, and what you enter goes to the game.
- Firmware 7.40 and 7.61: games no longer end at their first picture. Contributed by v0ltfault.
- Game names without question marks. A name with a look-alike character (a sequel's Roman numeral, full-width letters) is shown with plain letters, a name that is not text is skipped, and characters no font has are left out.
- System language in the start-up trace, with the menu's language and the console fonts found, for reports from other consoles.
- Builds on GitHub. Releases are now built by GitHub Actions from the tagged source.
Thanks
Thank you to the three people whose pull requests are in this release:
- matschi95 for the download sources and the save sync with RomM
- v0ltfault for the firmware 7.40 and 7.61 fix
- lunar-me for the README correction
And to knowing1981 for reporting the game names shown as question marks and sending the files that explained it, and to everyone who tests and reports what they find.
ProsperoEden v1.000.080
Note
This is a pre-release. Use ShadowMountPlus 1.7beta4 or newer: it mounts ProsperoEden from where you copy it and gives it its data and your game files with nothing else to load. Updates from the menu need your jailbreak environment's ELF loader on TCP port 9021.
ProsperoEden 1.000.080 makes games that use a single sideways Joy-Con comfortable to play, shows what is new before an update, and can be started straight into a game.
New
- Single Joy-Con games with the DualSense held as usual. Games that take only single Joy-Cons have them held sideways. Until now the DualSense had to be turned sideways too for the directions to make sense, and in that grip Touchpad + L1 (end the game) was easy to press by accident. Now you hold the DualSense as usual: the stick (either one), the four buttons and the motion sensors are turned to match, for each player. L1 and R1 stay SL and SR.
- What's new in the update dialog. When an update is offered, What's new opens that release's notes, so you can read them before choosing Update now or Skip.
- Start a game directly (for forwarders). ProsperoEden takes
--rom <file>and--exit-after-gameas launch arguments, so a home screen forwarder can open one game and return to the home screen when it ends. See docs/FORWARDER.md. Contributed by MartinPham.
Bug fixes and improvements
- Filesystem access on firmware 13.60. The bundled helper is updated with a fix for that firmware.
- "Can't start the game or app" (CE-107750-0) after unpacking the ZIP. The release ZIP's files are now stored open to all, as the console wants an app's files. Unpacked by a tool that keeps permissions (on the console, or copied from a Mac or Linux PC), they could be left closed and the app would not start.
Upgrading
If 1.000.060 or 1.000.070 is installed, it offers this update from its menu once homebrew.page lists 1.000.080. Otherwise copy the PPSA99008 folder from the ZIP over the one you have, wherever it is (for example /data/homebrew/PPSA99008 or /mnt/usb0/homebrew/PPSA99008). Your saves, settings and profiles stay where they are.
If you turned the DualSense sideways for single Joy-Con games, hold it as usual from now on.
Thanks
Thank you to MartinPham for the forwarder arguments, to the players who reported the sideways Joy-Con problem, to Jones, Phronesis, szampan, BunkinBacon and Cold for testing, and to everyone who reports what they find.