Wayland Overview

May 26, 2026

Wayland is a protocol that defines how client applications can communicate with a display server, and is a modern alternative to X11's ancient design. It's had a relatively slow adoption, and that has resulted in quite a few compatibility issues and headaches for a lot of Linux users. Despite the issues, it's still the best modern-day option, so today we'll be putting in some groundwork for supporting Wayland inside Breezy.

What's included?

Today, we set up the Wayland socket to receive client connections, configure a few hotkeys to launch and terminate clients, and then try to connect a test client to our server. While it technically does establish the connection, it's only for a very brief moment before it falls victim to some very predictable sadness.

Determined to get something to hold a connection, we try a few other ideas, and eventually land on something that results in some colorful rectangles.

Related Links

Here's the PR for these changes: Github PR #4

The "Wayland Overview" notes page goes into a lot more of the Wayland protocol details if you're interested!

I'd also used some OpenGL in this video, so you might find the "OpenGL Overview" page interesting as well.