$linuxjunkies
>

Wayland surface

also: wl_surface

A Wayland surface is a rectangular region of the screen managed by the Wayland compositor that represents a drawable area for a client application. Each window or layer you see on a Wayland desktop corresponds to one or more surfaces.

In the Wayland display server architecture, a surface is the fundamental rendering primitive. Unlike X11 where windows are hierarchical objects, Wayland surfaces are simple rectangular areas that the compositor controls and displays. Applications request surfaces from the compositor, render content into them (usually via OpenGL or other graphics APIs), and the compositor combines all surfaces into the final screen image.

Each Wayland surface has properties like position, size, opacity, and z-order (stacking order). A typical application window is represented by one main surface, while complex UIs might use multiple surfaces for popups, tooltips, or hardware acceleration. The compositor is responsible for efficiently compositing all surfaces together.

Example: When you open a terminal window in a Wayland desktop like GNOME Wayland or KDE Wayland, the compositor creates a surface for that window. The terminal application renders text into this surface, and the compositor displays it alongside surfaces from other applications and the desktop background.

Related terms