Publish Chimera GFX source
phase0-ci / build-and-audit (push) Successful in 2m14s

This commit is contained in:
Chimera GFX release export
2026-09-03 03:27:14 +02:00
commit a6037502d7
828 changed files with 100454 additions and 0 deletions
@@ -0,0 +1,81 @@
# Phase 1.0R: SDL2main and packaging analysis
Status: `SOURCE_BOUND_NEGATIVE_RESULT`
## SDL2main
Pinned source: `ps5-payload-dev/SDL` commit
`0baf4ac49382b537ba449901b5b6d0d189bb1fbb`, file
`src/main/ps5/SDL_ps5_main.c`, 438 bytes, SHA-256
`55953065bb81ec6f00224d54c19f667336936e55a6805e08b60f6dda126d6648`.
| Source location | Operation | Timing | Launch-context conclusion |
|---|---|---|---|
| lines 14-16 | normal `main`, splash hide | before `SDL_main` | duplicate of an action also performed by PS5 `VideoInit`; no registration |
| line 17 | call `SDL_main(argc, argv)` | application entry | C entry-wrapper convention only |
| line 18 | `sceSystemServiceLoadExec("exit", 0)` | after application return | cannot affect first VideoOut submit |
No application ID, title ID, LNC function, process creation, VideoOut export,
module load, or persistent state appears in this file.
Pinned PS5 video source: `src/video/ps5/SDL_ps5video.c`, 12,162 bytes,
SHA-256
`44124546da132ea6e12b1f06a1808d61690c73460a65c3161e8453e8108684b6`.
`PS5_VideoInit()` hides the splash at line 225 and opens VideoOut at line 226.
It creates the event queue, adds the flip event, sets the flip rate, sets the
opaque buffer attributes, and registers buffers. The update path submits
`(handle, idx, 1, frame_id)` at line 145. No source-proven app registration or
flip-owner acquisition precedes it.
## Exact RetroArch linkage
The artifact source is RetroArch commit
`12cf1d783c41eb303987e49a5a920805a59ef7a4`. `Makefile.ps5` is 16,122 bytes,
SHA-256
`6d248aa2b77d5ccea3a8d1de02e939946b7e7764e5b012ef513c1eed4dcc6e27`.
It links static `libSDL2.a` plus `SceSystemService`; it does not link
`libSDL2main.a`.
The exact M evidence identities remain:
| Evidence | Size | SHA-256 |
|---|---:|---|
| `retroarch_ps5_write_diag.elf` | 1,845,208 | `c99a0856309a357ad2667d89b4924e4063ad214cae09c8a419457b0732f583cd` |
| linker map | 637,728 | `6768ffc7267b9b362c3b953571e5dfeed1e70004a3e19f41ef500c3f26272719` |
The map binds `_start` to SDK `crt1.o` and binds the PS5 video functions to
`libSDL2.a(SDL_ps5video.c.o)`. Searches for `SDL_ps5_main`, `libSDL2main`, and
`sceSystemServiceLoadExec` are empty. Thus the tested artifact omitted the
wrapper but not SDL's pre-VideoOut splash-hide call.
## PacBrew and official port packaging
PacBrew commit `c2abcfcb60f569128abd0e8e70ad03a67bee5ea7` builds and installs
libraries and ordinary executables. Its SDL2 recipe fetches the same SDL fork
without a pinned source checksum and installs the resulting SDK files.
PacBrew recipes do not create PS5 application IDs or define the process that
runs an installed executable. PacBrew is therefore `PACKAGE_METADATA_ONLY`,
not a launch-context implementation.
The bounded official source set gives these results:
| Project | Relevant observation | Classification |
|---|---|---|
| LakeSnes | links SDL2main; `homebrew.js` returns path/args; README uses `hbldr` via shsrv | `SDL2MAIN_USER_LAUNCHER_PARTIAL_UNBOUND` |
| pemu | PS5 packages use `homebrew.js`; its explicit `LoadExec("exit")` is guarded for PS4 only | `SDL_USER_LAUNCHER_PARTIAL_UNBOUND` |
| FBNeo, Mednafen, DevilutionX, EDuke32 | PacBrew builds/install ordinary SDL executables | `PACKAGE_METADATA_ONLY` |
| yquake2 | SDL consumer; no exact PS5 launched artifact/process contract | `SDL_CONSUMER_LAUNCH_CONTEXT_UNPROVEN` |
A `homebrew.js` object that returns `path` and `args` is not application
registration. A README command naming `hbldr` is not source proof of how
`hbldr` creates a process or which active-app/display state exists. No
official-port success claim is used as firmware-9.60 hardware evidence.
## Fail-closed outcome
The exact pre-submit effect contributed by SDL2main is
`EARLIER_HIDE_SPLASH_ONLY`. The exact post-return effect is
`LOAD_EXEC_EXIT`. Neither is a source-proven correction for the observed
submit failure. The launcher and active-app hypotheses remain unproven until
the exact `hbldr`/`shsrv` implementation and launch provenance are bound in a
separate offline phase.