I don't get it (Wayland)

So… I understand X11 is old, so is everything Unix-like, it is a non-argument.
As a user, I’ve never had an issue or felt limited by X11.

I have read Wayland’s official “raison d’etre”, I will put it at the bottom, but it makes no sense to me. If anything, it tells me exactly the opposite (we should keep going with X).

Can anyone tell me a good, logical and user-centric reason to use Wayland? Or even dev wise?

Wayland’s reason to exist:

Why not extend the X server?

Because for the first time we have a realistic chance of not having to do that. It’s entirely possible to incorporate the buffer exchange and update models that Wayland is built on into X. However, we have an option here of pushing X out of the hotpath between clients and the hardware and making it a compatibility option. What’s different now is that a lot of infrastructure has moved from the X server into the kernel (memory management, command scheduling, mode setting) or libraries (cairo, pixman, freetype, fontconfig, pango, etc) and there is very little left that has to happen in a central server process.

What is wrong with X?

The problem with X is that… it’s X. When you’re an X server there’s a tremendous amount of functionality that you must support to claim to speak the X protocol, yet nobody will ever use this. For example, core fonts; this is the original font model that was how your got text on the screen for the many first years of X11. This includes code tables, glyph rasterization and caching, XLFDs (seriously, XLFDs!). Also, the entire core rendering API that lets you draw stippled lines, polygons, wide arcs and many more state-of-the-1980s style graphics primitives. For many things we’ve been able to keep the X.org server modern by adding extensions such as XRandR, XRender and COMPOSITE and to some extent phase out less useful extensions. But we can’t ever get rid of the core rendering API and much other complexity that is rarely used in a modern desktop. With Wayland we can move the X server and all its legacy technology to an optional code path.

A flame war will probably ensue because people really want eye candy…

Is there a good, logical, and user-centric reason to use Wayland? Not in any meaningful way. There are some Window Managers and Desktop Environments that can use it and some that you must use it. Similar to SystemD and PipeWire, they do too much and assume too many things about what a user would need based on making the experience more “out of the box.” So, essentially an interactive TV. The reason for these things to “do one thing, and do it well,” goes out the window when a company has decided to make something and they spend countless millions of dollars permeating it into every other distribution whether it works there or not. This forces well-established distributions to hold back versions to those that work while sacrificing potential features. Many often backport some fixes into the older version specifically because the newer versions are not even close to stable.

Is there a good, logical, dev-centric reason to use Wayland? Maybe if everyone was moving in the same direction. AMD and nvidia are slow to adopt it because there are 15 years of broken promises which have led to both making their own libraries to solve the problems their hardware faces. You need to be tied into their hardware ecosystem to take advantage of a lot of it. I don’t think intel is going to optimize for it. They will probably hang a carrot from a stick over IBM’s head to get them to prod RedHat via more tax break donations.

1 Like

Wayland is not ready yet. Progress is being made, but it is not ready for everyone. For some, it is usable. For some, it is not.

The main problem with X11 is that it was designed to connect local dumb terminals to a mainframe. It was not designed to connect displays across networks securely. We need something designed from the ground up to be secure. This is what Wayland is designed to do, but it is a big job.

If Wayland works for you, use it and be happy. If it doesn’t, use X11 and be happy.

By the way, I am running X11 and I am happy. :smiley:

4 Likes

I like eye-candy. Wayland is prettier and smoother visually. I don’t understand anything about the underlying mechanics or development processes. I use wayland because one distro I used in the past defaulted to wayland.

2 Likes

Im just the opposite, I dont care for eye-candy at all. I used foobar my whole life till I came home.

I was really disappointed when Windows gave up the usability and intuitiveness of 98SE and XP for the more polished things that came after. I associate eye-candy with bloat and telemetry and bad code.

I dont know much about wayland besides people having lots of problems with it and a questionable guy running the development. Im kinda lucky that I dont have any preconceived notions of what Linux “should be”. I came here and just ran what OM gave me and it just worked. It seems that people who think it has to be this way or that way are the ones having problems.

5 Likes

One of the biggest things Wayland handles better in my case is multiple monitors with different framerates. In my case I have 4 monitors on my desktop, 2 at 144hz and 2 at 60hz.

Never could get it working properly fully with X, but my use case is non standard I guess?

Another benefit of “starting over” with a new standards I guess is to build in properly things that were not common etc when X was designed, RDP/Remote desktop in the Windows style etc.

2 Likes

I remember reading what you told me now.
I do realize it was made for the Terminals to Mainframe old ways, which of course, makes no sense now for most uses, but it works, still works, has worked fine and works well even today, so saying that is very similar to the first thing I mentioned was not a really good point. Yes, it is old, and that’s fine.

Now, I don’t understand, why or how X is unsafe. Any examples?

1 Like

You can actually see a visual difference? Can you give me examples for me to compare?

1 Like

I don’t remember having issues with X for such thing, but maybe I am wrong. It has been a while.

But my point is never not to improve X, this is exactly what I am arguing for.
Why make Wayland instead of keep improving X?

