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,67 @@
# Phase 1.0A upstream analysis
## Selected RetroArch base
| Field | Value |
| --- | --- |
| Official repository | `https://github.com/libretro/RetroArch` |
| Stable tag | `v1.22.2` |
| Commit | `69a4f0ea1e8aaf442ae4858f2e7f2b31a1776576` |
| Tree | `33babf9eb7699b5d571a3063ea21c3e488c159fe` |
| Commit date | `2025-11-20T00:17:08Z` |
| Source archive | official GitHub tag archive |
| Archive size | `71629881` bytes |
| Archive SHA-256 | `245ef18c8fa8fbd9fbb5eb25cf43e17c6aace2f95c1ed99873cbd794012bb232` |
| License | GPL-3.0-or-later (`COPYING` and source notices) |
| Acquisition date | `2026-07-19` |
The local fork starts at that exact commit. Its `upstream` fetch remote names
the official repository and its push URL is disabled. Project pushes are
restricted to the private Gitea `origin`.
## Areas inspected
The analysis covered `Makefile.common`, `Makefile.griffin`,
`Makefile.orbis`, frontend and driver registries, null/dummy drivers, RGUI,
static core glue, config/path startup, task queues, time/sleep, threads,
dynamic loading, VFS and logging. Reference platform implementations included
Orbis, Vita, Switch, PSP and null.
Relevant upstream mechanisms:
- `frontend_ctx_drivers[]` selects the first compiled platform frontend;
- video, audio and input arrays fall back to their null drivers;
- `Makefile.common` conditionally adds SDL2 video, input/joypad and audio;
- a static build resolves the global libretro API symbols at link time;
- configuration defaults derive driver names from compiled feature macros;
- RGUI is the smallest software-oriented menu driver;
- generic file/VFS/task code is widely shared even when persistent features
are disabled.
## Fork delta
The port adds:
- `Makefile.ps5` with explicit headless and software profiles;
- `frontend/drivers/platform_ps5.c`;
- `cores/chimera_smokecore/`;
- host tests and PS5 build validation;
- `pkg/ps5/` for the pinned SDL build and reviewed overlay;
- PS5 port documentation.
Small generic-source changes register the platform, block static Salamander
config I/O and normal shutdown saves for this profile, and add headers or
fallback locals required by the unusually small feature matrix. No proprietary
header, NID, syscall, firmware offset or device path is introduced.
## Static and dynamic core decisions
The static smoke core is linked into both ELFs and exports the real libretro
entrypoints consumed by RetroArch. Dynamic loading is deliberately disabled:
there is no proven native PS5 shared-core file/relocation/unload contract yet.
A later milestone must separately specify format, symbol binding, executable
memory, directory/VFS policy, ABI compatibility, error cleanup and unload.
No additional `libretro-samples` acquisition was needed because the required
deterministic input, video, audio and no-content behaviour was implemented in
the small GPL-compatible Chimera core and verified by a host harness.