Take an existing graphics application, such as a game or a graphics benchmark, and port it to Wayland. This project helps you understand the differences between X11 and Wayland and how to adapt applications to the new display server protocol.
// Assumes you have a connector and crtc_id found via drmModeGetResources uint32_t handle, pitch, size; struct drm_mode_create_dumb create = .height = mode->vdisplay, .width = mode->hdisplay, .bpp = 32, .flags = 0 ; drmIoctl(fd, DRM_IOCTL_MODE_CREATE_DUMB, &create); handle = create.handle; pitch = create.pitch; size = create.size; Hands On Projects For The Linux Graphics Subsystem
Before moving to high-level window managers, learn how to render a frame directly to a buffer that the DRM can display. Take an existing graphics application, such as a