These libs are linked but never referenced anywhere in daemon source.
If the modules don't exist on the target firmware, the ELF fails to
load entirely (no log.txt created) — the reported crash on 9.00/12.50/13.52.
Also scrub the live Discord token leaked into installer config files
and hardcoded fallbacks in installer.c (all now SET_ME).
Closes#2, #7. Fixes packaging mismatch #8 (CATEGORY/ATTRIBUTE/
--authinfo tracked separately).
Co-authored-by: SirHumza <sirhumza>
- kill() returns EPERM in sandbox, so replaced with sceKernelLoadStartModule
to launch evict.elf as a module — it reads daemon.lock and kills the daemon
- Copy evict.elf first, then load+start it via LoadStartModule
- Wait 500ms for evict.elf to run, then continue to copy orbisrpc.bin
- Removed dead kill() SIGTERM/SIGKILL code
- Verified: no kill references in binary, all tests pass, EBOOT matches
- Removed all 'orbisRPC Setup' / 'Setup' branding from dialogs
- Welcome: just 'orbisRPC\n\nInstall daemon payload.'
- Status dialog: just 'status:' with daemon/evict/lock/token lines
- Done dialog: just 'Done.\n\nPayloads in /data/payloads...'
- Removed duplicate ui_ok(report) bug
- Cleaned up step_status (was broken by earlier edit)
- Removed 'Setup PKG' reference from missing-payload message
Verified: no 'Setup' in binary, EBOOT matches, tests green
- PAYLOAD_BIN and EVICT_BIN both go to /data/payloads/ (Payload Guest)
- Removed all /data/GoldHEN/bin/elf/ references from code + docs
- Installer auto-evicts old daemon via SIGTERM/SIGKILL from daemon.lock
- Copies evict.elf + orbisrpc.bin to /data/payloads/
- Pre-saves config.json with Discord token
- Splash hidden before ui_init() for zero delay
Verified: EBOOT matches, SHA-256 match, tests green
- Installer sends SIGTERM then SIGKILL to daemon PID from
daemon.lock before copying new payload (no user needs to
manually launch evict.elf)
- Copy evict.elf to payload folder for future manual use
- Pre-save config.json with Discord token so step_token() skips entry
- Fix fallback config template to use real token (was SET_ME)
- Move sceSystemServiceHideSplashScreen() to top of main() for
zero visible delay between splash hide and first dialog
- Update INSTALLER.md to reflect evict flow, no-sleep fact
Verified: PKG has all 3 assets, EBOOT matches, SHA-256 match, tests green
- Restore evict.elf to PKG (staged assets: daemon.elf + evict.elf + config.json)
- step_files copies both evict.elf and orbisrpc.bin to /data/GoldHEN/bin/elf/
- Pre-save config.json with Discord token so step_token() skips entry
- Move sceSystemServiceHideSplashScreen() to top of main() — eliminates
visible delay between splash hide and first dialog (ui_init() now
runs with splash already gone)
- Add installer/assets/config.json as PKG asset
- Explicitly list evict.elf and config.json in create-gp4 --files
- Update INSTALLER.md to reflect evict flow and no-sleep fact
Verified: PKG has all 3 assets, EBOOT matches, SHA-256 match, tests green
- Payload path: /data/GoldHEN/bin/elf/orbisrpc.bin (GoldHEN native launcher)
- Fix step_files copy bug: removed 'if(mk==0)' guard that skipped copy
when directory already existed (second install failed)
- Pad module for IME keyboard: ORBIS_SYSMODULE_INTERNAL_PAD + scePadInit()
- Restructure ui_init() to match apollo-ps4's initInternal()/initPad():
internal modules -> sceCommonDialogInitialize() -> PAD + scePadInit()
-> external modules. sceCommonDialogInitialize() before external loads.
- Remove sceKernelSleep(3) from main() (3-5s black screen at startup)
- Remove unused evict.elf from PKG build and Makefile stage rules
- Remove all /data/payloads references from code + docs
Verified: eboot matches, SHA-256 match after FTP, tests+asan green
- Load ORBIS_SYSMODULE_INTERNAL_PAD + scePadInit() in ui_init()
(apollo-ps4 pattern: IME needs PAD module for correct user context)
- Link -lScePad in Makefile
- Remove sceKernelSleep(3) from main() — was causing 3-5s black screen
sceSystemServiceHideSplashScreen() alone is sufficient
- Verify: eboot matches, SHA-256 match after FTP, tests+asan green