Programming Wayland Clients
Version 0.03, 16 July, 2017
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
Contents
-
Introduction (last modified v0.1)
-
The X Window System (last modified v0.1)
- Resources
- X Window Architecture
- X Window managers
- Compositing X window managers
- Render extension
- Font rendering
- Changes
-
Architecture (last modified v0.1)
-
Direct Rendering Manager (last modified v0.1)
-
Running Wayland (last modified v0.1)
- Resources
- Weston under X
- Wayland in a standalone environment
- Virtual terminals
- Virtual terminals and X
- Running a Wayland compositor in a virtual terminal
- What runs under Wayland?
- XWayland
-
Programming a Wayland client (last modified v0.1)
- Resources
- Introduction
- Connecting to a server
- Server information
- Creating a surface
- Creating a shell surface
- What's next?
-
Shared Memory (last modified v0.2)
- Resources
- Shared memory
- Creating a shared memory buffer
- Writing to shared memory
- Rendering the data
-
When Can I Draw? (last modified v0.2)
- Resources
- Frame listener
- How much should I draw?
-
EGL (last modified v0.1)
- Resources
- Overview
- Initialising EGL
- Creating an EGL drawing surface
- Adding an opaque region
- Final code
- List of Wayland EGL calls
-
Input mechanisms (last modified v0.1)
- Resources
- Seat devices
- Pointer device
- Moving the window
- Changing the cursor
- Keyboards
-
Cairo (last modified v0.3)
- Resources
- Introduction
- Cairo basics
- Creating a Cairo device for an EGL display
- Creating a Cairo surface for an EGL surface
- Drawing to the Cairo surface
- Rendering the Cairo surface to Wayland
- Complete example
- Other relevant calls
-
GTK (last modified v0.3)
- Resources
- Installing
- A simple GTK application
- GTK backends
- Running under X or under Wayland?
- List of GDK Wayland calls
-
Qt (last modified v0.3)
- Resources
- Installing
- A simple Qt 5 application
- Running under X or Wayland
- Getting a Wayland surface
- Conclusion
-
SDL (last modified v0.3)
- Resources
- Installing
- A simple SDL application
- Running under X or Wayland
- Getting a wayland surface
- Conclusion
Acknowledgements
I have used the following in these pages
Copyright © Jan Newmarch, jan@newmarch.name
If you like this book, please contribute using Flattr
or donate using PayPal
CHANGES
- Version 0.02
-
Added chapter on shared memory
-
Added chapter on when drawing can be done