Native PS5 homebrew launcher built with SDL2 and ps5-payload-sdk.
This launcher reuses and adapts core homebrew launching components derived from ps5-payload-dev/websrv.
Original websrv launcher backend credit:
- John Törnblom
Project reference:
https://github.com/ps5-payload-dev/websrv
This project provides:
- a native SDL2 launcher UI
- direct homebrew launching without the browser workflow
- a bootstrap ELF for autoloader / elfldr entry
- software-rendered theme support
- per-homebrew music preview with
sndgame.oggorsnd0.ogg
launcher-demo.webm
build/ps5_homebrew_launcher_bootstrap.elfBootstrap entrypoint. This is the ELF you should load first.build/ps5_homebrew_launcher_ui_swonly.elfNative launcher UI loaded by the bootstrap.main.cLauncher UI, scanning, themes and music preview.bootstrap.cBigapp launch bridge and launch request supervisor.gpl/Adapted launch backend components derived fromps5-payload-dev/websrv.assets/Fonts, screenshots and README media.skins/Example software theme manifests.
Expected launcher files:
/data/ps5_homebrew_launcher_bootstrap.elf/data/ps5_homebrew_launcher_ui_swonly.elf
Required installed package:
- the PS5 Homebrew Launcher PKG / fake app used by the hbldr flow
This launcher still relies on the same bigapp-style homebrew launch path as websrv.
So, just like websrv, you must have the Homebrew Launcher PKG installed on the console.
Without that installed base app, the launcher may fail to open the UI or fail to launch selected homebrew correctly.
Autoloader compatibility:
- this launcher is compatible with autoloader flows
- load
ps5_homebrew_launcher_bootstrap.elf, not the UI ELF directly - in practice, it is recommended to configure an autoloader delay of about 5 seconds so the rest of the environment can finish initializing first
Optional theme config files:
/data/nativehbl/skin.txt/data/nativehbl/skins/<skin_id>/manifest.json
Runtime logs:
/data/ps5_homebrew_launcher.log/data/ps5_homebrew_last_run.txt
- Load
ps5_homebrew_launcher_bootstrap.elffrom your autoloader or elfldr flow. - The bootstrap launches the UI as a bigapp.
- The UI scans homebrew folders, displays entries and writes launch requests.
- The bootstrap consumes the request and launches the selected homebrew.
Important:
- the Homebrew Launcher PKG must already be installed
- this project replaces the browser-based frontend, not the underlying installed app requirement
- if using autoloader, launch the bootstrap ELF and consider a ~5 second wait before execution
The launcher scans:
/data/homebrew/mnt/usb0/homebrew/mnt/usb1/homebrew/mnt/ext0/homebrew/mnt/ext1/homebrew
See HOMEBREW_FORMAT.md.
Themes are software-rendered. They do not use external PNG panels anymore.
You can customize a built-in theme by creating:
/data/nativehbl/skins/<skin_id>/manifest.json
Built-in skin ids:
default_neonsunset_cassettearctic_glassmatrix_terminalember_noir
Theme format is documented in SKIN_FORMAT.md.
When a homebrew entry is selected, the launcher looks for:
sce_sys/sndgame.oggsce_sys/snd0.oggsndgame.oggsnd0.ogg
If found, it plays the track in loop until you change selection, launch the app, or leave the launcher.
Left/Right: change selectionCross: launch selected homebrewSquare: refresh scanTriangle: cycle themeCircle: exit launcher
From this directory:
make -C ps5_homebrew_launcher clean allOutputs:
build/ps5_homebrew_launcher_bootstrap.elfbuild/ps5_homebrew_launcher_ui_swonly.elf
This subproject includes GPL-derived launcher backend code.
- Main license text: COPYING
- Third-party attribution: THIRD_PARTY_NOTICES.md
If you distribute binaries, distribute the corresponding source for the exact build as well.