3.8 KiB
OrbisForge
Scaffold and build OpenOrbis PS4 homebrew projects with CMake — on Windows or Linux/WSL.
OrbisForge generates self-contained CMake projects for the OpenOrbis PS4
Toolchain, producing eboot.bin
executables, .prx user libraries, .sprx signed system libraries, and (optionally) full
signed/encrypted .pkg installers — through a single add_orbis_target() CMake function.
A Windows GUI wizard and a cross-platform CLI both scaffold the same project layout.
The GUI wizard is Windows-only, built on UIFramework (skinned WinForms). The CLI (
orbisforge) runs natively on Windows, Linux, and WSL, published self-contained so no .NET install is required to use it.
Features
- All three artifact types — EXE (
eboot.bin), PRX, and SPRX, via oneadd_orbis_target()call.TYPEselects the right CRT object (crt1.ovscrtlib.o), the rightcreate-fselfpackaging mode (--ebootvs--lib), and a sensible default-ptype. - Optional full
.pkginstaller —add_orbis_package()stageseboot.binand a generatedparam.sfointo a directory tree matching the final package layout, then drivescreate-gp4+PkgTool.Core pkg_buildto produce a real signed/encrypted.pkg. - Cross-platform builds — generated projects carry their own
cmake/core (toolchain file + target helpers), abuild.batthat shells into WSL, and abuild.shfor native Linux/WSL. - Automatic sanity check — every packaged target runs
readoelfover its own output as a post-build step, catching malformed builds before you ever copy them to hardware. - GUI wizard (Windows) — pick a name, type, output folder, and optional
.pkgpackaging; detects your WSL distro and the OpenOrbis toolchain automatically. - CLI scaffolder (Windows + Linux + WSL) —
orbisforge new --name foo --type sprx.
Requirements
- The OpenOrbis PS4 Toolchain installed,
with
OO_PS4_TOOLCHAINset (in WSL, if building from Windows). - clang, lld, and CMake ≥ 3.20 available wherever the actual build runs (WSL/Linux).
- Windows GUI: .NET Framework 4.8 (ships with Windows 10/11).
- CLI: nothing — the published binaries are self-contained.
Using the CLI
orbisforge new --name my_plugin --type sprx --output E:\Projects\PS4
orbisforge new --name my_game --type exe --pkg
Run orbisforge --help for the full option list. Then, inside the generated project folder:
double-click build.bat on Windows, or run bash build.sh on Linux/WSL.
Building from source
git clone --recurse-submodules https://github.com/xeghosted/OrbisForge.git
cd OrbisForge
dotnet build OrbisForge.slnx
--recurse-submodules is required — the GUI depends on
UIFramework, pulled in as a git submodule at
external/UIFramework. If you already cloned without it: git submodule update --init.
To publish self-contained CLI binaries:
dotnet publish src/OrbisForge.Cli -c Release -r win-x64 --self-contained -p:PublishSingleFile=true -o publish/win-x64
dotnet publish src/OrbisForge.Cli -c Release -r linux-x64 --self-contained -p:PublishSingleFile=true -o publish/linux-x64
Project layout
src/OrbisForge.Core— scaffolding logic (multi-targetednet8.0/netstandard2.0)src/OrbisForge.Cli— cross-platform console scaffoldersrc/OrbisForge.Gui— Windows wizard (WinForms + UIFramework)external/UIFramework— git submodule
License
MIT — see LICENSE.