overdrive README

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

Overdrive

English · Русский

Your PS5 game store.
Back from the dead, rebuilt from its own binary, with every line of source in the open.

Latest release Downloads Sponsor MyLuxy on GitHub

Install · Features · Updates · Troubleshooting · Build it yourself

[!NOTE] The original Overdrive project has been shut down so I decompiled the last released build, recovered the complete source and rebuilt it.

Overdrive's Discover page, with a featured game and the Popular now row

Browse library: 1,845 games with filters, sorting, scores and sizes Downloads page with activity and storage for internal storage and a USB drive

Features

Install in four steps

1 Download Overdrive.exfat · 2 Copy it into a homebrew folder on a USB drive · 3 Plug it in: ShadowMount+ installs it · 4 Play

Before you start

You need a jailbroken PS5 running ShadowMount+, the payload that installs .exfat images by itself. If ShadowMount+ shows its notification when the console starts, you are ready. You also need a USB drive and a PC.

Download Overdrive.exfat

1

Download Overdrive.exfat with the button above, or from the latest release. It is the only file you need. Leave it as it is: don't unzip it and don't change the .exfat at the end of its name.

2

Copy it onto a USB drive, inside a folder called homebrew. Plug the drive into your PC, create a new folder named exactly homebrew (all lowercase) at the top level of the drive, and copy Overdrive.exfat into it:

USB drive
└── homebrew
    └── Overdrive.exfat

The drive must be formatted as exFAT, which is how most drives come and what the PS5 reads.

3

Plug the drive into the PS5. ShadowMount+ checks for new files every few seconds: it finds Overdrive, mounts it and installs it, and a notification tells you when it's done. There is nothing to click.

4 Overdrive's icon

Open Overdrive from the home screen. Look for this icon. Enjoy!

You can also use any FTP client to move the file onto the console's internal storage instead, again inside a homebrew folder: /data/homebrew/Overdrive.exfat.

Updates

You only install Overdrive by hand once. When a new version comes out, the app tells you by itself a few seconds after it opens:

  1. A window shows the new version and what changed. Press Install.
  2. Overdrive downloads the update, checks it and puts it in place of the old one.
  3. When it's done, the app closes itself. Open it again and you are on the new version.

The update needs about 600 MB free on the drive that holds Overdrive. update.zip in each release is the package the app downloads for this; you never need it yourself.

Support the project

Overdrive is free and open source. If you enjoy it, sponsoring helps me keep it updated.

Sponsor Overdrive on GitHub Sponsors

Troubleshooting

Overdrive doesn't appear on the home screen
  • Make sure ShadowMount+ is running: it shows a notification when it starts.
  • Check the folder: it must be called exactly homebrew and sit at the top level of the drive, not inside another folder.
  • Check the file still ends in .exfat. Some PCs hide extensions: a file renamed to Overdrive.exfat.zip or unzipped into a folder won't be found.
  • Give it a minute: ShadowMount+ waits until the file has finished copying before it installs it.
After an update, the app still shows the old version

The new version is installed but the console still has the old one loaded. Restart the console and open Overdrive again; the app tells you this itself if it happens twice in a row.

The update says there isn't enough space

The update is downloaded next to the installed app, so the drive holding Overdrive needs about 600 MB free. Free some space on that drive and press Retry. Nothing has been changed yet when this happens.

The update says it couldn't replace the app

Install it by hand: download Overdrive.exfat from the latest release, close Overdrive, and copy the new file over the old one in the homebrew folder.

How do I remove Overdrive?

Delete Overdrive.exfat from the homebrew folder first, then delete its icon from the home screen. In the other order ShadowMount+ finds the file again and puts the icon back.

Build it yourself

What's in this repository
Path What it is
app/ The application: JSX sources, state, assets, catalog data, and app.json (title id PPSA99058, version, capabilities)
ps5-react/ The framework it runs on, vendored from half144/ps5-react
packaging/make-exfat.sh Builds the exFAT image ShadowMount+ installs
.github/workflows/build.yml The build
How the source was recovered

Overdrive is a React app running on ps5-react, and its whole JavaScript bundle sits in plain text inside eboot.bin. A bundler merges every module into one scope, so imports between modules turn into bare names; since each top-level name stays unique, the module that declares a name can be worked out again. That split the bundle back into its 137 original modules with their real import/export lines, checked against the original bundle until every import edge matched.

What a bundler throws away could not come back: most comments, the JSX syntax (it reads as jsx(View, {…}) calls), and const/let (now var). None of that changes how the app behaves.

