Why YOU should write a Wayland compositor – Victoria Brekenfeld – HiP22 Berlin

boredsquirrel@slrpnk.net to Linux@lemmy.ml – 102 points –
Why YOU should write a Wayland compositor – Victoria Brekenfeld – HiP22 Berlin
youtube.com

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!”

15

You are viewing a single comment

Why YOU should write a Wayland compositor

I don't really know how to do that

Hahaha I also dont think we need more of them. But improving the already existing ones for sure is good!

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)

There's also Strata, Niri, and to some extent Cosmic. My problem has been that they tend to be very opinionated and limited in the customization of the layouts. Having used XMonad for a long time, I may be a bit spoiled in that regard...

I do think there's a middle ground for configuration without requiring programming skills, which can be off-putting for many users. After all, most layouts are just a combination of rows and columns. 😛

River is great for layouts. My main issue is that some of ghese projects need furthed stability and others are still adding features, changing and breaking configs, which could make for a painful experience because of version mismatch between distros, for people like me, who constantly hop between a few distros and can't settle on either of them because none are perfect.

Yeah, lack of XWayland support has been an issue for me. Versioning the config API is something I've been considering, or at least ensuring backwards compatibility.

I'd be interested in other ideas or pain points you've experienced. Not to suggest I'll ever have something production-grade, but my hope is to get to a point that I have a working daily driver and potentially share it with others.

I don't really know how to do that

  • Install rust
  • Create a directory somewhere
  • Change to that directory
  • Run: cargo init
  • Open a text editor and do stuff in there
  • Save the file(s)
  • Run cargo build
  • Run the executable

Hope it helps!