Why YOU should write a Wayland compositor – Victoria Brekenfeld – HiP22 Berlin
Victoria Brekenfeld:
“Hi! My name is Victoria and I have worked on a Wayland compositor library called "smithay" for the past 5 years.
Right now I am working for system76 on their new desktop environment, I am member of wayland-protocols and have been contributing to the wider ecosystem. So if you even wanted to learn about the wayland ecosystem and linux desktops, I can and will try to do my best to explain. Even better, I want to give you a reason to use this technology for your projects!
The Talk is roughly divided into two parts: First off the background, to get everybody on the same page - What exactly is wayland? - How is it different from X11 in the most important ways? - Technical details! Or how a modern linux desktop is build! - We'll be talking about the "Direct Rendering Manager", "EGL", "libinput", "Client-side-decorations?", "nvidia?!", "WSL?!?" You name it! - THE Showcase! Hopefully you'll understand a lot about the stack now, but you have no idea what to use it for or feel like nothing of it is relevant for you work? Don't be deceived, people use wayland in embedded and automotive applications, for automated testing and continuous integration, for virtualization, XR Applications, Game streaming, Remote Computing, ...!
Let me show you, what weird things did people build with it and let's unlock more of its potential together!”
We DEFINITELY need more of them. There's Hyprland, Qtile, River, DWL and Sway on the tiling side. There is no real alternative to BSPWM (though river uses a similar config style) or to HerbsluftWM (though I don't know anyone that uses it, but still), or an alternative to AwesomeWM, or XMonad (though the XMonad devs are willing to pay someone to work on porting XMonad to Wayland)
I actually started working on one a few weeks ago. It's amazing how easy it was to get the basics working. Still a long way to go, but it's a fun project in the meantime and hopefully can result in something that supports my desired flow.
Respectfully, I will just leave it to those who know how it works and are generally better at coding. My result would anyway be subpar, unstable and inefficient.
Getting to a few fully working Wayland compositors has been a long and painful journey. Once we get there though, I am pretty excited to see the innovation it enables.
The talk mentions that there was effectively only one implementation of X due to the complexity. There are already quite a few independent implementations of Wayland. That still kind of sucks for the moment but at some point it is going to be awesome.