IT lexicon › Infra & Ops › DRI3

DRI3

Infra & Ops På svenska → Updated: 2026-10-11

Keith Packard's 2013 simplification: the client allocates its own graphics buffers and passes them to the X server as file descriptors.

DRI2 had the server own the buffers and the client ask for them, which meant round trips and global names other programs could guess. DRI3, which arrived with X server 1.15 in December 2013, flipped the responsibility. Mesa allocates buffers itself through the kernel's DRM and sends them over the X connection's Unix socket as DMA-BUF file descriptors. Without the descriptor there is no way into the buffer, and on resize the client has nobody to ask.

DRI3 only handles the handover. Getting the image on screen is the job of the Present extension, written alongside it, which decides when a buffer is swapped in and keeps that in step with vertical sync. In practice it is the same model Wayland uses, and that is no coincidence: by the time DRI3 landed, the X developers already knew where they were heading.

← Back to the lexicon