6.5 KiB
Phase 1.0Q public VideoOut evidence
Phase 1.0Q is bounded public-source research following the Phase-1.0P submit postmortem. It performed no PS5 connection, transfer, execution, target build or target-source change. Searches and source acquisition were limited to official GitHub repositories and immutable source archives. No downloaded code was executed.
PS5 evidence lineage
The exact SDK v0.41 tag remains
d2e2e585740362976a39fdd5ccf390f199a7bc37.
Its libSceVideoOut.c is a 25,199-byte export-stub file with SHA-256
da6cff9b3255e9ccb0440790f73e0265696ca47724cf8fe5950b579702940016.
It establishes symbol names, but contains no VideoOut declarations, data
layouts, constants or return semantics. The official SDK master inspected at
a0d2bc60bdcc0a5ee9e790fa3b02fe5051a152d0 still has no public VideoOut
header. v0.41 was the latest published SDK release during this audit.
The PS5 declarations originate in one source lineage: the
ps5-payload-dev/SDL PS5 backend.
The initial backend commit was
2682a5e31e8aee888538b0fb7253d8cadf2797a1.
It introduced the four-argument submit declaration, mode=1, first
frame_id=0, RegisterBuffers2, SetBufferAttribute2, the 32-byte buffer
record and the 80-byte attribute record together. The two unknown records were
already named with junk0; the commit cites no independent ABI source.
Commit
fdfa470a0fa33215c677193982dfe3651ac1321a
only moved those declarations into SDL_ps5video.h. Commit
14ac2ec2ab5889af47218a957e3456e613b13d3d
changed uint to uint32_t and improved resource handling; it did not add a
second provenance source. Later history preserves the same submit tuple.
The pinned header and source hashes are respectively
e60766e0b43c2a7fceba2ada0c030e7f7b05e63885590092f2f8f5b9da34ed75
and 44124546da132ea6e12b1f06a1808d61690c73460a65c3161e8453e8108684b6.
Bounded official-project scan
Immutable source archives for the graphics-relevant repositories in the
ps5-payload-dev organization were downloaded to a separate temporary host
directory, hashed, extracted and searched statically. None contains a direct
VideoOut declaration or call. PacBrew's SDL2 recipe points back to the same SDL
repository and uses a moving Git source with sha256sums=('SKIP'); it is not
independent ABI evidence.
| Repository | Commit | Archive SHA-256 | Direct VideoOut evidence |
|---|---|---|---|
| libcross2d | 829b167262d3567a048b6e69416f8e3be399c098 |
eb952a041396ba01224a890d14d41662b017488f487ddd4c4018ffddd4a59ae2 |
none; SDL consumer |
| pemu | 4136088e13e825f33c9d0cc43ff9a8c8f749dcb0 |
9ed14a1ea432638992b614f9946bcbc9770f70b6f18ded5778fd6809a927eaeb |
none; SDL consumer |
| FBNeo | ca4222ca2cd52215a673c565a5eae3589b352ba2 |
824d6e5b6b61555f5ecc598204052dcb4b1cf16d28be29b9594a44866e726ef3 |
none |
| LakeSnes | a2db690123649c7ffbc68a663af31efb3a41bf3f |
253a08957a68461a8535a4727ee1242c21b2dc40c8eb8c99bdb85af799ac3ca6 |
none; links SDL2 |
| yquake2 | 9e233b6a601c393be4ff1dcb1c003750346b8bbb |
01ef41608b2be0ace119019901a6ea22f304542972bace714d1177cb7f567978 |
none; SDL consumer |
| pacbrew-repo | c2abcfcb60f569128abd0e8e70ad03a67bee5ea7 |
17be50219ce41772cfc50ea9274b0a62a2259162556b6eeecfaed4a691822872 |
references the same SDL fork |
The separate public PS5Dev/PS5SDK
tree at a2e03a2a0231a3a3397fa6cd087a01ca6d04f273 has no VideoOut source or
header. It cannot corroborate the current PS5 declarations.
PS4 analogue boundary
OpenOrbis PS4 source at
0a1aaf9dd4a92695538bdeb09fb056d06dd11725
declares the historical four-argument sceVideoOutSubmitFlip and documents
flip mode 1 as VSYNC. This is useful lineage evidence, but it is PS4 Orbis
evidence. It does not define PS5's RegisterBuffers2, SetBufferAttribute2,
descriptor layouts, ownership rules or firmware-9.60 return behavior. It is
classified PS4_ANALOG_ONLY and cannot authorize a PS5 parameter change.
The six source archives total 28,169,547 bytes. They remain outside the repository in the dedicated temporary research directory because the local command policy rejected cleanup. Nothing from that directory is tracked or used by tests.
Evidence matrix
| Contract | PS5 evidence | Independent PS5 corroboration | Decision |
|---|---|---|---|
| submit has four arguments | SDL lineage | none | PARTIAL_SINGLE_LINEAGE |
| argument positions | SDL lineage | none | PARTIAL_SINGLE_LINEAGE |
mode 1 means VSYNC |
SDL use; PS4 analogue | none | UNPROVEN_ON_PS5 |
| first frame/index zero is valid | SDL use | none | UNPROVEN_ON_PS5 |
32-byte PS5_VideoBuf layout |
SDL junk0 record |
none | UNPROVEN |
80-byte PS5_VideoAttr layout |
SDL junk0 record |
none | UNPROVEN |
0x8000000022000000 semantics |
SDL literal | none | UNPROVEN |
RegisterBuffers2 return semantics |
O observed zero | no public definition | PARTIAL_RUNTIME_ONLY |
| submit error/return semantics | O observed -1, errno 0 |
none | UNPROVEN |
| flip-master/active-app requirement | SDK export name only | none | UNPROVEN |
| status-query signatures/layouts | no PS5 declarations | none | UNPROVEN |
Decision
The bounded public inventory does not supply an independent, acceptable PS5
VideoOut ABI and runtime-state contract. The exact submit failure remains
source-bound, but its root cause is unresolved. Changing the index, mode,
frame ID, buffer attributes or ownership state would still be an experiment
based on guessed semantics. Calling sceVideoOutSetFlipMaster or a status
query would additionally guess a signature and output layout.
Classification:
PUBLIC_VIDEOOUT_EVIDENCE_INSUFFICIENT_PARAMETER_CHANGE_BLOCKED.
No Phase-1.0R target artifact or device run may begin from this evidence. A safe continuation must either obtain a new acceptable public PS5 contract or audit, offline, whether the known SDL users run under a different launch/app context than the raw elfldr payload. Host/software-only integration can continue independently.