101
submitted 1 month ago* (last edited 1 month ago) by boredsquirrel@slrpnk.net to c/linux@lemmy.ml

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

top 15 comments
sorted by: hot top controversial new old
[-] kbal@fedia.io 43 points 1 month ago

The first concrete example mentioned (18 minutes in) seems to neatly sum up the difference in design philosophy.

X11: Four different keyboard input focus modes, where two would suffice.

Wayland: Only one input focus mode, where two would suffice.

[-] soulfirethewolf 23 points 1 month ago

Why YOU should write a Wayland compositor

I don't really know how to do that

[-] boredsquirrel@slrpnk.net 4 points 1 month ago

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

[-] theshatterstone54@feddit.uk 6 points 1 month ago

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)

[-] Xyre@lemmus.org 4 points 1 month ago

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. 😛

[-] theshatterstone54@feddit.uk 2 points 1 month ago

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.

[-] Xyre@lemmus.org 1 points 1 month ago

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.

[-] baru@lemmy.world 1 points 1 month ago

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!

[-] Xyre@lemmus.org 10 points 1 month ago

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.

[-] germanatlas@lemmy.blahaj.zone 3 points 1 month ago

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.

[-] PipedLinkBot@feddit.rocks 2 points 1 month ago

Here is an alternative Piped link(s):

https://piped.video/watch?v=FUif2GxwgBc

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source; check me out at GitHub.

[-] LeFantome@programming.dev 2 points 1 month ago

If you want to tweak something that works out of the box, maybe check-out Louvre:

https://github.com/CuarzoSoftware/Louvre

It is C++ which some will love and some will not.

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.

[-] boredsquirrel@slrpnk.net 1 points 1 month ago

Or cosmic-comp, based on her work on smithay, also fully working!

[-] Written2323@lemmy.ml 2 points 1 month ago

It can be useful to try to make one just to learn how it works

[-] john89@lemmy.ca -4 points 1 month ago
this post was submitted on 29 Apr 2024
101 points (92.4% liked)

Linux

44870 readers
1180 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS