Prospero.Eden Encore
The PS5 13.60-focused continuation of ProsperoEden 1.000.040.
Stability first. Newer game support. Better recovery. Better PS5 UX.
Important
PS5 firmware 13.60 is Encore's primary hardware-tested target. Other firmware versions are not currently claimed as validated by this fork.
Why Encore?
Current ProsperoEden releases moved beyond the 1.000.040 base and use a newer Lapy-based elevation path. That newer direction brings useful features, but 13.60 is not one of the firmware versions currently validated by upstream's Lapy helper.
Encore takes the opposite approach: keep the known-working 1.000.040 filesystem-access path on 13.60, harden it, simplify storage to one root with one fixed layout, then selectively add compatibility, stability, recovery and usability improvements that are valuable on a PS5 today.
The result is not a blind downgrade and not a blind merge of newer upstream code. It is a 13.60-specific maintained branch with its own hardening and release validation.
Changes in Encore R1
Prospero.Eden Encore R1 turns the proven ProsperoEden 1.000.040 base into a PS5 13.60-focused release:
- PS5 firmware 13.60 hardware-tested as the primary target; Encore reaches the launcher and a current ZBIC title launches successfully.
- ZBIC/zstd NSO support for newer Switch software while retaining LZ4.
- Shipping CPU stability profile uses Dynarmic per-core JIT; shared-JIT, successor batching and saved-block compile-ahead stay disabled after the FC 27 freeze investigation.
- Audited Eden fixes are backported without a wholesale rebase: sparse-memory decommit #4471, CPU/GPU dirty tracking #4473, fence/synchronization cleanup #4477, plus reviewed FW23/service/max-session and runtime/HID fixes.
- PS5 OpenGL is built from audited source snapshot
ad2807d: SDK 1.0.1's vertex-buffer lifetime fix plus the reviewed constant-buffer/alignment (217da45) and one-time scanout-pool flush (67c873f) fixes. RADV/Mesa/PayloadSDK remain on their coherent hardware-qualified 13.60 baseline. - One storage-root contract: internal defaults to
/data/prosperoeden; external storage uses the exact samekeys/firmware/roms/updates/mods/...layout under another root. - The working 0.40 one-shot filesystem helper is hardened with target validation, verified rollback, fail-closed postconditions and symlink-safe migration.
- Safe Launch recovery profile without overwriting saved settings.
- Reworked TV-first Encore launcher UI/UX with the final Eden Encore neon identity, 4K tropical-night artwork, dark glass surfaces, controller-first navigation and accessibility modes.
- Recommended / Smooth / Performance profiles; Recommended now uses FXAA, and FSR sharpness defaults to 50% instead of the previous aggressive 88%.
- Global settings reset and per-game override reset now require an explicit second press; mapping reset and shader/JIT cache clearing use the same confirmation rule.
- DualSense-first controls, vibration/deadzone controls and multi-controller handling.
- Diagnostics, bounded caches/logs and safer save import/export.
- Reproducible release packaging with ZIP, optional FFPFSC image and SHA-256 checksums.
- Complete French launcher catalog with 29 packaged language catalogs, immediate in-app launcher reconstruction for language/font/label changes, release-safe locale detection and hash-verified FTP installation; stale development
language.txtoverrides can no longer force English. - CodeQL, pinned GitHub Actions, Dependabot and documented security/community policies.
The big advantages
🎯 PS5 13.60 is a first-class target
- Primary hardware-tested target: PS5 firmware 13.60.
- Internal storage defaults to
/data/prosperoedenwith a fixed folder structure. - External storage changes only the root; it uses the same required subfolders.
- Encore keeps the 1.000.040 filesystem-access path instead of switching to Lapy.
- No Lapy daemon or Lapy helper dependency is required.
- If the filesystem request is unavailable, Encore stays sandboxed instead of pretending it succeeded.
🧩 Newer Switch software support
- Adds ZBIC / zstd NSO decompression used by newer Switch software.
- Keeps the existing LZ4 loader path for older titles.
- Preserves ProsperoEden's PS5 low-memory NSO loading strategy.
🛟 Recovery built for a couch / TV emulator
- Safe Launch starts one game with conservative settings only for that run:
- OpenGL
- Handheld mode
- 1x internal resolution
- Bilinear
- 60 Hz
- 1080p
- mods disabled
- Saved settings are not overwritten.
- Confirmed Restore recommended defaults globally.
- Confirmed Reset overrides per game.
🎮 DualSense-first UX
- PlayStation face-button layout by default.
- Nintendo layout remains available.
- Per-game controller-layout override.
- Adjustable vibration and stick deadzone.
- Multi-controller hotplug, motion controls and analog triggers retained.
- Launcher input follows the foreground PS5 user.
⚙️ Simple performance profiles
Instead of making every user understand seven low-level emulator switches first, Encore exposes:
- Recommended — Vulkan, 1440p output, 1x, Bilinear, FXAA, 60 Hz.
- Smooth — Vulkan, 1080p output, 1x, Bilinear, 60 Hz.
- Performance — Vulkan, 1080p output, 0.75x + AMD FSR, 60 Hz.
The normal release profiles do not enable saved-block JIT compile-ahead. Advanced settings and complete per-game overrides remain available.
🧰 Better diagnostics and bounded storage
- Filesystem-access status.
- Writable free space.
- Shader/JIT cache size.
- Log size.
- Safe shader-cache cleanup.
- RADV shader cache capped at 256 MB.
- Session logs rotate instead of growing forever.
- Cover textures use a bounded LRU cache.
🔐 Extra hardening
- Save imports reject symlink escapes.
- Settings writes are atomic and invalid JSON falls back safely.
- Package metadata and native dependency closure are validated.
- Optional RADV/Mesa weak imports are resolved only after the real native link.
- Release inputs are pinned and release bundles are reproducible/checksummed.
- Keys, ROM/container files and local save-transfer folders are explicitly ignored by Git.
Encore vs ProsperoEden upstream
This comparison is against ProsperoEden v1.000.070, the current upstream line this fork intentionally does not merge wholesale.
| Area | Prospero.Eden Encore | ProsperoEden v1.000.070 |
|---|---|---|
| Main PS5 target | 13.60 — tested | Lapy helper validated upstream on 6.02 and 12.70; other firmware experimental |
| Filesystem model | Hardened 1.000.040 one-shot access + one internal/external storage-root contract | Lapy-based exact-title helper / resident-service path |
| Newer NSO compression | ZBIC + LZ4 | Upstream line evolves independently |
| Recovery | Safe Launch + global reset + per-game reset | No equivalent Encore recovery workflow documented |
| Performance UX | Recommended / Smooth / Performance presets | Seven individual performance switches |
| PS5 controls | Full DualSense button mapping globally and per game | Full button mapping system |
| Diagnostics | Filesystem mode, free space, cache/log sizes, safe cleanup | Crash/boot diagnostics and logs |
| Storage hardening | Bounded RADV cache, rotating logs, bounded cover VRAM | Shader cache / logging present, different policy |
| Save import safety | Backup/rollback + symlink rejection | Save import/export support |
| Updates | Manual release updates by design | Built-in network updater |
Encore deliberately chooses predictability on 13.60 over importing every newer upstream subsystem.
Firmware compatibility
| PS5 firmware | Encore status |
|---|---|
| 13.60 | 🧪 Primary hardware target — active stability revalidation |
| Other firmware supported by underlying tooling | ⚠️ Not validated by Encore yet |
| Unknown/newer firmware layouts | ❌ No compatibility claim |
A firmware having offsets somewhere in the wider PS5 ecosystem does not automatically mean Encore has been validated on it.
Filesystem access and security
Encore uses one storage model:
- default internal root:
/data/prosperoeden; - optional external root selected in Settings → Storage;
- the same fixed subfolders are used in both cases:
keys/,firmware/,roms/,updates/,mods/,save-import/,save-export/andryujinx/.
Encore keeps the proven ProsperoEden 1.000.040 one-request helper rather than adopting the newer Lapy path. The helper:
- runs once during single-threaded startup;
- validates the exact Encore title ID
PPSA99008; - accepts only the filesystem request used by Encore;
- uses a fixed/versioned protocol and bounded I/O timeouts;
- verifies the resulting state and verifies rollback on failure;
- terminates instead of continuing when the post-request state is inconsistent;
- exits after the one request.
Legacy ProsperoEden data migration is preflighted, symlink-safe and rollback-aware. A pre-existing external root is preserved instead of being rewritten into a different storage layout.
See headless/elevation/README.md for implementation details.
Recommended defaults
See SETTINGS.md for every exposed setting, defaults, per-game overrides and recommended profiles for 4K/1080p displays and demanding games.
Encore starts conservative:
| Setting | Default |
|---|---|
| Renderer | Vulkan |
| TV output | 1080p |
| Internal resolution | 1x |
| Upscaling | Bilinear |
| FSR sharpness | 50% (used only with FSR) |
| Anti-aliasing | FXAA after applying Recommended |
| Refresh rate | 60 Hz |
| FPS overlay | Off |
| Controller layout | PlayStation |
| Stick deadzone | 8% |
| Vibration | 100% |
| Console mode | Docked |
Try OpenGL when a title has a Vulkan-specific issue. Use 0.75x / 0.5x + FSR when performance is the priority. Higher internal resolutions require substantially more GPU/memory headroom.
Install
ZIP is the recommended installation method. Encore also ships an optional .ffpfsc image for
ShadowMountPlus users.
- ZIP: extract
PPSA99008to/data/homebrew/PPSA99008. - FFPFSC: mount the release image through a compatible ShadowMountPlus/etaHEN setup.
- Internal storage: default root is
/data/prosperoeden. - External storage: choose another root in Settings → Storage; the folder structure stays identical.
See INSTALL.md for the complete step-by-step guide, update procedure, checksum verification and troubleshooting.
Build
Linux is recommended.
make release
Release files are generated under dist/.
The GitHub release workflow validates translations, performs the full native build/package pipeline, verifies SHA-256 checksums, and only publishes compiled assets after a successful build.
See docs/BUILDING.md for toolchain details and docs/FORK_NOTES.md for the technical audit and validation history.
Security
Encore uses CodeQL scanning, pinned build inputs, SHA-pinned GitHub Actions, checksummed release assets, save-import symlink protection, transactional migration checks and a hardened one-shot filesystem-access path.
Please report exploitable issues privately and avoid publishing proof-of-concept details before a fix is available. See SECURITY.md for supported versions, scope and disclosure instructions.
What Encore intentionally does not claim
- It does not repair PS5 FPKG entitlement/PPR support.
- It does not make the 13.60 kstuff/FPKG stack reliable.
- It does not include keys, firmware, games or copyrighted console data.
- It does not silently import the newer Lapy elevation rewrite.
- It does not use an automatic renderer fallback that hides real failures.
FPKG/kstuff behavior is a separate jailbreak/runtime concern from the emulator itself.
Credits
Encore is built from and depends on the work of many upstream projects. The list below covers the direct repositories and pinned build/runtime inputs used by Encore; transitive dependencies of Eden and the individual licence details are documented in THIRD_PARTY_NOTICES.md.
Emulator and launcher foundations
- ProsperoEden — original PS5 emulator port/fork Encore is based on.
- Eden — emulator core used by Encore.
- ProsperoPuzzles — origin of the launcher drawing/text/animation/sound framework used by Encore.
PS5 platform, graphics and packaging
- PS5 Native App Boilerplate — native runtime, packaging and base platform integration.
- PS5 OpenGL — OpenGL 4.6 runtime used by Encore.
- Mihawk's PS5 Mesa — Mesa/RADV source used by the Vulkan path.
- Mihawk's PS5 Vulkan — PS5 Vulkan/RADV build and link recipes.
- Mihawk's PS5 PayloadSDK — PayloadSDK fork used by the RADV toolchain.
- PS5 Payload SDK — PS5 homebrew SDK used by the native toolchain.
- ps5-vulkan — earlier PS5 Vulkan platform work used by the graphics stack.
- PSBrew/MkPFS — optional reproducible
.ffpfscimage packaging. - SharpProspero — source/reference used by the native packaging toolchain.
Compatibility, media, text and build inputs
- kinnay/zbic — ZBIC/zstd NSO decompression support.
- FFmpeg — H.264/VP8/VP9 decoding in the PS5 build.
- HarfBuzz — shaping for Arabic, Thai and other complex scripts in the launcher.
- fmt — formatting headers used by build/runtime validation paths.
- LLVM — compiler-rt pieces used by the PS5 cross build.
- pacbrew — pinned PS5 OpenSSL/zlib packages.
- zlib — pinned native dependency used by the PS5 toolchain setup.
- Boost.Context — pinned context runtime source used by Eden's PS5 build.
- Xbyak — x86/x64 JIT assembler used by Dynarmic/Eden and adapted by Encore's JIT allocator path.
- SPIRV-LLVM-Translator — macOS host-toolchain support for the graphics build.
- stb — launcher font baking/system-font loading support.
PS5 input/audio research reused directly
- ps5-native-gamepad-input-research — native DualSense/gamepad integration reference/code.
- ps5-audio-decoding-research — native audio integration reference/code.
All credit for the original projects belongs to their respective authors and contributors. Encore's changes do not imply endorsement by those projects or their maintainers.
Community
License and legal
Prospero.Eden Encore is distributed under GPL-3.0-or-later. See LICENSE. Third-party components keep their own licenses and attribution; see THIRD_PARTY_NOTICES.md.
No keys, firmware, games or other copyrighted console data are included.
Use software and console data dumped from hardware and games you own. This project is provided without warranty and is not affiliated with Sony Interactive Entertainment or the Eden project.