Skip to content

Fork Feature Gaps

NathanNeurotic (Ripto) edited this page Sep 16, 2026 · 3 revisions

Fork Feature Gaps

Features and fixes that other PS2 loaders, forks and launchers have and RiptOPL does not have yet. Each entry was checked against RiptOPL's own code rather than taken from another project's changelog, and links to where that project implements it.

ℹ A tracking list, not a roadmap

An entry here means another project has something RiptOPL does not; it does not mean the feature is scheduled. Checked on 2026-09-14 against rebuild/main at 3f2e9b1d, and updated on 2026-09-15 when PR #658 shipped three entries (see Notes). Every entry has a short ID whose letter names its source (see Sources surveyed), so it can be referenced in issues and chat. Entries in the Beyond game loading area are general-purpose tools from PS2 environments built on OPL, listed so the survey is complete.

Sources surveyed

Code Source What it is Gaps
W wOPL The continuation of KrahJohlito's uOPL 6
O OPLattice Grid themes, the SHELF interface and theme tooling 15
U Upstream OPL Pull requests not yet merged into Open PS2 Loader 6
B BoliviaOS A multifunction PS2 environment built on OPL 7
P PS2-Launcher An OPL-based launcher with a console-style interface 5
T Project Titan A PS2 system shell and application platform 2
E OPL-Evolution An experimental OPL fork with a unified dashboard 1
H xeRAbora RetroAchievements for real PS2 hardware 1
R RETROLauncher A Lua launcher for retro emulators and PS2 games 1
M Modulo R1 A Neutrino-based loader in beta 1
L Extended APA An OPL build for internal HDDs larger than 2 TiB 1

Nine more projects were checked and had nothing RiptOPL lacks — see Checked, nothing missing.

At a glance

All 46 entries in one list. Click a column heading to sort.

ID Feature Area Source Type
W1 Themes loaded from a .tar archive Theme engine wOPL Feature
W2 wsX widescreen X position Theme engine wOPL Feature
W3 PADEMU, GSM and cheat status icons Theme engine wOPL Feature
W4 Disc art toggle without restart Library & menu wOPL Feature
W5 Held scrolling stalls every ~29 seconds Controllers & input wOPL Fix
W6 Info page without list navigation Library & menu wOPL Optional
O1 Grid game list Theme engine OPLattice Feature
O2 GameImage offset for non-selected games Theme engine OPLattice Feature
O3 Recently played list Library & menu OPLattice Feature
O4 Sort modes Library & menu OPLattice Feature
O5 MenuTabs device tab strip Theme engine OPLattice Feature
O6 GameCountText prefix and suffix Theme engine OPLattice Feature
O7 x_scaled widescreen alignment Theme engine OPLattice Feature
O8 VRAM texture budget clamp Theme engine OPLattice Fix
O9 Play stats Library & menu OPLattice Feature
O10 SHELF sidebar interface Library & menu OPLattice Feature
O11 App subtitles Library & menu OPLattice Feature
O12 Art conversion and VRAM checker PC tools OPLattice Tool
O13 In-game screenshot importer PC tools OPLattice Tool
O14 Browser theme previewer PC tools OPLattice Tool
O15 Device staging and card sync scripts PC tools OPLattice Tool
U1 Per-game parental lock Cheats, launching & network Upstream OPL Feature
U2 Remembered per-game cheat selections Cheats, launching & network Upstream OPL Feature
U3 Disc size from the real media Game compatibility Upstream OPL Fix
U4 In-game reset without the VBLANK interrupt Game compatibility Upstream OPL Fix
U6 Launch announcement for Discord rich presence Cheats, launching & network Upstream OPL Feature
U9 Bluetooth controller input lag Controllers & input Upstream OPL Investigate
B1 File explorer Beyond game loading BoliviaOS Feature
B2 Music player Beyond game loading BoliviaOS Feature
B3 Image and font viewers Beyond game loading BoliviaOS Feature
B4 Text editor, code editor and terminal Beyond game loading BoliviaOS Feature
B5 Memory card format and repair Beyond game loading BoliviaOS Feature
B6 USB keyboard Controllers & input BoliviaOS Feature
B7 PDF viewer Beyond game loading BoliviaOS Feature
P1 Xbox One and Series controllers over USB Controllers & input PS2-Launcher Feature
P2 Download covers from the PS2 Library & menu PS2-Launcher Feature
P3 One games list across every device Library & menu PS2-Launcher Feature
P4 Hold SELECT to leave a game Controllers & input PS2-Launcher Feature
P5 Launch transition animation Library & menu PS2-Launcher Feature
T1 Graphics patches kept apart from cheats Cheats, launching & network Project Titan Feature
T2 Installable app packages and runtime Beyond game loading Project Titan Feature
E1 Controller, memory card, storage and network status Library & menu OPL-Evolution Feature
H1 RetroAchievements pointer chains RetroAchievements xeRAbora Feature
R1 Retro emulator ROM libraries Beyond game loading RETROLauncher Feature
M1 Choose between several network servers Cheats, launching & network Modulo R1 Optional
L1 APA HDDs over 2 TiB Internal HDD Extended APA Not planned

