Hands On Projects For The Linux Graphics Subsystem Jun 2026

Compiled SPIR-V or GLSL shader code executing on the GPU compute units.

dev = drm_dev_alloc(driver, &pdev->dev); if (!dev) return NULL; Hands On Projects For The Linux Graphics Subsystem

A "dumb buffer" is a memory buffer allocated via the DRM driver that can be memory-mapped into user space for simple CPU-bound drawing. Compiled SPIR-V or GLSL shader code executing on

Wayland compositors are the future of Linux display servers. This project demystifies how windows are managed, rendered, and input is handled. This project demystifies how windows are managed, rendered,

| Tool | Purpose | |------|---------| | drm_info | Dump every KMS object, connector, and CRTC | | intel_gpu_top (or radeontop ) | Real-time GPU utilization and memory | | WAYLAND_DEBUG=1 | Trace every Wayland protocol message | | strace -e ioctl -p $(pidof gnome-shell) | See DRM ioctls in action | | cat /sys/kernel/debug/dri/0/amdgpu_gem_info | List all GEM objects (AMD) |

edid-decode , cat , /sys/class/drm/

drm_device_set_name(dev, "DRM Device");