Having both means one will always miss things the other one has. Instead of having one that does all things everyone needs.
So X has things “no one needs anymore”? Good.
I mean the Linux kernel has official support for the N64. Do we all need that? No.
Just like Linux, the kernel, we need more untouchable pieces for this puzzle.
Distros are great, we can have a few thousand if we want, but there should be unmovable core pieces that just work for everyone (again, like… Linux).

1 Like

In my case it’s just NVIDIA having shitty X support (that is lag spikes, laggy resizing, slow downs from elevated CPU usage, tearing in fullscreen apps). NVIDIA has their own userland drivers and tools instead of being part of Mesa like everyone else so there’s a big difference between Xorg experience on NVIDIA vs AMD, intel
Plasma even had to put this up in edit mode lol
image
Other than that, not much to say myself but from what the developers talk about, huge amount of legacy baggage that is hard to maintain and not to break with major changes, which (I guess?) makes introducing stuff like HDR, proper multi-monitor support (with varying scaling and refresh rate settings) non-trivial.

While I prefer to use Wayland because it’s way smoother and nicer, I wish that wasn’t the way to go, I kinda despise some of their development choices those being

  • Self-imposed ideological or straight up paranoid reasoning as to not implement something potentially useful for everyone and more in-line with how it works in Windows and macOS (absolute window positioning is a horrifying sin that WILL get exploited by imaginary bad actors so we can’t have multi-window programs, same for window icons they are totally dangerous according to a few wayland devs!), the ol good “what is the use case”
  • The insane bike-shedding that can take place in discussions of protocols the core devs aren’t particularly enthusiastic about
  • The optional nature of several wayland protocols and their vagueness (even those that would be considered fundamental, e.g. xdg namespace) which enables compositor devs to do whatever they want (in a bad way), making it currently impossible for software devs to rely on baseline wayland compositor behavior. GNOME mutter does not implement xdg-decoration, so you don’t get server-side window title bar/decoration on GNOME, because of which software devs and app toolkits have to go out of their way bundling third party libraries like libdecor or implementing specific behavior like the fugly Qt fallback title bar. COSMIC implements xdg-decoration with preference to client-side while KDE leans towards server-provided decoration, it’s a mess because it’s not only about the title bars but also general window behavior. protocol implementation generally varies in quality… Server-side cursors protocol that could’ve finally resolved the mess that are Xcursors (ever had a cursor suddenly enlarge or change looks when you hover over a GTK window?) is still not implemented by GNOME and GTK (!). All the ext- protocols that devs can’t reliably make use of because they are present in some compositors but not in others
  • Little to no work on some basic elements of desktop for years. Global shortcuts (action binder) are still not quite there yet, the global shortcut portal seems to be the encouraged solution but it doesn’t seem universally liked and idk how feature complete that is (in fact there’s a program called GPU screen recorder that resorts to bypassing wayland via having a root process running in the background for global shortcuts to work sanely, like you’d expect on Windows or X11). Also picture-in-picture still doesn’t work, this has been a notable issue for me personally

Basically I just wish the governance acted less like they know better, there needs to be wider consensus regarding stuff like this
The fact that there’s backing by Red Hat and (I think?) Canonical doesn’t help. If only the Arcan display server got traction instead lol, I feel the developer has a way more down-to-earth outlook on things developer and user side
Also while there also was a slew of different X servers back in the 90’s like it is right now with wayland compositors, and none of them were great right from the start, I don’t really feel if it’s fair to compare the circumstances

2 Likes

The only thing I regret is that a distro like OM, which focuses on modernity and Plasma, doesn’t take enough care of its version with wayland, which will be the future.
It has many bugs that other distros don’t have or that OM didn’t have in previous releases.
I continue to use OM + wayland.

2 Likes

We are a small distro with a small team and there are only 24 hours in a day.

3 Likes

On my PC I notice that moving windows aroound is really smooth on wayland, but lags behind my cursor on X11 and is stuttery. X11 rearranges my desktop widgets and puts them on different monitors sometimes, but this never happens on wayland. On X11 when a program opens a separate dialogue box it will sometimes open on a different monitor, while I have never seen that on wayland.

1 Like

I think part of this is like OMV said, there is a ton of legacy baggage, on top of backwards compatibility issues that can’t be solved without a massive redesign of parts of the project. I have heard devs complain in the past that the codebase is super bloated and a pain to work with…

I would guess that if they felt they could of easily fixed these issues they would of, but instead decided to throw in the towel and start fresh with a system that they could design from the ground up to work the way they need it to for modern systems.

3 Likes

Just how small is the team?

Let’s just say it’s a handful. On the other hand, there are some distros that are done by one person, but they don’t have a point release, a rolling release, spins and pretty much look like any other distro with a bit of a custom theme applied.

Speaking of spins, thanks to one of our new devs, we are building an i3 ISO right now and it will have to be added to the Spins page.

1 Like

x+1 if you join :grin:

2 Likes

Well, if I were to join, it probably would be more like x minus 1. I don’t know how to do anything.

2 Likes

That’s a good enough answer for me. I’m leery about one horse shows, once the one horse gets bored or tired, the whole thing dies. On the other hand, large community distros might have too many voices. So, a handful might be about right. I would imagine that, like you said, only so many hours in a day, it helps keep the team focused on fewer goals and not try to be too much to too many. Anyway, I like it and are happy with what the team has done. Keep up the good work.

4 Likes