Hello Waiku

If you've seen my Bluesky posts, you would've known about it already, but yes, I finally have some sort of functioning Wayland compositor in the works.

I've tried to get a compositor going before, but never really liked working with libwayland-server. However, someone made bindings for it in D that are a lot nicer to use!

You can see it functioning in the post below.

My rewrite is progressing well, getting close to the same functionality as the old one but with less duck tape holding it together. There's a WM internally in the compositor that the wayland protocol talk to and orchestrate with

[image or embed]

— Fooxoul (@fooxoul.tuyuji.com) January 23, 2026 at 1:25 AM

Design

Things are still being figured out, but the idea is to keep it semi-modular so it's easy to isolate parts of the compositor for unit testing.

Components communicate over a simple event-bus-like system, which is more or less just a delegate array with some helper functions.

Web debugger

I copied over the simple HTTP server from one of my other D projects. One thing that'll be interesting is the visualization tools I could create with this, something I wish I had access to when I was learning how Wayland works.

Sequence Diagram

Future

Once it's usable enough, I'll open source it under GPL 2.0.

If you want to see more up-to-date progress, check out the Discord server's news channel as I post more frequent updates there.