- PowerShell 50.1%
- Shell 49.9%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Alpine/musl isn't supported yet - this script is POSIX shell and runs fine there, but the toolchain/ps2build binaries it fetches are glibc-linked. Co-Authored-By: Claude Sonnet 5 <[email protected]> |
||
| install.ps1 | ||
| install.sh | ||
| LICENSE | ||
| README.md | ||
install
Setup entry point for PS2BUILD SDK. Start here.
I want to make a game
Windows, in PowerShell:
irm https://git.techwritescode.dev/ps2/install/raw/branch/master/install.ps1 | iex
Linux (Ubuntu, Debian, etc. - glibc-based; Alpine/musl isn't supported yet):
curl -sSfL https://git.techwritescode.dev/ps2/install/raw/branch/master/install.sh | sh
Either one fetches ps2build itself, adds it to your PATH, then runs
ps2build update - which bootstraps everything else (the compiler
toolchain, and the sdk-core/sdk-world package tiers) on its own.
Open a new terminal (or reuse the one you ran this in) and run:
ps2build --version
To install somewhere else, or pin the initial ps2build version:
$env:PS2DEV_INSTALL_DIR = "D:\ps2dev"
$env:PS2DEV_INSTALL_VERSION = "v2026.09.02.5"
irm https://git.techwritescode.dev/ps2/install/raw/branch/master/install.ps1 | iex
PS2DEV_INSTALL_DIR="$HOME/ps2dev" PS2DEV_INSTALL_VERSION="v2026.09.02.5" \
curl -sSfL https://git.techwritescode.dev/ps2/install/raw/branch/master/install.sh | sh
Staying up to date
Once installed, ps2build updates itself - no need to keep this
one-liner around:
ps2build update # every component, each to its own latest
ps2build update sdk-world # just one - doesn't touch the others
ps2build update --check # see what's installed vs. available, don't apply
The toolchain, ninja, srxfixup, ps2build itself, and the
sdk-core/sdk-world package tiers each release independently and are
updated independently - they're free to drift (e.g. a newer sdk-world
against an older sdk-core). Any package you've installed yourself
under packages/ is never touched by an update.
I want to work on the SDK itself
Building sdk-core/sdk-world from source needs compilers and
ps2build, but deliberately not a prebuilt copy of the SDK you're
about to build:
irm https://git.techwritescode.dev/ps2/setup-toolchain/raw/branch/master/setup-toolchain.ps1 | iex
then
irm https://git.techwritescode.dev/ps2/setup-ps2build/raw/branch/master/setup-ps2build.ps1 | iex
(both need a -Destination/-PS2Dev argument - see each repo's own
README for the full flag list, or use them as Forgejo/GitHub Actions in
CI instead - sdk-core/sdk-world's own workflows are a working
example.)
The pieces, if you're curious
- ps2build - this repo's one-liner fetches just this, then
ps2build updatedoes the rest - toolchain - EE/IOP/DVP compilers, one of the components
ps2build updatefetches - srxfixup -
iopfixupand friends, another componentps2build updatefetches (ninja is a third, pulled straight from its own upstream GitHub releases) - sdk-core, sdk-world - the two SDK package tiers, also fetched by
ps2build update - setup-toolchain, setup-ps2build - standalone fetchers for SDK developers building
sdk-core/sdk-worldfrom source (see below) - not part of the game-developer path above - sdk-dist - dormant; used to publish a combined
ps2dev-suitedownload beforeps2build updatecould fetch every component itself