Skip to content

Releases

Muse edited this page Oct 19, 2026 · 18 revisions

RetroAchievements downloads

The single experimental RetroAchievements release offers both inceBtion and Korium themes. Choose one complete theme kit. Both use the same RiptOPL source revision and pinned ORBIT runtime. Standard Rolling and Korium downloads contain standard builds only. Installing the other RA theme replaces the same APP_RIPTOPL-RA app. See the RA setup guide and compatibility limits.

Releases

Choose Rolling for current development or Current Fan Favorite Build for a preserved development snapshot. The publishing branch is rebuild/main; neither choice guarantees compatibility with every setup.

One full-feature build

RiptOPL ships a single standard ELF that includes GSM video-mode handling, DS3/DS4 pad emulation (PADEMU), VMC (Virtual Memory Cards), PS2RD cheats, and parental controls. There are no stripped-down per-feature variants to juggle. One optional extra is DualSense / DualShock 5 (USB) support: it is off in the standard ELF, but you do not have to build it yourself — the rolling release publishes a ready-made RIPTOPL-<version>-<SDK>-ds5.ELF for each available SDK flavour inside RIPTOPL-VARIANTS-*.zip. make DUALSENSE=1 is only needed if you compile your own. Forced-progressive 1080p GSM support is hardware-confirmed and built into every standard loader. Selecting it is guarded by a three-step in-GUI confirmation, and holding Triangle + Cross during console boot forces 480p for the OPL menu only; the display and connection must accept it. On an interlaced-only TV, Triangle + Circle forces the interlaced Auto mode instead.

Release channels

Channel Tag When to use Stability
Rolling (Latest) rolling Latest features, actively tested builds, eager testers Development builds — may be unstable
Korium standard rolling-korium Standard kit with the Korium theme; replaces the same APP_RIPTOPL app Development build
RetroAchievements rolling-ra Experimental inceBtion and Korium kits using APP_RIPTOPL-RA Pre-release; limited hardware evidence
Current Fan Favorite Build current-fan-favorite A fixed development snapshot for comparison Selected after positive feedback; compatibility varies

Release notes on the rolling channel show the source commit, build version, build timestamp, and the CI run that produced it. The rolling channel is a full (non-pre-release) development release and intentionally owns GitHub's Latest marker. Release candidates use an -rc* suffix and stay as pre-releases; a bare v* tag produces a full curated release without displacing rolling.

What the rolling release contains

Successful publishing runs on rebuild/main replace the rolling assets. Archives are organized by purpose: the normal installable package, RA development package, exact source, VARIANTS, and optional language/debug packs. Read the release notes for omitted optional flavours. Current standard kits require a usable Neutrino bundle. Korium uses the same standard asset shape with a -Korium suffix; preserved snapshots can retain older names.

