Programming Wayland Clients

Version 0.03, 16 July, 2017

Jan Newmarch ,

Adjunct Professor, University of Canberra
Adjunct Lecturer, School of Computing and Mathematics Charles Sturt University

This project hasn't been updated since mid-2017. Wayland has moved on since then, so the information here may be out of date, and there is no guarantee the programs still work. You are recommended to look at The Wayland Protocol for more up-todate information, or at A better way to read Wayland documentation


  1. Introduction (last modified v0.1)
  2. The X Window System (last modified v0.1)
  3. Architecture (last modified v0.1)
  4. Direct Rendering Manager (last modified v0.1)
  5. Running Wayland (last modified v0.1)
  6. Programming a Wayland client (last modified v0.1)
  7. Shared Memory (last modified v0.2)
  8. When Can I Draw? (last modified v0.2)
  9. EGL (last modified v0.1)
  10. Input mechanisms (last modified v0.1)
  11. OpenGL (last modified v0.1)
    • Resources
  12. Cairo (last modified v0.3)
  13. GTK (last modified v0.3)
  14. Qt (last modified v0.3)
  15. SDL (last modified v0.3)


I have used the following in these pages

Copyright © Jan Newmarch,

If you like this book, please contribute using Flattr
or donate using PayPal