# Phase 1.0A PacBrew and PS5 SDL analysis ## Identities | Source | Identity | | --- | --- | | PacBrew repository | `c2abcfcb60f569128abd0e8e70ad03a67bee5ea7` | | PS5 SDL fork | `0baf4ac49382b537ba449901b5b6d0d189bb1fbb` | | SDL reported revision | `SDL-2.30.12-g0baf4ac4` | | SDL license | Zlib | The PacBrew SDL2 recipe builds the PS5 fork and enables OpenGL and LOADSO. Those two options are intentionally disabled here. PacBrew recipes were also reviewed for SDL2_image, SDL2_mixer, SDL2_ttf, freetype, zlib, libpng, OpenAL, elfldr and representative emulator ports. None is needed by the two Phase 1.0A binaries beyond SDL2 itself. ## Native backend inventory | Area | PS5 SDL implementation | APIs/dependencies | Phase 1.0A use | | --- | --- | --- | --- | | Video | Software surface, tiled direct-memory buffers, double buffer, VideoOut flip/equeue | `SceVideoOut`, kernel equeue/direct memory, user/system service | Enabled | | Render | SDL software renderer targeting the window framebuffer | SDL core software renderer | Enabled | | Input | Up to four PS5 Pad users, buttons, axes, connect/disconnect polling | `ScePad`, `SceUserService` | Enabled for one controller | | Audio | 48 kHz, mono/stereo, S16 or F32, bounded 256-2048 sample buffers | `SceAudioOut` | Enabled, RetroArch requests stereo | | Keyboard/IME | PS5 keyboard and IME dialog | `SceKeyboard`, `SceImeDialog` | Removed by reviewed overlay | | Filesystem | PS5 implementation exists | user service/filesystem | Disabled | | OpenGL/OSMesa | Optional source exists | Mesa/OSMesa | Disabled | | LoadSO | Optional | dynamic loader | Disabled | ## Reviewed overlay The fork carries only a patch, not SDL source. The patch: - removes keyboard/IME initialization and event pumping; - replaces twelve freshly created worker threads per frame with a checked single-thread tile copy; - rejects non-positive or non-tile-aligned framebuffer dimensions; - passes a 100,000 microsecond timeout to `sceKernelWaitEqueue`; - propagates copy and timeout errors to SDL. SDL is configured with video, render, events, joystick, threads, timers and audio on; filesystem, file, loadso, OpenGL, Vulkan, haptic, sensor, locale, misc, libsamplerate, disk audio and dummy audio are off. ## Classification `PS5_SDL_PARTIAL_CANDIDATE` The source contains real PS5 video, controller and audio backends and the software RetroArch profile links them. It is not `FULL` because firmware-9.60 runtime behaviour, VideoOut ownership, error cleanup, disconnect recovery, audio underrun/overrun reporting, exact flip timeout semantics and shutdown after partial initialization have not been verified on hardware. Static build and host audits are not runtime evidence.