The Macro View: A Panorama of the Modern Linux Graphics Stack

On a Linux system, drawing a triangle and displaying it on the screen requires passing through a long and precise pipeline. The modern Linux graphics stack can be broadly divided into two main parts: user space and kernel space.

User-Space Applications (Apps): Issue drawing commands via standard APIs like OpenGL and Vulkan.

Mesa3D (User Mode Driver): This is the user-space driver. For Intel, it primarily consists of iris (OpenGL) and anv (Vulkan). It is responsible for translating high-level APIs into machine code that the GPU can understand (Command Buffers).

DRM (Direct Rendering Manager): The kernel graphics subsystem framework. It provides a unified IOCTL interface for all graphics drivers.