📈 GH Trending Explorer 🎲 Surprise me

← all repos

eladharels / ps5-60FPS

git clone https://github.com/eladharels/ps5-60FPS.git v1.0.0 · 4d ago

—

—
stars, 24h
+108
stars, 7 days · #467
+108
stars, 30 days · #2,134
108
★ total · +108% this week
6
forks · 5 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageC
License—
Created2026-10-14 (6d ago)
Last push4d ago
Watchers3
OwnerUser

Links

README excerpt
fps60 
 Unlock 60 FPS in PS4 and PS5 games on a jailbroken PS5, with one switch per game. 
fps60 is a payload for a jailbroken PS5. It looks at the games you have
installed, finds the ones that have a known 60 FPS patch for your exact game
version, and lets you switch those patches on from a page on the console's
own browser (or your phone). When you start a patched game, fps60 writes the
patch into the game's memory as it loads. Your game files are never changed.
> The screenshots in this README come from a test run with sample games on a
> PC, so the page looks exactly as it does on the console.
## Contents
- What you need
- Quick start
- Tested games
- Using fps60
- How it works
- Files on the console
- Limits and safety
- Troubleshooting
- Versions and releases
- Building from source
- Credits
## What you need
- A PS5 that is jailbroken and running an **ELF loader** on port `9021`.
 Firmware up to 13.60 works with the Relapse exploit, which provides one.
- A way to send a payload: Payload Manager, the exploit's payload menu, or a
 computer on the same network (`socat` or `make test`).
- Optional: Payload Manager,
 to start fps60 automatically after each jailbreak.
## Quick start
1. **Download `fps60.elf`** from the
 latest release
 (or the zip, which also has this README and the changelog).
2. **Send it to the console** after jailbreaking:
 [code] mermaid
flowchart TB
 subgraph build["At build time"]
 repo["Community patches (GoldHEN XML)"] --> conv["tools/build_patchdb.py keeps 60 FPS patches"]
 conv --> db[("patch database built into fps60.elf")]
 end
 subgraph console["On the PS5"]
 meta["/user/appmeta param.sfo / param.json"] --> games["installed games + versions"]
 db --> match{"patch for this title + version?"}
 games --> match
 match --> page["web page :8060 switches"]
 page --> enabled[("/data/fps60/enabled.txt")]
 watch["watcher, every 100 ms"] --> proc["game process starts"]
 enabled --> watch
 proc --> load["wait for its executable (eboot.bin) to load"]
 load --> write["resolve every address, then write the patch into game memory"]
 end
 [code] bash
sudo apt-get install make clang-18 lld-18 llvm-18 wget unzip zip python3 git socat
wget https://github.com/ps5-payload-dev/sdk/releases/download/v0.44/ps5-payload-sdk.zip
sudo unzip -d /opt ps5-payload-sdk.zip
export PS5_PAYLOAD_SDK=/opt/ps5-payload-sdk LLVM_CONFIG=/usr/bin/llvm-config-18
make # fps60.elf
make check # host tests: no SDK or console needed
make dist # build/fps60-vX.Y.Z.zip
make test PS5_HOST= # send fps60.elf and stream its log
```
The first `make` clones the patch repository into `build/patch-repo`. Set
`PATCH_REPO= ` to use an existing checkout.
### Tests
`make check` runs on a normal Linux PC with AddressSanitizer and UBSan:
- the converter's encoding of every patch value type
- a parse of the real patch database
- metadata parsing, including damaged files
- pattern scans across chunk boundaries
- the watcher against a fake game process: apply on start, re-apply after