Modern systems have come a long way from waking up every 16 milliseconds to peek and poke into a framebuffer which was directly displayed to the user. A single image frame may begin in a camera, be pushed through an image signal processor, be sent through several layers of web browser for processing and using the GPU to add funny hats, then be sent simultaneously to a media codec to send to your friends, as well as onwards through the window system to your display controller, possibly with colour correction, alpha blending, and more, along the way. These systems are every bit as complex as they are poorly understood. In this talk, Daniel will attempt to answer all the questions you never knew you had, such as: is GBM really the Generic Buffer Manager? What's wrong with fbdev? How do I even allocate buffers? Why won't Wayland give me 1000fps on glxgears? If GPUs are so very fast, why does everyone tell me I can't use them because they're slow? And what do these window system people even do all day, anyway? The talk is aimed at anyone who wishes they understood the complexity of modern display pipelines, plans for future development, and how to develop applications & products that use the full capability of modern hardware at maximum effectiveness.