Building

Builds run on ubuntu-24.04 with clang 18, only from Run workflow: a push builds nothing. Each run puts Overdrive.exfat and update.zip in a draft release named after app/version.js, which only maintainers can see.

The same build locally, on any Linux with the packages the workflow installs (clang-18, llvm-18, cmake, ninja-build, nodejs, npm, zlib1g-dev, build-essential, pkg-config, unzip, curl, exfatprogs, and Pillow from ps5-react/requirements.txt):

cd ps5-react
python3 tools/build_ps5.py --app-dir ../app --llvm /usr/bin
sudo ../packaging/make-exfat.sh dist/PPSA99058 ../Overdrive.exfat

The build downloads its pinned dependencies into ps5-react/.deps and writes the app folder, a .zip and a .receipt.json into ps5-react/dist. It verifies the result itself (tools/verify.py), so a green build means the payload structure and signatures check out. --llvm /usr/bin points it at the system clang; upstream defaults to the Homebrew LLVM path because macOS is its supported development environment.

The image is a plain exFAT volume whose root is the app folder, with 64 KiB clusters and the label OVERDRIVE. To release a new version, raise the version in app/version.js and app/app.json, run the workflow, test the draft's image on a console, then publish the draft: that creates its tag, and installed apps offer exactly the tested files on their next start.

Fixes over upstream ps5-react

Two fixes in the vendored framework, both in the build tooling and both reported by a Linux build:

  • ps5-react/tools/common.py read the git apply --summary line with a fixed space count, which glued the file mode onto the path (100644 <path>) and made every fresh dependency checkout fail on the first patch that creates a file. It now splits on whitespace.
  • ps5-react/tools/build_ps5.py opened the pinned LLVM package's data.tar.zst with tarfile, which reads zstd only from Python 3.14 while the documented minimum is 3.12. It now falls back to the zstd command.

Nothing else in the framework is changed.

Credits

ps5-react/ is GPL-3.0-or-later and carries its own LICENSE, LICENSE-ATTRIBUTION and NOTICE. Every dependency notice is copied into notices/ inside the built app, and ps5-react/docs/DEPENDENCIES.md lists them with their sources.

Overdrive is an unofficial homebrew project and is not affiliated with or endorsed by Sony Interactive Entertainment. PlayStation and PS5 are trademarks of Sony Interactive Entertainment.

overdrive (MyLuxy/overdrive)

Searching Database…

这是什么?Overdrive 是一个 PS5 自制游戏商店,收录超过 1800 款游戏,可以直接在主机上浏览、搜索并下载游戏,也可以下载到 U 盘里。
这是装在 PS5 上运行的软件,还是装在我电脑上的?它作为原生自制应用安装在 PS5 上,会在主屏幕显示一个图标;电脑或 FTP 客户端只需要用一次,用来把安装文件拷到 U 盘或主机上。
我需要提前装好 ShadowMount+ 吗?需要。Overdrive 要求 PS5 已经越狱并且正在运行 ShadowMount+ 载荷,因为正是它负责挂载并安装 .exfat 镜像。
安装时通常容易出什么问题?最常见的两个错误是:电脑把文件扩展名隐藏或改掉了(结果变成 Overdrive.exfat.zip 或者解压成了文件夹),以及没有把 U 盘根目录下的文件夹精确命名为 'homebrew'——任何一种情况都会导致 ShadowMount+ 找不到这个应用。
这是索尼的官方产品吗?不是——这是一个由社区开发的非官方自制项目,与 Sony Interactive Entertainment 没有任何关联,也未获得其认可。
Overdrive 是怎么自我更新的?第一次手动安装之后,应用会在启动时检查更新,显示更新内容,下载并校验新版本,然后自动替换自身并重启——全程不需要电脑。存放该应用的盘上需要大约 600 MB 的可用空间。
原项目关闭后,源代码是怎么找回来的?作者对最后发布的版本进行了反编译——整个 React/JSX 打包文件以纯 JavaScript 形式存在于 eboot.bin 中——并通过追踪打包器合并作用域中独一无二顶层名称,还原出了最初的 137 个模块。
我怎么卸载 Overdrive?先从 homebrew 文件夹里删除 Overdrive.exfat,然后再从主屏幕删除它的图标——如果顺序反了,ShadowMount+ 会重新找到那个文件并把图标装回来。
Creator
MyLuxy
Size
12 MB
Stars
489
Age
3d
Commits · 90 Days