$linuxjunkies
>

direct scanout

also: scanout, direct presentation

A GPU optimization technique where a framebuffer is displayed directly by the display hardware without copying through intermediate buffers, reducing latency and improving performance.

Direct scanout bypasses the compositor and intermediate memory copies by having the GPU's display controller read framebuffer data directly from where it was rendered. This eliminates the overhead of copying pixel data between buffers.

In a typical desktop environment, the compositor (like GNOME Shell or KDE Plasma) combines all window buffers into a single framebuffer, then sends that to the display. Direct scanout skips this step when possible—for example, when a fullscreen application owns the entire display, its framebuffer can be scanned out directly.

Example: A fullscreen game can use direct scanout to present frames with minimal latency, whereas a windowed application must go through the compositor's buffer chain. This is why fullscreen games often feel more responsive than windowed ones.

Direct scanout requires support from both the GPU driver and display server (like Wayland), and works best with modern hardware that supports atomic KMS (Kernel Mode Setting) operations.

Related terms