Files
chimera-gfx-Public/docs/phase1/VIDEOOUT_CLEAR_EXPERIMENT.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

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:

  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.