wOPL

ps2homebrew/wOPL — much of RiptOPL's Coverflow, Favorites and Neutrino work started here. These are the parts RiptOPL does not have yet.

ID Feature What it does Source
W1 Themes loaded from a .tar archive Several themes packed into THM/thm.tar, with fonts and images read straight from the archive. PR #370 PR #378
W2 wsX widescreen X position A separate X coordinate per element for 16:9, so one theme file serves both 4:3 and widescreen. src/themes.c
W3 PADEMU, GSM and cheat status icons On/off images showing each game's pad emulation, GSM and cheat settings, with built-in default images. src/textures.c src/themes.c
W4 Disc art toggle without restart An Enable Disc Art setting that takes effect immediately. RiptOPL has no disc art toggle. PR #308
W5 Held scrolling stalls every ~29 seconds Fix The pad timer wraps roughly every 29 seconds; when it does, a held direction stops repeating until the button is released. PR #308
W6 Info page without list navigation Optional Up, down and page buttons no longer move through the list from a game's info page. A design choice rather than a missing capability. PR #308

OPLattice

coffeedevsolutions/OPLattice — nine patches to OPL's theme engine and menus, a sidebar interface, themes and PC tooling.

ID Feature What it does Source
O1 Grid game list A tile layout for the game list (columns, cell_width, gap, frame) with two-axis navigation. patch 01
O2 GameImage offset for non-selected games An image element can draw the game a set number of places down the page, which makes hero and filmstrip layouts possible. patch 01
O3 Recently played list The last 8 games launched, newest first, shown with RecentImage and RecentText elements. RiptOPL remembers only the last one. patch 02
O4 Sort modes A to Z, Z to A, most recent first, or as scanned. OPLattice cycles them with R3, which RiptOPL uses for Favorites. patch 02
O5 MenuTabs device tab strip Every device drawn at once with the active one highlighted, plus per-device label overrides. patch 03
O6 GameCountText prefix and suffix Themes set their own wording around the game count. patch 03
O7 x_scaled widescreen alignment Elements keep their position relative to a centred layout when widescreen is on. patch 03
O8 VRAM texture budget clamp Fix Caps texture size to the video memory left after the framebuffers, so an oversized theme image is rejected instead of risking a hang in hi-res modes. patch 07
O9 Play stats A launch count and playtime for each game. patch 08
O10 SHELF sidebar interface An opt-in sidebar with Home, Library, Apps and Settings pages. It opens with L3, which RiptOPL uses to switch between PS2 and PS1 views. patch 09
O11 App subtitles An optional subtitle key in an app's title.cfg. patch 09
O12 Art conversion and VRAM checker Tool Converts art to indexed PNG8 and reports how much memory each theme's art cache will use. palettize-art.py check-art.py
O13 In-game screenshot importer Tool Turns in-game screenshot BMPs from the memory card into the _SCR.png images the info page shows. import-igs.py
O14 Browser theme previewer Tool A single HTML file that renders a theme's layout before it goes on a console. opl-theme-previewer.html
O15 Device staging and card sync scripts Tool Scripts that copy a build onto a USB device or HDD and sync a memory card. tools/

