Files
chimera-gfx-Public/FIRMWARE_COMPATIBILITY.md
Chimera GFX release export a6037502d7
phase0-ci / build-and-audit (push) Successful in 2m14s
Publish Chimera GFX source
2026-09-03 03:27:14 +02:00

272 lines
19 KiB
Markdown

# Firmware compatibility
Firmware `9.60` remains the only exact firmware in scope. Separately approved
Phase-1.0D runs have proven SDK CRT/main/notification execution on that device,
but they do not prove the Phase-0 capability probe, GNM, general VideoOut,
rendering, cleanup or compatibility of any other artifact. On 2026-07-22 the
exact Phase-1.0E result artifact received and consumed one single-use
authorization; all authorization fields are again false.
| Firmware | Discovery build | Probe executed | Result | Evidence | Rendering |
|---|---:|---:|---|---|---:|
| _none_ | no | no | unknown | no hardware authorization | prohibited |
| `9.60` | yes, offline only | no | unknown; SDK CRT execution blocker | `docs/evidence/probe-9.60-offline-2026-07-17.md` | prohibited |
| `9.60` Phase 0.6 lifecycle | no artifact built | no | blocked: exact loader has unbounded/unknown effects | `docs/runtime/phase-0.6-loader-audit.md` | prohibited |
| `9.60` Phase 0.7 lifecycle | yes, offline only | no | hardened runtime ready for a separately approved installation; hardware behavior unproven | `docs/runtime/phase-0.7-hardening.md` | prohibited |
| `9.60` Phase 0.8 preflight | no new artifact | no | read-only on-device preflight blocked: collector side-effect freedom and current rollback state unproven | `docs/runtime/phase-0.8-read-only-preflight.md` | prohibited |
| `9.60` Phase 0.9A anti-brick | no target artifact | no | offline design only; filesystem atomicity, durability and independent recovery unproven | `docs/runtime/phase-0.9-installation-transaction-design.md` | prohibited |
| `9.60` Phase 0.9B observer | no target artifact | no | blocked before build: startup/exit ABI and non-persistent output channel unproven | `docs/runtime/phase-0.9b-bounded-observer-design.md` | prohibited |
| `9.60` Phase 0.9C feasibility | no target artifact | no | blocked: startup/exit/cleanup, current bounded output, firmware source two, and observation effects remain unproven | `docs/runtime/phase-0.9c-static-audit.md` | prohibited |
| `9.60` Phase 0.9D readback | no target artifact | no | blocked: existing stack has no PS5-to-host file response; live paths and recovery remain unproven | `docs/runtime/phase-0.9d-readback-feasibility.md` | prohibited |
| `9.60` Phase 0.9E-R provenance | no target artifact | no | local outer Y2JB backup does not match any current official asset; official source has no 9020 listener implementation | `docs/runtime/phase-0.9e-r-official-release-correlation.md` | prohibited |
| `9.60` Phase 0.9E-R2 inner provenance | no target artifact | no | local inner differs from the mandatory official and selected community inners; MediaFire maker/source and deployment remain unbound | `docs/runtime/phase-0.9e-r2-final-provenance-decision.md` | prohibited |
| `9.60` Phase 1.0D RUN A/B | yes, exact one-shot artifacts | yes, two separately authorized runs | C1 proves SDK CRT/main/notification; RUN-B stage remains unclassified because its notification was unreadable | `docs/retroarch/phase-1.0e-device-observations.md` | unproven |
| `9.60` Phase 1.0E result channel | yes, exact one-shot artifact | yes, one authorized run | inherited stdout returned valid D00-D02 with platform result `0`; remote EOF before D03; permission consumed | `docs/retroarch/phase-1.0e-inherited-result-channel.md` | unproven beyond D02 |
| `9.60` Phase 1.0F interval diagnostic | yes, offline exact artifact | no | I00-I14 source interval prepared and statically audited; no device authorization | `docs/retroarch/phase-1.0f-startup-interval.md` | unproven beyond D02 |
| `9.60` Phase 1.0G interval run | exact one-shot artifact | yes, consumed | valid through I03; deterministic no-argument/no-menu help exit before I04 | `docs/retroarch/phase-1.0g-device-result.md` | SDL/VideoOut unproven |
| `9.60` Phase 1.0H startup args | yes, offline exact artifact | no | scoped argc-2 correction built and statically audited; no device authorization | `docs/retroarch/phase-1.0h-startup-args.md` | unproven beyond I03 |
| `9.60` Phase 1.0H one-shot run | exact one-shot artifact | yes, consumed | I04 and SDL/VideoOut reached; buffers registered; first flip submit and SDL init returned `-1` | `docs/retroarch/phase-1.0h-device-result.md` | visible flip unproven |
| `9.60` Phase 1.0I postmortem | no new artifact | no new run | offline source/map/disassembly binds submit `(handle,0,1,0)`; exact E118 operation, submit errno and root cause remain unproven | `docs/retroarch/phase-1.0i-flip-and-write-analysis.md` | no new rendering evidence |
| `9.60` Phase 1.0J-1.0O diagnostics/results | exact offline artifacts and consumed one-shot runs where recorded | only separately authorized J/K/O attempts | first blocked write was `MKDIR`; write-free M reached VideoOut but first flip still returned `-1`; all permissions consumed | `docs/retroarch/` Phase-1.0J through O records | visible presentation and cleanup unproven |
| `9.60` Phase 1.0P-1.0S analysis | no new target artifact | no new run | public VideoOut semantics and a source-proven launch-context fix remain unavailable; hbldr/shsrv is only a source candidate | `docs/retroarch/` Phase-1.0P through S records | parameter or launcher change blocked |
| `9.60` Phase 1.0T-1.0AY offline route design | host-only models and source audits | no device request | deployed shsrv identity remains unknown; result-channel, launch-context, protocol and exact source-base work are offline only | `docs/retroarch/` Phase-1.0T through AY records | no firmware/rendering evidence |
## Rules
- A firmware row is added only for an exact, reproducible identifier.
- Build allowlisting is not runtime compatibility evidence or execution
permission.
- `symbol present` means only that lookup returned non-null on that observation.
- Presence does not establish signature, semantics, or rendering compatibility.
- Failure on an unlisted firmware is the expected fail-closed behavior.
- Compatibility does not transfer between firmware revisions.
- Every observation must reference the source commit, manifest hash, SDK lock,
approval, and redacted crash/probe log.
The build cache variable `CHIMERA_GFX_PS5_ALLOWED_FIRMWARE` defaults to `NONE`.
Changing it is a deliberate build action, not a repository compatibility claim
and not permission to execute the artifact.
The default capability-probe and every VideoOut review artifact embed `NONE`.
The 9.60 capability artifact has its own digest, manifest, and offline review.
It remains execution-blocked because the pinned SDK payload CRT writes kernel
process state before `main`. VideoOut is not allowlisted for 9.60 and also
remains blocked by the unproven bounded-wait requirement in
`docs/phase1/HARDWARE_TEST_PLAN.md`.
Phase 0.5 did not create a firmware-9.60 startup artifact: the exact loader
caller, return, cleanup, crash, and pre-entry contract is unproven. The older
9.60 probe hash `4be1c17b4964f2b68c39b5145bc4af4619c32512d60269ecf5c39728b390fa63`
is permanently denylisted independent of future firmware or approval records.
Phase 0.6 exactly matched the installed Payload Manager v0.3.1 and elfldr
v0.23, but the firmware identifier is still user-attested rather than
device-attested. The lifecycle remains blocked by unbounded ptrace/payload
runtime, unproven return and cleanup, incomplete restoration, absent
launch-time hash enforcement, and the manager's persistent upload path.
`__patch_init` is now a documented payload-process-local effect and is not by
itself the blocker.
Phase 0.7 uses new private hardened elfldr and controlled Payload Manager
artifacts rather than reclassifying the old binaries. Exact firmware 9.60 is
explicitly confirmed by Jens but has not been queried from the device in this
task. Offline compiler, linker, test, disassembly, callgraph, and
reproducibility evidence supports
`READY_FOR_HARDENED_RUNTIME_DEPLOYMENT`. This is not an installed, transferred,
executed, or compatibility-tested state, and it authorizes no console action.
Phase 0.8 preserves that static Phase-0.7 decision but blocks the operational
read-only preflight before any connection. The stock Payload Manager HTTP
interface mutates in-process state, and no alternative collector currently
proves freedom from atime, audit, cache, metadata, service, or logging side
effects. Firmware 9.60 remains user-attested rather than confirmed by two
current device sources.
Phase 0.9A does not add firmware evidence. Its virtual host model cannot prove
PS5 filesystem identity, atomic switch, file or directory durability,
power-loss behavior, quiescence or independent recovery. Every such property
remains `UNPROVEN`, all device authorizations remain false, and no target
artifact is built.
Phase 0.9B also adds no firmware evidence. The normal SDK startup path violates
the phase's kernelwrite-free rule, a freestanding return/exit cleanup contract
is unproven, and the hash-bound controlled loader route does not return payload
output. The observer build stops before source or artifact creation. Firmware
9.60 remains user-attested and runtime-unproven.
Phase 0.9C identifies SDK `kernel_get_fw_version()` as source 1, but that
function reads a `libSceLibcInternal` process-parameter SDK field and has no
runtime observation in this phase. The SDK stub name
`sceKernelGetProsperoSystemSwVersion` has no accepted public signature,
semantics, side-effect contract, or firmware-9.60 evidence and is not source
2. The host result record can bind two exact values to a nonce, request ID and
artifact hash, but no target output implementation exists. Firmware agreement
therefore remains `BLOCKED_FIRMWARE_SOURCE_INCOMPLETE`.
Phase 0.9D adds no firmware evidence and performs no device request. Its local
source audit finds only host-to-PS5 upload/launch and internal read paths, not a
binary-safe PS5-to-host component download. Configured, packaged, and
historical reference paths are not current live-path evidence. Firmware 9.60
therefore remains user-attested and runtime behavior remains `UNPROVEN`.
Phase 0.9E also adds no firmware evidence. The local Y2JB-named backup
candidate covers firmware 4.03 through 12.40 only by filename claim; its opaque
`SIECAF` content cannot be tied to the exact firmware-9.60 deployment or to an
auditable port-9020 listener. No bootstrap, restart, host-to-memory, output,
filesystem, autoload, crash, or reboot property was tested on hardware.
Firmware 9.60 remains user-attested and runtime behavior remains `UNPROVEN`.
Phase 0.9E-R confirms only that official release 1.6 source permits Lapse's
version-selection path through firmware 10.01. Because the local outer backup
matches no current official asset, that source logic is not bound to the
deployed bytes and is not runtime compatibility evidence for firmware 9.60.
Phase 0.9E-R2 adds no firmware evidence. Full host-side inner and SIECAF
comparisons are negative, and the MediaFire page exposes no source binding.
Even a positive structural or byte match would not prove current deployment.
Firmware 9.60 remains user-attested and runtime behavior remains `UNPROVEN`.
Phase-1.0D RUN A changes one narrow firmware statement: the operator visibly
observed the exact C1 marker, proving that hardened elfldr reached the normal
SDK CRT, `main` and the notification ABI on the firmware-9.60 console for that
exact canary hash. RUN B produced one unreadable notification and therefore
does not identify a D-stage. Phase-1.0E RUN C adds exact artifact-bound evidence
for D00-D02 and the inherited result channel. D02 reported platform result `0`;
remote EOF occurred before D03. It proves neither SDL/VideoOut nor rendering,
terminal status, cleanup or safe exit. Every authorization is false.
Phase 1.0F adds no firmware evidence: its I00-I14 artifact exists only as an
offline build and has never been transferred, received from or executed on a
device.
Phase 1.0G adds exact artifact-bound firmware evidence through I03. Captured
ordinary stdout proves the build took RetroArch's no-argument/no-menu help path
and exited before I04. It adds no SDL, VideoOut, rendering, terminal cleanup or
safe-exit evidence. Its one-shot permission is consumed.
Phase 1.0H adds no firmware evidence. It is an offline, reproducible correction
for that source-bound argument defect and remains transfer- and
execution-ineligible. Its modeled I04 boundary and all later stages are
unproven on firmware 9.60.
The later exact H permission was consumed once. It proves I04, I13/I14, D03,
a positive D05 VideoOut handle and D06 buffer-registration result `0`. D07 and
D04 both returned `-1`; no successful visible flip, runloop, full cleanup or
safe exit is proven. No retry occurred.
Phase 1.0M adds no firmware evidence. It removes the source-bound playlist
directory probe/`mkdir` from write-free builds and produces a reproducible,
statically audited artifact, but that new hash has never been transferred or
executed. I04, SDL, VideoOut, flip behavior, visible output and cleanup remain
unproven on firmware 9.60.
Phase 1.0N adds no firmware evidence. It prepares only an inactive,
manifest-selected host runner for the unchanged Phase-1.0M hash. Fake-socket
tests and static hash binding do not prove runtime behavior on firmware 9.60;
all target, transfer, execution and reception authorizations remain false.
The separately authorized Phase-1.0O attempt adds exact firmware-9.60 evidence
for the M hash: I04 and SDL video entry were reached, VideoOut opened, buffer
registration returned `0`, and the first flip submit returned `-1` with saved
errno `0`. No D13/write-firewall frame occurred. D12 reported runtime
failure/E104 and D04 reported SDL init `-1`. Visible presentation, successful
termination and cleanup remain unproven; the permission is consumed.
Phase 1.0P adds no firmware evidence. Its offline source/map/disassembly audit
proves the exact first-submit tuple and failure site, but the local public
sources do not prove the argument semantics, opaque attributes, flip-master
or active-app requirements, return-code meaning, visible output or cleanup.
The VideoOut root cause remains unresolved and no new device action is
authorized.
Phase 1.0Q adds no firmware evidence. Its public-source search establishes
that the current PS5 VideoOut declarations have one SDL lineage and no
independent public PS5 corroboration. PS4 analogues and host source scans do
not establish firmware-9.60 argument, layout, ownership or error semantics.
Phase 1.0R adds no firmware evidence. Source proves only that SDL2main is a
lifecycle wrapper and that the tested artifact already hides the splash before
VideoOut open. It does not prove the firmware-9.60 active-app, flip-owner,
launcher, process, visibility or cleanup contract. The observed LNC log remains
a non-unique correlation, not a firmware interpretation or root cause.
Phase 1.0S adds no firmware evidence. Official shsrv source proves that hbldr
creates a BigApp-based process context, but source cannot prove that the route
works on this firmware-9.60 device, grants flip ownership, or fixes the exact
submit failure. The deployed shsrv version, target fake-app state, visibility,
crash and cleanup behavior remain unobserved.
Phase 1.0T adds no firmware evidence. It statically proves that the audited
shsrv source emits firmware, serial and telemetry on connection and that its
existing identity-related commands cannot return an exact deployed SHA-256.
No port-2323 connection occurred, so the deployed shsrv family, compile
metadata, device paths and all firmware-9.60 runtime effects remain unobserved.
Phase 1.0U adds no firmware evidence. Its bounded host inventory found no
original shsrv target binary or receipt to hash. Official source and packaging
metadata do not establish what runs on firmware 9.60, and no device identity,
path, version, greeting or behavior was observed.
Phase 1.0V adds no firmware evidence. Its Telnet and sanitization behavior is a
synthetic host model fed from stdin. It neither connects to nor observes the
firmware-9.60 device, and it does not prove the live greeting, prompt,
negotiation, timeout, disconnect, shell cleanup or deployed shsrv identity.
Phase 1.0W adds no firmware evidence. Its remediated collector, session policy
and fake transport use synthetic host input and an explicit synthetic clock.
Source-bound port 2323 and exact firmware text `9.60` are policy constraints,
not proof of a listener, negotiation, device identity, deployed bytes or
runtime behavior.
Phase 1.0X also adds no firmware evidence. Its receipt/output operations and
deadline/cleanup state are exercised only against injected fake adapters. The
official shsrv source describes a dynamic `PWD` prompt and automatic greeting,
but does not bind the deployed bytes or live Telnet stream on firmware 9.60.
Phase 1.0Y adds source-history evidence only. Official tags v0.7-v0.8 use raw
framing and v0.9-v0.19 use `libtelnet`/NVT, but no evidence selects which
family, revision or modified binary runs on firmware 9.60. Synthetic framing
tests therefore do not establish live line endings, prompt completion, echo,
short-write behavior or disconnect cleanup.
Phase 1.0Z adds no firmware evidence. Its one-batch formatter and deadline-only
accumulator run exclusively on synthetic host inputs. The tests show that the
contract tolerates modeled LF/CRLF output and rejects incomplete data; they do
not prove a listener, exact deployed shsrv bytes, live deadline behavior,
filesystem effects, cleanup or restart on firmware 9.60.
Phase 1.0AA adds no firmware evidence. Its exact fake adapter, synthetic clock,
exclusive temporary host files and scripted events exercise only local model
composition. Passing receipt/send/deadline/close tests cannot establish a live
listener, OS timeout behavior, target identity, shell cleanup or any behavior
on firmware 9.60.
Phase 1.0AB adds no firmware evidence. Local Windows Python runtime identities
and synthetic nonblocking traces describe only a possible host implementation.
They do not observe port state, packet delivery, shsrv cleanup or any behavior
on firmware 9.60.
Phase 1.0AC adds no firmware evidence. Its dormant adapter accepts only exact
built-in fake syscall steps and a synthetic clock. Passing its lifecycle and
cleanup cases does not establish a listener, deployed shsrv identity, network
timing, remote cleanup, launch context or any firmware-9.60 behavior.
Phase 1.0AU adds no firmware evidence. Exact official headers establish source
signatures for pipe, descriptor inheritance, nonblocking reads, monotonic time,
termination and reap. They do not establish their runtime behavior on firmware
9.60, and current official shsrv does not contain the bounded composition.
Phase 1.0AV adds no firmware evidence. Its two synthetic arms define how a
future exact-payload comparison would isolate launcher identity, but neither
arm has target source, an artifact, approval or device result. A modeled return
difference cannot prove a visible flip or firmware behavior.
Phase 1.0AW adds no firmware evidence. It proves only that official v0.7 source
passes raw stdout into the replaced BigApp and identifies the source changes a
future canary would need. No deployed identity, bounded launcher, target bytes
or firmware-9.60 result exists.
Phase 1.0AX adds no firmware evidence. Its valid D07/D04/D14 traces are
synthetic bytes and its cleanup predicate is a host reference. No target source,
artifact, device result or visible output implements that reference.
Phase 1.0AY adds no firmware evidence. Selecting an exact private Git commit
establishes only source lineage; it creates no target source delta, artifact or
firmware-9.60 observation.