# 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: 1. `SDL_SetMainReady` 2. `SDL_Init(SDL_INIT_VIDEO)` 3. `SDL_CreateWindow` 4. `SDL_GetWindowSurface` 5. `SDL_MapRGBA` 6. `SDL_FillRect` 7. `SDL_UpdateWindowSurface` exactly once 8. `SDL_Delay(1000)` 9. `SDL_DestroyWindow` 10. `SDL_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`, and `sceVideoOutRegisterBuffers2`; - single present: `sceVideoOutSubmitFlip` and `sceKernelWaitEqueue`; - cleanup: `sceVideoOutDeleteFlipEvent`, `sceVideoOutClose`, `sceKernelReleaseDirectMemory`, and `sceKernelDeleteEqueue`. 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.