Upstream OPL pull requests

ps2homebrew/Open-PS2-Loader — RiptOPL is built on upstream's master branch, so the gaps here are pull requests not yet merged there.

ID Feature What it does Source
U1 Per-game parental lock A Parental Lock toggle in a game's settings; starting that game asks for the parental lock password. PR #1779
U2 Remembered per-game cheat selections Saves which optional cheats were enabled for each game, by cheat name, with master codes always on. PR #1748
U3 Disc size from the real media Fix Out-of-bounds read checks use the image's real sector count instead of the ISO volume field, so discs mastered with a short volume (Zombie Zone, Demolition Girl) boot again. RiptOPL still reads the volume field. PR #1763
U4 In-game reset without the VBLANK interrupt Fix Checks the in-game reset button combo from a timer instead of the VBLANK handler; titles that black-screened with the old hook boot, and in-game reset still works. PR #1762
U6 Launch announcement for Discord rich presence When a game starts, a small UDP broadcast carries its title ID so a PC listener can set Discord rich presence. PR #1736
U9 Bluetooth controller input lag Investigate Shortens PADEMU Bluetooth polling delays to remove input lag. As submitted it also turns off rumble and the menu's pad delay, so it is a lead rather than a finished fix. PR #1675

BoliviaOS

boliviaos.site — an OPL-based environment that adds file management, media and system tools around game loading. Its source is not published, so these entries come from the features its site lists.

ID Feature What it does Source
B1 File explorer Browse and move files across memory cards, USB, HDD and host from inside the loader, with transfers checked against the source. boliviaos.site
B2 Music player Plays MP3 and OGG files with ID3 tags and a spectrum visualizer. boliviaos.site
B3 Image and font viewers Views JPG and PNG images with zoom and transparency inspection, and TrueType fonts with Unicode coverage. boliviaos.site
B4 Text editor, code editor and terminal Edits .txt and .cfg files, with a JavaScript editor and a command terminal. boliviaos.site
B5 Memory card format and repair Low-level memory card formatting and repair through Memory Card Annihilator. boliviaos.site Memory Card Annihilator
B6 USB keyboard USB HID keyboard input. boliviaos.site
B7 PDF viewer Reads PDF documents. The site lists it as still in development. boliviaos.site

PS2-Launcher

Irfanlesnar/PS2-Launcher — an OPL-based launcher with a console-style interface. Checked against its published v4.0 source, not only its README.

ID Feature What it does Source
P1 Xbox One and Series controllers over USB Wired Xbox controllers through a new IOP driver. RiptOPL supports DualShock 3, DualShock 4 and DualSense. modules/xboxusb
P2 Download covers from the PS2 Fetches missing covers, or refreshes all of them, over the network from the console. src/opl.c PS2-Launcher-Manager
P3 One games list across every device A single Games list combining every connected source, part of its console-style interface. src/opl.c
P4 Hold SELECT to leave a game Holding SELECT for 7–10 seconds in a game returns to the launcher, an alternative to the multi-button in-game reset combo. ee_core/src/padhook.c
P5 Launch transition animation An animated transition as a game starts. OPL-Evolution adapted it too. src/opl.c

Project Titan

sobecapaklebs-dev/project-titan-magenta-edition — a PS2 system shell and application platform whose game launching is one subsystem among many.

ID Feature What it does Source
T1 Graphics patches kept apart from cheats Graphics patches such as widescreen live in ENH/<id>.enh, separate from gameplay cheats in CHT/, and the selection is remembered per game. See Cheats for what RiptOPL reads today. TITAN_GAME_PATCHES.md
T2 Installable app packages and runtime Installable packages and an application runtime, so native apps run as part of the system instead of as separately launched ELFs. README

OPL-Evolution

officialjuicedesigns/OPL-Evolution — an experimental OPL fork with a unified PS2 and PS1 dashboard.

ID Feature What it does Source
E1 Controller, memory card, storage and network status A status strip showing each controller port, both memory card slots, the storage source and the network state. src/evo_ui.c

xeRAbora

