Skip to content
asylumexpPublic

About

Run a PS4 game backup inside SWRR on PS5 through Luac0re, without a kernel exploit (tooling only, no game files)

Resources

Stars

27 stars

Watchers

0 watching

Forks

Latest commit

 

History

95 Commits

Folders and files

Repository files navigation

ghostldr

ghostldr runs PS4 game dumps and OpenOrbis homebrew inside Star Wars Racer Revenge (SWRR) on a stock PS5. It uses Luac0re's userland JIT exploit: no kernel exploit, no jailbreak.

You need a PS5 with SWRR (US CUSA03474 or EU CUSA03492) and Luac0re 2.4b, your own game dump, and a computer with Python 3.11+. No game files are included.

Ghost of Tsushima running inside SWRR on a stock PS5 (click for the full video)

Full demo, 3½ minutes (MP4): from Luac0re's loader to Ghost's gameplay.

What works

  • Ghost of Tsushima v2.18 (CUSA11456) plays. It is the most tested title.
  • Bloodborne 1.09 (CUSA00900) reaches gameplay, with its large executable spread over several JIT buffers and no memory plan yet.
  • OpenOrbis homebrew runs (details).
  • Other games boot as far as their imports and memory allow.
  • PS4 consoles are experimental: no title has booted on one yet (docs/ps4.md).
  • Jak X instead of SWRR (EU CUSA07992 1.04, with UltraC0re) is experimental: Ghost plays there, in its PS4 Pro mode, from its own install in Jak X's save data (docs/jakx.md).

Getting started

Download the latest release and follow docs/using-the-release.md.

Prefer not to use a terminal? The desktop app walks through the same steps: find the console, check the setup, prepare and install a game, and play. The release page has an installer for macOS, Windows and Linux with Python included, and the release zip has it in app/ (with Python 3.11+).

Quick start, from the release folder: start Luac0re in SWRR until its loader listens on port 9026, then check the setup.

python3 ghostldr/host/run.py doctor

Pack and install your dump, once per title. Install from the SWRR region you will play in: US and EU keep separate saved data.

python3 ghostldr/host/gfs_pack.py --src /path/to/app0
python3 ghostldr/host/gfs_install.py

Restart SWRR, start Luac0re again, and boot:

python3 ghostldr/host/run.py boot --no-build

The computer's firewall must let Python receive on UDP 18194 and TCP 18195–18196.

Documentation

Building from source

You need macOS or Linux, Python 3.11+ and LLVM 18 (clang, ld.lld, llvm-objcopy, llvm-nm). Fetch the PS4 symbol names and Luac0re 2.4b into build/:

tools/fetch_deps.sh

Build the core, extension and selector. The default is Homebrew's llvm@18; add LLVM=/path/to/llvm/bin for another.

make -C ghostldr/native

run.py boot without --no-build runs this itself. The tests are described in docs/architecture.md.

License and credits

MIT, see LICENSE. It covers ghostldr's own code only; Luac0re, ps4libdoc and ps5-payload-sdk keep their own licenses. The selector's built-in font is under the SIL Open Font License 1.1 (OFL.txt).

  • Luac0re, by Gezine and contributors (MIT).
  • mast1c0re, by CTurt and McCaulay.
  • PS4 symbol names from idc/ps4libdoc.
  • ps5-payload-sdk, by John Törnblom (dev payloads only).
  • Noto Sans, by the Noto Project Authors (the selector's font).
  • shadPS4, used only as a reference for how system functions behave. No shadPS4 code is included.

About

Run a PS4 game backup inside SWRR on PS5 through Luac0re, without a kernel exploit (tooling only, no game files)

Resources

Stars

27 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages