Expand description
Wayland Compositor
Implements the Wayland display protocol for VeridianOS.
§Wayland Overview
Wayland is a modern replacement for X11, designed for:
- Direct rendering: Clients draw directly to surfaces
- Asynchronous updates: No blocking on server
- Security: No global coordinate space, isolated clients
- Efficiency: Minimal data copies, GPU acceleration
§Core Concepts
- Display: Connection to compositor
- Surface: Renderable area
- Buffer: Pixel data attached to surface
- Compositor: Window manager
- Shell: Desktop interface (xdg-shell)
Protocol types and dispatch infrastructure retained for completeness.
Modules§
- buffer
- Wayland Buffer and SHM Pool Management
- compositor
- Wayland Compositor
- dmabuf
- DMA-BUF Protocol (zwp_linux_dmabuf_v1)
- idle_
inhibit - Idle Inhibit Protocol (zwp_idle_inhibit_manager_v1)
- layer_
shell - Layer Shell Protocol (zwlr_layer_shell_v1)
- output
- Wayland Output Management (wl_output v4)
- protocol
- Wayland Wire Protocol Parser/Serializer
- shell
- XDG Shell Protocol
- surface
- Wayland Surface
Structs§
- Wayland
Client - Wayland client connection
- Wayland
Display - Wayland display server
Functions§
- commit_
surface - Commit a surface (present the attached buffer).
- connect_
client - Connect a new Wayland client. Returns client ID.
- create_
shm_ pool - Create a shared memory pool for Wayland buffers.
- create_
surface - Create a Wayland surface.
- disconnect_
client - Disconnect a Wayland client.
- get_
client_ events - Get pending input events for a client’s windows.
- handle_
client_ message - Handle a raw protocol message from a client.
- init
- Initialize Wayland compositor
- read_
client_ events - Read pending events for a client into a user buffer.
- with_
display - Execute a function with the Wayland display
Type Aliases§
- Object
Id - Wayland object ID