this post was submitted on 18 Sep 2023
188 points (95.2% liked)
Linux
56339 readers
710 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
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 6 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The issue is that X was never a mature, feature-complete, stable project. It was always a hideous and bloated hodgepodge of disparate and barely working patches. The entire point of Wayland is to do exactly what you say tech should do: solve the particular problem (graphics server) well and cleanly, and limit itself to a definable set of features so it can actually reach that point of stability.
Looool. It was too stable, which means stagnation.
You mean bloated protocol or bloated implementation? Because kwin_wayland is pretty bloated.
Tying graphics server to audio server is very clean.
As I understand it, Wayland offloads a ton of stuff that was core to X11 (like input device handling) directly to the compositor. The end result is every compositor handling things differently. Compare something like i3 to Sway. Sway has to handle input, displays, keyboard layouts, etc directly in its config. If I switch to Hyprland I then have to learn Hyprland's configuration options for doing the same. Meanwhile, switching from i3 to dwm requires only setting up the WM to behave how I want - no setting up keyboards, mice, etc. It just feels clunky to work with Wayland compositors, frankly.
Also when something breaks in Wayland the fix is almost always hard to find or incredibly obscure because the fix isn't for Wayland- it's for the compositor. If your compositor isn't popular then good luck!
Can someone debunk this please? It feels like something is overlooked here
Not exactly. Imagine if xorg was also desktop environment with own compositor and effects. That's what wayland compositor is.
For 1., the big issue is that there constantly are appearing new standards in display technologies. Two semi-recent examples are HDR and VRR, both of which X11 struggles with, and implementing those into X11 has been said to be painful by its developers.
Stagnation here specifically does mean that nobody is making bug fixes or security patches anymore. Xorg is abandoned, kaput, a former software project.
The new architecture allows developers to fix one thing without accidentally breaking 3 others.
The problem is not the code per se, but that we can't add stuff anymore that doesn't somehow break the core protocol. The plain fact is that we've been tacking on things to X11 which it was never designed to do for decades and we reached a breaking point a while ago.
Stuff like multi-DPI setups are impossible to implement in X11's single-framebuffer model; security on X11 is non-existent, but we can't retroactively fit any kind of permissions on the protocol as that breaks X11 applications that (rightfully) assumed they could get a pixmap from the root window. There's so much more, just take look at https://www.youtube.com/watch?v=RIctzAQOe44
By all means, feel free to start working on it!
All the people who developed Xorg for 20+ years decided that creating and working on Wayland was a better use of their time. But I'm sure you know better...
The problem isn't that Xorg is spaghetti code (it's pretty good for a large C project, imho). The problem is that the X11 protocol was designed to expose the capabilities of 1980s display hardware.
You said that Xorg being abandoned is the problem. How should we interpret that, other than a criticism of the decision-making process of the devs?
Wayland will become a spaghetti too, unless you do "compositorhop" because one compositor is not complete and need to use another, idk if this would be a good idea