hacan359/xerabora — the PC client RiptOPL's RetroAchievements build talks to. Its console code lives on hacan359's OPL fork, branch ra.

ID Feature What it does Source
H1 RetroAchievements pointer chains Achievements that read game memory through a pointer can unlock. Without it, they never trigger — 22 of 50 in one measured achievement set. commit 0c5f61a3

RETROLauncher

Spaghetticode-Boon-Tobias/RETROLauncher — a launcher written in Lua for the Enceladus environment, covering retro emulators alongside PS2 and PS1 games.

ID Feature What it does Source
R1 Retro emulator ROM libraries Libraries of retro ROMs launched through emulators such as RetroArch, SNESticle and TempGBA. README

Modulo R1

AdityaKumar7209/Modulo-R1-Beta-Preview---PS2 — a Neutrino-based loader in beta. Only its PC server source is published.

ID Feature What it does Source
M1 Choose between several network servers Optional Lists every UDPFS server found on the network and lets you pick one. RiptOPL already finds a server automatically — see Network Boot. README

Extended APA

L10N37/Open-PS2-Loader-Extended-APA — an OPL build for internal HDDs formatted with PS2 HDD Manager's banked APA layout.

ID Feature What it does Source
L1 APA HDDs over 2 TiB Not planned Splits a large internal HDD into APA “banks” and lists and launches games from every bank. RiptOPL stays on the standard APA layout — see Internal HDD. EXTENDED_APA.md

Checked, nothing missing

Surveyed with the rest. Everything these offer is already in RiptOPL or does not apply to it.

Project Why nothing is listed
ps2homebrew/Open-PS2-Loader RiptOPL is built on its master branch. Its open pull requests are listed above under Upstream OPL pull requests.
ps2-mmce/Open-PS2-Loader MMCE support, switching MMCEs to the boot card during in-game reset, and VMC groups are all in RiptOPL; the rest are upstream fixes.
Docmine17/Open-PS2-Loader-HTTP RiptOPL's HTTP protocol comes from this project. Its only later change is an example games.csv.
NathanNeurotic/xerabora A fork of hacan359's xeRAbora with no changes of its own; the upstream change is H1.
SvenGDK/Open-PS2-Loader An OPL v1.0.0 build for PSX DESR consoles. Everything it lists is in upstream OPL 1.2, which RiptOPL is based on.
rodrigo1593-dev/oplfork Two experiments with PADEMU module loading. The same author's Bluetooth change is U9.
PS2-Widescreen/OPL-Widescreen-Cheats A widescreen cheat collection that works with RiptOPL's cheat engine as it is.
ps2homebrew/Open-PS2-Loader-lang RiptOPL builds its UI languages from this repository, including Galician and Serbian.
ps2homebrew/HDLGameInstaller A separate app that installs games into APA partitions. RiptOPL does not write APA partitions.

Notes

  • Already in RiptOPL, so not listed: the fix from wOPL PR #435 (remember the last played game when it is the first list entry), PS2RD cheat images (.img), cover art from ART/art.tar (Interface settings), cheats from CHT/cht.tar, the <name>_show_run theme key, RetroAchievements for physical discs, per-game OSD language, virtual memory card creation, and the older USB driver that upstream PR #1752 proposes pinning.
  • Shipped since the survey (PR #658): Ratchet & Clank 3 over SMB (was U5, from upstream PR #1761), Pro Evolution Soccer 2 defaulting to Accurate Reads (was U7, see Compatibility Modes), and Galician and Serbian UI languages (was U8, see Languages). IDs are not reused.
  • wOPL's config format: wOPL moved to libconfig. RiptOPL reads and writes both formats, so files the two loaders share, such as an app's title.cfg, keep working in both.
  • Device names: RiptOPL accepts usb0: and ata0: style names for its boot path and ties each launch to its device by driver name, but reads files through massN:. wOPL uses the typed names throughout. That is a different approach rather than a missing feature, so it is not counted.
  • CFG/cfg.tar: wOPL's README lists it, but neither wOPL nor RiptOPL reads per-game configs from an archive, so it is not counted either.

Source: fork-gaps.html @ fc2e13154e51. Read on the documentation website.

Clone this wiki locally