2.5 KiB
Minimal VideoOut clear-frame experiment
Goal and non-goals
Display exactly one fixed 1920x1080 solid frame through the existing pinned
PS5 SDL2 CPU-framebuffer backend, hold it for one second, and cleanly release
SDL. This experiment does not use libchimera-gfx hardware contexts, GNM,
shaders, command buffers, compute, custom tiling code, input, audio, OpenGL,
OSMesa, or a render loop.
Application sequence
Project code performs the following calls only after exact compile-time and runtime firmware identifiers match and the literal acknowledgement is present:
SDL_SetMainReadySDL_Init(SDL_INIT_VIDEO)SDL_CreateWindowSDL_GetWindowSurfaceSDL_MapRGBASDL_FillRectSDL_UpdateWindowSurfaceexactly onceSDL_Delay(1000)SDL_DestroyWindowSDL_Quit
The fixed color is RGBA (0x18, 0x2a, 0x41, 0xff). Logs contain stage names
and booleans only.
Indirect pinned-SDL behavior
At commit 0baf4ac49382b537ba449901b5b6d0d189bb1fbb, the reviewed PS5 video
backend indirectly uses these public export names:
- initialization:
sceSystemServiceHideSplashScreen,sceVideoOutOpen,sceKernelAllocateMainDirectMemory,sceKernelMapDirectMemory,sceKernelCreateEqueue,sceVideoOutAddFlipEvent,sceVideoOutSetFlipRate,sceVideoOutSetBufferAttribute2, andsceVideoOutRegisterBuffers2; - single present:
sceVideoOutSubmitFlipandsceKernelWaitEqueue; - cleanup:
sceVideoOutDeleteFlipEvent,sceVideoOutClose,sceKernelReleaseDirectMemory, andsceKernelDeleteEqueue.
These are indirect implementation observations, not independently proven
chimera-gfx ABI declarations. The overlay removes keyboard and IME setup.
Build boundary
tools/build-phase1-videoout.sh verifies both upstream commits, stages the
reviewed SDL overlay, disables SDL2main plus unrelated SDL subsystems, and
cross-compiles the probe and candidate. It then statically requires the exact
15-name Sce import inventory above and zero GNM, keyboard, IME, or UserService
imports. It contains no upload, run, host, port, or boot command. The default
firmware identifier is NONE.
Known blocker
The pinned SDL backend waits inside sceKernelWaitEqueue with no publicly
proven bounded timeout in this call path. Project code cannot safely cancel
that wait. The artifact is suitable for offline inspection, but not yet for
hardware authorization until HARDWARE_TEST_PLAN.md records an accepted
supervisor/recovery mechanism and an exact firmware.