A deep technical exploration of the Linux graphics stack, starting from drawing a triangle with OpenGL and Vulkan, then progressively stripping away abstractions (GLFW, Vulkan's Wayland extension) to trace exactly how rendered frames travel from an application to the Wayland compositor. Covers Mesa3D internals, DRM/KMS, GPU rings, DMA fences, sync objects, sync files, implicit vs explicit synchronisation, and kernel-level tracing with bpftrace. Includes detailed Wayland protocol message logs and amdgpu kernel driver internals, ultimately building toward understanding real-world GPU errors like fence timeouts and scheduler failures.

38m read timeFrom roscidus.com
Post cover image
Table of contents
IntroductionOverviewOpenGLVulkanSynchronisationFirst attempt at tracingRemoving GLFWRemoving Vulkan's Wayland extensionWayland walk-throughKernel details with bpftraceRe-examining the errorsConclusions
159 Impressions