This project hasn't been updated since mid-2017. Wairo so the information here may be out of date

Contents

Introduction (last modified v0.1) Resources

Introduction 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) Resources

Architecture Direct Rendering Manager (last modified v0.1) Resources

DRM

Example 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 OpenGL (last modified v0.1) Resources 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