Skip to content
PS5PCEM
WorkingGraphics

VideoOut

VideoOut registers the guest's display buffers and completes a flip only after the presentation callback has accepted the frame. The host window is a Vulkan swapchain at 1080p SDR.

Repository notes through October 10, 2026

Registration and flips

VideoOut keeps up to sixteen registered display allocations and four attribute groups. It publishes the contiguous sixteen-label record the driver ABI uses. Register, change and unregister are validated. A blank flip of buffer -1, which titles use during startup, is accepted.

CPU flips and end-of-pipe flips go through the live command-buffer backend. A normal flip becomes complete only after the presentation callback accepts the frame. Completion is delivered on the VideoOut event queue with the caller's user data. The queue filter is the same user-edge event implementation the kernel uses, and the registration's identifier is preserved.

What the host presents

The game window is a Vulkan swapchain. VideoOut reports 1080p SDR. 120 Hz is reported unavailable. The default game preference asks for performance mode. Internal resolution stays under the title's control: a game that renders at 4K still allocates 4K targets, and the swapchain presents the scanout the title registered.

SetFlip resolves the VideoOut slot and the buffer index, selects the cached target with the matching guest address, and publishes the frame. The flip rate can be shown in the window title. The launcher stores that preference, and a command-line run can set PS5_SHOW_FPS=1.

Movies and the scanout

Intro movies do not bypass VideoOut. AvPlayer decodes into title-owned buffers, and the title's own shaders or a registered scanout present them. Asterix keeps the guest's negative-height viewport as the scanout orientation, so the composite is not flipped upside down on the way out.

A missing Vulkan loader, a missing presentation device or a missing window is reported, and the title continues on the headless path. Headless is for diagnostics. It is not a second, faster renderer.

What is implemented

  • Up to sixteen display buffers, four attribute groups, and the sixteen-label ABI.
  • Flips that complete only after the presentation callback accepts the frame.
  • A Vulkan swapchain reporting 1080p SDR, with 120 Hz left unavailable.
  • Performance-mode preference by default, and an optional flip-rate title.

What is still missing

  • 120 Hz and a host HDR swapchain are not offered.
  • Internal resolution is whatever the title allocates.
  • Without a presentation device the process stays headless.

Related mechanisms

What these pages are

The text follows the architecture notes and the October 2026 reports in the PS5PCEM repository. A focused test passing is not a new frame rate and not a new playthrough.

All technologies