Asset What it is
RIPTOPL-<version>.zip The installable package. A ready-to-install app, APPS/APP_RIPTOPL/ (RIPTOPL.ELF with its icons, title.cfg and music: the -OFFICIALROLLING build when available, otherwise the first available of the pinned and ps2dev builds), the same app as one memory-card save, APP_RIPTOPL.psu, and its artwork in ART/. Beside it, APPS/ normally holds four explicitly labelled SDK loader folders (a best-effort flavour can be absent when its build fails, and the release notes identify it): APP_RIPTOPL-PS2DEVPINNED/ (#1, recommended pinned ps2dev), APP_RIPTOPL-OFFICIALPINNED/ (#2, recommended official pin), APP_RIPTOPL-PS2DEVROLLING/ (#3, moving ps2dev canary), and APP_RIPTOPL-OFFICIALROLLING/ (#4, moving official canary). The package also has one canonical POPS/ folder for POPSTARTER support (every BDMA pair stays loose there, including usbd.irx.ilink + usbhdfsd.irx.ilink; none is embedded), the bundled EMBER/ and neutrino/ folders, and five companion-tool shortcuts. Install the ready app, or start with APPS/APP_RIPTOPL-PS2DEVPINNED/RIPTOPL.ELF for a pinned build when that best-effort flavour is present. The presence of the loose iLink pair documents package contents, not a hardware pass: revision 2692's POPSTARTER iLink launch still returned to wLaunchELF in every flavour.
RIPTOPL.ELF The loader on its own, for updating an install you already have. Download it and overwrite your existing RIPTOPL.ELF — no archive to unpack, nothing else to copy. Its name never changes, so the download link is permanent. It is the -OFFICIALROLLING flavour, and there is only one of these on purpose: four would put the "which do I pick?" question back in front of the people this asset exists for. Not a first install — the bare loader does not bring POPS/, EMBER/, neutrino/ or the language files, so PS1 and Neutrino launches still need the package above. For a reproducible build to quote in a bug report, take a pinned folder from the package instead. Best-effort, like the flavour it is copied from: if that build fails the release ships without it.
RIPTOPL-RA-inceBtion.ELF, RIPTOPL-RA-Korium.ELF Theme-specific RetroAchievements updates: inceBtion ELF or Korium ELF. Rename the selected download to RIPTOPL-RA.ELF when replacing APPS/APP_RIPTOPL-RA/RIPTOPL-RA.ELF. Full kits install the runtime.
APP_RIPTOPL.psu; RA theme saves Standard app-only save from Rolling. The RA release has APP_RIPTOPL-RA-inceBtion.psu and APP_RIPTOPL-RA-Korium.psu. Both RA saves import into APP_RIPTOPL-RA; copy shared folders from the matching full kit separately.
RIPTOPL-<version>-src.zip Source snapshot of the exact built commit — you can rebuild this precise revision later.
RIPTOPL-LANGS-*.zip Extra UI language files (.lng files and non-Latin fonts not embedded in the ELF). Copy into your OPL folder alongside the ELF.
RIPTOPL-RetroAchievements-inceBtion-<version>.zip RIPTOPL-RetroAchievements-Korium-<version>.zip Both full theme kits in one RA release. Each includes the ready official-toolchain app, ps2dev comparison apps, artwork, PSU, POPS, Ember, pinned ORBIT Neutrino and companion links. Experimental: review the setup and limits.
RIPTOPL-VARIANTS-*.zip The full EXTRA_FEATURES × PADEMU × DUALSENSE matrix for the two ps2dev flavours, plus one ready-made DualSense (DUALSENSE=1) loader for each available official flavour.
RIPTOPL-DEBUG-*.zip Debug builds for the two ps2dev flavours (iopcore, ingame, eesio, iopcore_ppctty, ingame_ppctty, and DTL_T10000). For diagnostics only.

<version> in a download's name is the build version without its commit, e.g. v1.2.0-Beta-2915 — one authoritative version, taken from the required ps2dev:latest build and applied to all four flavours. The full version, commit included (for example v1.2.0-Beta-2915-da28622), is in the release notes header and on the loader's About screen.

Separate standard and RA downloads

Standard releases retain RIPTOPL.ELF, their app-only PSU and install archives. The dedicated RA release retains one ELF update and PSU per theme, both full kits, its source snapshot, provenance and checksums. DualSense comparison loaders remain in the standard VARIANTS archive.

Download a PR or Actions test build

A test artifact is a ZIP attached to a successful GitHub Actions run, rather than an asset on the Releases page. Open the supplied run link, check that its source commit matches the fix you are testing, then choose the requested artifact under Artifacts. GitHub normally requires you to sign in to download it. Expired artifacts need a new build.

For an official rolling toolchain test, choose OPL-OFFICIALROLLING. OPL-OFFICIALPINNED is the separate pinned official toolchain; OPL-PS2DEVROLLING uses the moving ps2dev toolchain. The word rolling in the artifact name identifies the toolchain, not proof that the commit has been published in the rolling release.

Extract the ZIP and read BUILD-MANIFEST.txt for the source commit, flavour and build configuration. Launch the supplied ELF requested in the test instructions. These artifacts contain loader builds and their manifest; keep a complete installed package for companion cores, modules and artwork. Report the exact commit and flavour alongside the console, device, filesystem, core and changed settings.

Japanese/Unicode game-name fallback is available in compatible builds using a user-supplied font_CJK.ttf beside settings_riptopl.cfg. See Unicode font setup for the PR #917 build artifact and activation steps.

Four toolchain flavours, ordered for testing

Every release attempts four labelled flavours of the same RiptOPL source, in this recommended order:

  • APP_RIPTOPL-PS2DEVPINNED/ — digest-pinned ps2dev; recommended primary control.
  • APP_RIPTOPL-OFFICIALPINNED/ — digest-pinned official ps2homebrew toolchain.
  • APP_RIPTOPL-PS2DEVROLLING/ — moving ps2dev:latest canary.
  • APP_RIPTOPL-OFFICIALROLLING/ — moving official ps2homebrew:main canary.

The PS2DEVROLLING canary must compile — if it fails, the publish fails loudly rather than shipping without its required build. The other three flavours are best-effort: if one fails, the release still updates without that folder and the notes identify the omission.

Bundled Neutrino core

The installable package ships the latest published official rickgaiser/neutrino build as an already-extracted neutrino/ folder at the package root (holding neutrino.elf plus the config/ and modules/ folders) — no zip-in-zip, so you just drag-and-drop it. RiptOPL adds only one file — config/bsd-udpfsbd.toml — so UDPFS works out of the box without a manual copy step. Everything else is the official Neutrino build, unchanged.

Copying it over

There is nothing to extract: copy the whole neutrino/ folder, including neutrino.elf, config/ and modules/. For ordinary non-MMCE setups, mc0:/neutrino/ or mc1:/neutrino/ is supported. For MMCE games with GameID card switching, place it on the MMCE game device instead — normally mmceN:/neutrino/, or under the configured MMCE Prefix Path. An mcN:-hosted Neutrino would conflict with that slot's card switch, so RiptOPL protects the handoff by skipping the switch; an mmceN: copy is unaffected. Auto probes the active game device before memory-card fallbacks. See Neutrino Core for the full setup guide.

How to pull the rolling release

Because filenames embed the version and short SHA, they change on every push. Pull by the rolling tag rather than a fixed filename so you always get what is currently published:

# Everything in the current rolling release
gh release download rolling --repo NathanNeurotic/Open-PS2-Loader --clobber

Or download directly from the release page:
github.com/NathanNeurotic/Open-PS2-Loader/releases/tag/rolling

No stale accumulation

Every prior run's assets are deleted before the new set is uploaded, so old builds do not pile up on the release page. GitHub's automatic "Source code" archives (added separately by GitHub) are the only exception.

How the pipeline works

One workflow file — .github/workflows/rolling-release.yml — is the single place release packaging lives. The pushed ref picks the publish target:

  • Push to rebuild/main or master → updates the rolling full development release, explicitly clears its pre-release flag, and keeps it marked as GitHub Latest.
  • Push of a v* tag → cuts a curated per-version release for that tag, using the same normalized package format and best-effort rules. An -rc* tag stays a pre-release; a bare v* tag makes a full release. Neither displaces rolling from the Latest marker.
  • Manual workflow_dispatch → re-runs as rolling.

A concurrency group cancels in-flight rolling runs when a newer push arrives, so the release always reflects the freshest commit. A publishing-branch push and a simultaneous v* tag release run in separate concurrency groups and do not cancel each other.

Why are there four toolchain flavours in the same release?

The moving ps2dev and official toolchain tags can advance independently and occasionally introduce regressions. Each lineage therefore has a digest-pinned control beside its moving canary. Start with APPS/APP_RIPTOPL-PS2DEVPINNED/RIPTOPL.ELF; if hardware behavior differs, test the other labelled folders and report the exact in-app flavour suffix so application and SDK regressions can be separated.

When should I use the VARIANTS or DEBUG zips?

VARIANTS contain the full EXTRA_FEATURES × PADEMU × DUALSENSE matrix for the moving and pinned ps2dev flavours. The normalizer also adds a ready-made DualSense loader for each available official flavour; it does not build the complete official-toolchain matrix. DEBUG builds are produced for the two ps2dev flavours only. Those configurations (iopcore, ingame, eesio, iopcore_ppctty, ingame_ppctty, DTL_T10000) emit diagnostic output over a UART/TTY; they are only useful if you have the hardware or emulator setup to capture it. Do not use debug builds for normal gaming — they are significantly slower.

After downloading

Extract the package zip

Unzip RIPTOPL-<version>.zip. The contents are ready to copy to your memory card or USB drive root:

APPS/
  APP_RIPTOPL/
    RIPTOPL.ELF        ← ready-to-install app (-OFFICIALROLLING when available)
  APP_RIPTOPL-PS2DEVPINNED/
    RIPTOPL.ELF        ← #1 recommended pinned control
  APP_RIPTOPL-OFFICIALPINNED/
    RIPTOPL.ELF        ← #2 official pinned control
  APP_RIPTOPL-PS2DEVROLLING/
    RIPTOPL.ELF        ← #3 moving ps2dev canary
  APP_RIPTOPL-OFFICIALROLLING/
    RIPTOPL.ELF        ← #4 moving official canary
ART/                   ← the app's artwork (RIPTOPL.ELF_*.png)
APP_RIPTOPL.psu        ← APPS/APP_RIPTOPL/ as one memory-card save
POPS/                  ← POPSTARTER.ELF and every loose BDMA variant (including .ilink)
EMBER/                 ← official Ember core; add your own BIOS and games
neutrino/              ← official Neutrino core (already extracted, drag-and-drop)
PS2-Servers.url        ← link to the UDPFS / SMBv1 / UDPBD all-in-one PC launcher
                         (plus four more companion-tool shortcuts)

Install the ELF via your launch method

Copy APPS/APP_RIPTOPL-PS2DEVPINNED/RIPTOPL.ELF to wherever your launch method (FMCB, FHDB, or equivalent) expects it. If that best-effort folder is absent in a run, use the next available flavour in the order above. Or install the ready app instead: copy APPS/APP_RIPTOPL/ into the device's APPS/, or import APP_RIPTOPL.psu onto a memory card with a PS2 save manager. The labelled folders can sit side by side; the APP_ prefix is the OPL convention for homebrew apps stored on your device.

Set up Neutrino (optional)

The neutrino/ folder is already extracted — copy the whole folder (neutrino.elf plus config/ and modules/) to a resolver location. For ordinary non-MMCE setups, mc0:/neutrino/ or mc1:/neutrino/ is supported. For MMCE games using GameID card switching, use the active MMCE device instead (mmceN:/neutrino/, or under its Prefix Path). Required only if you want per-game Neutrino launching or network boot (UDPBD/UDPFS). See Neutrino Core.

Copy the language pack (optional)

If you want a non-default UI language, extract RIPTOPL-LANGS-*.zip and copy its .lng files and any non-Latin font files into your OPL/LNG/ folder. The pack covers 33 languages. RiptOPL's own strings are machine-translated in 31 of them; Galician and Serbian show those strings in English for now. Scripts the built-in font lacks need the font file from the pack too.

For a complete first-run walkthrough (folder layout, enabling devices, launching your first game), see Getting Started.

Archive availability

MEGA uploads require successful publishing and configured credentials. Superseded or failed runs may have no archive. Installable packages, source and metadata are archived when upload succeeds; VARIANTS and DEBUG are excluded. Neutrino download/extraction is best-effort, so check release notes before relying on a bundled core.

The rolling archive

Because the rolling release is rebuilt on every push, a build you were happy with is replaced quickly. Successful runs are preserved on MEGA under run-specific folders, so an older build can still be retrieved:

RiptOPL/Rolling/<version>/run_<number>/

Each folder holds the installable packages plus source and build metadata. VARIANTS and DEBUG bundles are excluded, and — as above — an upload only exists when that run published successfully and the credentials were configured, so superseded or failed runs may have no archive at all.

Browse the MEGA rolling archive →

Building from source

You do not need to build RiptOPL to use it — the releases above are ready to run. This is for people who want to change the code or produce a build with non-default options.

Build inside one of the toolchain images from the CI matrix. Both pinned and rolling SDK images work, and the latest SDK is not required. For a reproducible baseline use the PS2DEVPINNED image digest from that matrix. From the repository root, with Docker available:

docker run --rm -v "${PWD}:/src" -w /src   ps2dev/ps2dev@sha256:8fba50ecc2229acd7f8da63d34302f12939b7d4fa6848dda1e6a0ce083321a11   make -j4

Repository scripts live in tools/ and are run from the repository root. Existing Makefile targets keep their names and output locations.

Use a clean build directory when changing SDK image

Object files from one SDK are not safe to mix with another. Also worth saying plainly: a successful build does not establish console compatibility — it only means the code compiled.

See the Makefile for the option flags, including DUALSENSE=1 (a DualSense loader) and EXTRA_FEATURES=1 (which turns on in-game screenshots and right-to-left language support).

Companion Ecosystem & Tools

Companion tools

See the shared companion catalogue for server launchers, library tools and runtime credits.

Detailed reference: Rolling release reference.


Source: releases.html @ 00e273e37093. Read on the documentation website.

Clone this wiki locally