The Trouble with Wayland

But never as a drop-in replacement.
Yes, Wayland is supposed to replace X as the display protocol, as that is what developers have been focusing on doing in the past couple of years as we move away from X. This does not however mean that Wayland was designed as a drop-in replacement. That would be more akin to something like Pipewire-Pulse, which is a drop-in replacement for Pulseaudio, just to give an example.

I don't think there would've been a way to keep 1:1 compatibility with X whilst also following Wayland design goals.

I was trying to go off of various things I've seen online, e.g the "Wayland breaks everything" post. The "evildoer" thing is not intended to come from your point. Sorry if that was not clear enough from my wording.

counter-question, did the X Windowing System have all of these extensions within the first 15 years? Barely. Infact, the RandR extension was not finished 14 years after X, as the historic paper going over RandR 0.91 mentions that, at the time of writing, the X Extension Framework had "served them well for the past 14 years".

https://static.usenix.org/publications/library/proceedings/usenix01/freenix01/gettys.html

Going off of the "last changed" date at the bottom, this was roughly in 2002, roughly 14 years after the X Windowing System was first envisioned

After some more digging, RandR 1.0 was apparently finished in 2002, on the 4th of October. You can see this when checking this commit and which lines it has removed.

This is an extension to X, with the equivalent on Wayland being literally the wlrandr extension. That was talked about in 2013 by Phoronix.

Some of the most common things that are complained about often have been fixed by the Wayland Contributors 11 years ago from now.[1]

Two things:

  1. GNOME Shell has had it's own Screen Casting interface, it only uses XSHM and XComposite directly as a fallback. This is evidenced by things like:
  2. Again, PipeWire.

Recording a traditional X11 desktop is easy with existing tools. Because every application can grab the window content of any window or monitor on the X11 server, screen sharing is rather simple to do. Many applications support this method like ffmpeg with the x11grab source or apps built with the Electron framework. The typical APIs for this are XShm and XComposite, which are only available on X11.

With wayland, this becomes more difficult from a developers point of view. The security architecture of wayland forbids unauthorized access to other windows. No capture API is provided by wayland itself.

Instead, applications must explicitly request the user to grant them access to a screen or window. This is done through xdg-desktop-portal, a D-Bus API that was originally invented for sandboxed Flatpak apps.

The actual window content is delivered through PipeWire in the form of a video stream. To access it, an application has to connect to this stream and negotiate a format with the stream source.

- Dafabhoid on Github

Before you say it, yes I know that says "No capture API is provided by wayland itself.", but does that matter to the end user if they can just select "Window Capture (Pipewire)" in OBS and call it a day?

How can something that did not exist to begin with break?
Do Windows Programs break on Linux because they aren't written to work on Linux?
What about macOS binaries? FreeBSD?

Are all of these inherent and often intended incompatibilities considered breakage?

No. The compositor is the desktop component that implements the Wayland Protocol and puts all of your Wayland clients into one usable output.
That makes sense given:

The compositor is in charge of combining the contents of multiple surfaces into one displayable output.

- Wayland protocol | Wayland Explorer


  1. that being the lack of an xrandr alternative, although wlrandr exists ↩︎

Does that make a difference, somehow?
You say "as we move away from X" in a way that implies that this is necessary. It's golden.
There must be demonstrable Progress in order to call it that.
Wayland is not new, not modern and it is not progress. It is just a different display protocol. It does not progress the GnuLinux desktop. It offers something different in certain ways, but also subtracts from the existing reliable and stable framework.
That is not how we define "progress".

I do not see how this relevant. It is there, now, in spite of those promoting Wayland as a Security Issue implying that it is not there.
Rehashing that it once wasn't makes no difference.

This is also applicable to the "Xorg is old" argument. It does not matter how old it is. It does not matter when it was very first conceptualized.
All that matters is Todays Maintenance of the project. We are using many different projects under that hood that are older than 40 years... Yet no one mentions all that because they are not pushing for an agenda to introduce something else. It's not a problem, until someone wants to claim that it is to get something else.

Your response does not actually address the missing features I pointed out above. It implies that they are fixed - But they are not and most importantly - cannot be fixed. How Wayland works and how it is structured is the very reason why Wayland could not include the discussed features. Otherwise, it would have offered them from the beginning.

This is a Red Herring and in no way does it show that Gnome-Screenshot was incompatible with Wayland, requiring the Gnome Shell integrated tool as part of the Desktop.
However, what I said above is aligned with my statements about Wayland and how Wayland passes things onto the Desktop Environment:

You lost me on this one.
Are you saying that Xorg did not exist for Wayland to break?
It... What?

Your examples are of Windows applications being made for Windows OS. This is irrelevant because they are not made for GnuLinux. Wayland is made for GnuLinux.

https://wayland.freedesktop.org/#:~:text=Wayland%20is%20the%20language%20

Wayland is a replacement for the X11 window system protocol and architecture with the aim to be easier to develop, extend, and maintain.

Wayland is the language (protocol) that applications can use to talk to a display server in order to make themselves visible and get input from the user (a person). A Wayland server is called a "compositor".

Display servers that implement the Wayland display server protocol are also called Wayland compositors because they additionally perform the task of a compositing window manager.

I disagree. TGRush's point is important because it made me realize the potential dangers of applying kernel rules to display servers. The independence of individual projects should be respected.

Since this is a Zorin OS forum, the focus is on how Zorin OS handles Wayland. X doesn't seem to respond well to modern requirements such as multiple displays and scaling. So we can't keep relying on X forever. But now Wayland is not reliable either. Under the circumstances, I believe the compromise of supporting both X and Wayland is reasonable.

I still think it would be less trouble if X were the default, and I would like to see the switch between X and Wayland made more obvious than a small cog, though.

What are these dangers?

You make it sound like this is law and if disobeyed, enforcement would follow.
No.

In violating the Linux Way, independent developers are not punished, nor is there some kind of enforcement that would cramp their style.

It is more like Customer Service. If I say that placing your business model before the customer breaks the first rule of Customer Service, you would be well aware that there is not some Written law by a body of enforcers. It only means that the business in question violated their customers and having been informed of the violation, customers may opt to not do business with that company. It will suffer its own self inflicted wounds.

Xorg handles multiple displays very well. Xorg's architecture is very well-suited for handling multiple displays simultaneously. It allows for configuration of multiple monitors through its configuration files or via tools like xrandr. Xorg can manage multiple displays with different resolutions, orientations, and refresh rates.
Xorg can handle DPI extremely well.
However, I agree that Xorg struggles with Fractional Scaling.
Unlike DPI which is pixel by pixel scaling, Fractional scaling introduces odd variables like 1.5 pixel scaling (How can you have half a pixel?) Wayland is better suited for fractional scaling because, like .svg files, Wayland compositing handles scaling as a vector, rather than pixel-by-pixel approach.

If there were a compromise and user choice was protected, I think the users would not be protesting Wayland so much.
Remember: The developers goal is to be rid of X-windowing/ X server entirely and have only Wayland.

You presented a rule that should be followed in your first post, and when the issue was raised you said it was not the law. I think that is too convenient.

I think that a discussion that covers the merits of the ideas is more productive than putting words into someone else's mouth, then shooting down what they did not say.

In posting your thoughts above about the idea of a rule, I saw that I needed to clarify what that meant. It's a general principle about how to recognize the importance of your user base and not violate them.
When I clarified what it means, your reply suggests a contradiction instead - as if I conveniently changed the meaning.

My Original Post is very clear about the meaning and I stand 100% behind it. I am happy to clarify my posts and thoughts. And I did do so - I changed nothing about what I have said, however.

My experience with Wayland has been mostly positive, with only a few annoyances here and there. But those annoyances don’t exist with Xorg. Without this choice, I would be forced to live with those annoyances until they are fixed, and there would be, of course, no guarantees that this would happen.

Even if we assume that my use case is such an impossibly remote edge case that is not worth the time to implement a fix for it, I still can do without issues using an existing technology, a couple of clicks away. This is the power of freedom of choice, and indeed the real trouble with Wayland.

In short, it’s great that we have Wayland. Competition is good for the consumer. But there needs to be a real viable choice to be made. Gnome has made this very clear: they will stop offering Xorg as an option in the near future. Distributions like Fedora are ahead of schedule on this. And distributions like Zorin OS are implementing this as the default option. Defaults are extremely powerful.

From the user's perspective it's irrelevant why the old screenshot tool, or whatever, doesn't work. It used to work and now it doesn't. The user is being told that the improvements happen under the hood, but those improvements should not come at the cost of the ones over the hood.

If breaking changes need to happen it better be worth the trouble. With Wayland, I'm struggling to see the improvement at the moment; maybe this will change in the future.

To compare this Wayland situation with something we all here are familiar with, the numerous issues that the Zorin OS 17 release is going through, take a look at this recent thread, titled "Why upgrade from 16.3 to 17.1?".
As with Wayland, I've only experienced a few issues here and there with Zorin OS 17 (granted, I only use it in a virtual machine). But, as with Wayland, at the end of the day, I need things to work. I honestly don't recommend people to upgrade to Zorin OS 17 unless they have good reason for it, like the need to run newer versions of a library, kernel some other software. I give the same advice when this comes up even on the latest version if Zorin OS.

In theory, the benefits of Zorin OS 17 more than justify making the upgrade. But, to quote Linus Torvalds:

Theory and practice sometimes clash. And when that happens, theory loses. Every single time.

That is the trouble with Zorin OS 17, and indeed the trouble with Wayland. For as long as there are issues to resolve that impact the user experience, it should remain an alternative to Xorg, not the default, and certainly not the only viable option.


With all that said however, there's something that I'm really curious about regarding the security aspect of Wayland and Xorg. Everywhere I looked online it's stated that Wayland is more secure than Xorg because of how it's designed, and how Xorg allows any running program to read the contents of any window in the display server (and please forgive me if I'm misusing some of these terms).

Only here have I read from Aravisian that this is not the case, at least not anymore. I would really like to know more, but I'm not proficient enough to read directly from the source code. So, is there a proof of concept that demonstrates this or some other source that compares the security mechanisms of Xorg and Wayland?

3 Likes

The Wayland Discussion ... I think it is good when You have the Option to choose between Wayland and X. So, I think the Way Zorin make it to offer both is a good Thing in the Moment.

@zenzen speaks about Gnome and Fedora. Which is an interesting Point here becaue the one thing is a Desktop Environment and the other a whole Distro. As far as I know Gnome wants to kick-off X in Version 48 or so. So, a Distro what wants to use Gnome 48 or higher in the Future mus add X by themself -preinstalled or available in the Repo's.

Fedora wants to kick-off X from the Plasma Version but still deliver it as an Option in the Repo's. I think, when this will happen, it could be a good Indicator how the whole Stuff will work. I'm very interested in that to see what happens with that I must say.

1 Like

Example of initial reports on potential security vulnerability in X-server:

Documentation on Xorg SECURITY extensions (No, I am not yelling. :wink: The name is in all caps.)
https://www.x.org/wiki/Development/Documentation/Security/

Page specific to your question:
https://www.x.org/releases/X11R7.5/doc/security/XACE-Spec.html

Specs:
https://www.x.org/releases/X11R7.6/doc/xextproto/security.html

XCSECURITY:
https://www.x.org/archive/X11R6.8.1/doc/Xsecurity.7.html

Some sites are archived or hosted by Wayback Machine which can complicate google searches.

I am not aware of a site that directly compares with a proof of concept, based on the current software...

1 Like

For the record, a lot of the reason why I chose not to upgrade to OS 17, was due to the talk of them switching to Wayland. All I ever hear about Wayland, is how it breaks the system. And I saw just how many reports that came in from new Zorin OS 17 users, who were reporting problems, due to the use of Wayland.

Also, desktop users have less requirements from an operating system, to utilize the hardware. But laptop users such as myself, who have dual GPU systems, and multiple monitors connected to the laptop via HDMI & Display Port, have much higher level requirements.

Experiencing Linux as I have for the past decade now, I've not had a perfect experience being a laptop user, especially in regards to fractional scaling issues, as I have reported many times on here, since I have been a 4K user.

Having said that however, the reports on how much Wayland breaks the system, and takes away display options, and screws with dual GPU systems, why in the world would I want that? Keep in mind I am a gamer guys, there's a reason why I have an Nvidia GPU in my system. If Wayland breaks the gaming or production experience, why in the world would I want that?

And even though my laptop has a built in screen, unless that laptop is directly in front of me, and within very close range, its useless to me. This is the reason why I use multiple monitor mode, I have one monitor connected via Display Port, and one TV connected via HDMI. If Wayland breaks my ability to use these displays, and or manage them, I ask again, why would I want that?

I agree with Linus Torvalds, I want a system that just works. My user experience shouldn't be broken, because some developer wasn't in the mood, to make their software compatible with modern hardware functionality. I agree that it really is starting to sound like Wayland is becoming like the next Microsoft.

Zorin OS 16.3 is working mostly perfect for me, minus the Zorin Connect APP, which doesn't work at all. As long as I continue to receive security updates until 2025, I see no reason to upgrade at this time, as long as Wayland is breaking systems. Nope, sorry, not going to do it, I need reliability, not incompatibility.

Maybe when Zorin OS 18 comes out, they will have sorted things out by then, so that the user experience doesn't get broken. But until then, I'm not touching Wayland with a 10-foot pole. My philosophy for developers is, stop using users (who never agreed) to beta test your software. Make your software work out of the box, or go home.

This may come as a shock to many experienced Linux users, but most folks don't have the time in modern day, to get their OS software working when it doesn't out of the box. We live busy lives, and have much more important things to do, then to figure out broken garbage out of the gate. Wayland developers, fix your philosophy on development, and fix your Wayland!

At the end of the day, the pro's don't outweigh the cons of usage.


1 Like

For a fair and balanced discussion, I think it is important to touch on this part.
Over-all, I do agree with much of what you said. What I say below is about analysis, not about disagreement.

What we hear about things is not the same as what we know about things. Relying on the experiences of others is crucial in making decisions for ourselves. Certainly, what we hear is important. It must be analyzed and disseminated, not just taken as Truth™

Many new threads have been started in regards to issues with the release of Zorin OS 17.
In a large number of them, the first question that is asked is whether they are using Wayland or Xorg. This can create bias in what we hear.
We see an issue, then immediately, we see Wayland is the front-runner culprit.
Most of the time, when the user switches, they report no difference.
Some issues are due to Wayland and even to breakage (Complaints about the Gnome-Screenshot tool, for example). Or to having lost features (Where to store the saved screenshot, how to set a delay).
Some users do get a resolution by switching back to Xorg.
But for most of the threads, switching back and forth does not resolve the issue. They seem to relate most strongly to changes made in Gnome 4+, not the display server.

Even if an argument made may provide support for the arguments I have made, it would be unethical for me to allow it to go unchallenged if it needs further scrutiny.

As a gamer, you are Waylands Prime Target Market Audience.
Primarily, it is the gamers that promote Wayland, due to Wayland improving graphical display (Except for Nvidia).

1 Like

I think this is crucial point to make, well said. It relates closely to what I mentioned in my previous comment that defaults are extremely powerful.

I don't think we can blame developers from wanting to use Wayland as the default option, precisely because of this. It does work for a lot of people too, after all. But the target audience for a distribution like Zorin OS doesn't necessarily fit in the category of people who really want to dive right into this sort of details.

At one point, I actually felt bad for even asking the question about Flatpaks. I think it was about 6 months ago, for some reason, that a ton of people had issues with them. But... that was it most of the time. And it relates to the above that people don't always have the time to learn about these things, understandably so.

Reliability is key to deliver a good user experience. Choose sane defaults that work well, and leave the door open to curiosity and exploration. And I'm not even talking about computers anymore, this applies to... dare I say, just about anything?

Thanks for the links, that should keep me busy for a while :smiley:

1 Like

I like that.

I'm no gamer and don't have Nvidia, but if I did, I would see Wayland as default by Zorin (and other distros) as a worrying move, but not as bad as Wayland only.

I wonder if other distro's forums (where Wayland set default) are buzzing with similar Wayland v X stories?

2 Likes

Good video here:

2 Likes

Hello SWARF!

I just watched that video, and I have to say, it was really quite good. It educated me further, in the differences between X11 and Wayland, and it also confirmed my decision as solid, to wait for Zorin OS 18, when Wayland has matured for at least another year.

He sure is right though, about how Linux always falls behind, in bringing out the latest features, like HDR. He said neither X11 nor Wayland supports it yet, and yet HDR has been a thing for what 6-years now?

To be honest, its never a good idea to be an early adopter in technologies, its better to wait for things to mature. And Wayland has been needing a lot of time to mature, due to lack of development prioritization. He even went over which Linux OS's, are currently working on finishing what Wayland started, to make it work for their OS's.

Its a lot like what @Aravisian said in his first post. Wayland is like, ok were here now, we have this thing, but its not finished, and we demand that the OS devs finish it for us, cause its not our responsibility, its yours, cause we said so. So if you can get on that, that would be great......... Oh and, did you file those TPS reports? HAHA

Office Space GIF by 20th Century Fox Home Entertainment


2 Likes

Yes, what was interesting is no screensharing - this is a biggie for Jitsi (and those poor people using Zoom!). So yes. I am currently running Plasma 6 on X11 (neonuser). I noticed when I screwed up X11 after tryinig to run an old game on neonuser, before I got it back by installing proprietary nvidia drivers, I discovered that Wayland could not use my preferred desktop capture/screencast application of vokoscreen-ng without having to install a pipewire plugin (no thanks) plus some other garbage. I will stick with ALSA thank you.

YKnow, Xorg is still the default for Nvidia and Dual-GPU systems, and a switch back takes like two clicks.

for what it's worth: with the 550.x drivers, my experience as someone running a GTX 960 is finally actually good, even on Zorin's older GNOME Version, but right now on Plasma 6; I've heard that people running newer cards have it even better, but I can't confirm that.

The only thing that I am getting, and that across (X)Wayland and Xorg, is flickering issues in games. The fix is ironically to run your game with MESA Drivers and Zink, even if you have proprietary nvidia drivers installed, and that works just fine :P
(alternatively, you can downgrade to the 495.x drivers IIRC)

Details regarding MESA + Zink

For those that care, you can add this to any game's launch arguments in your favourite game launcher, they're environment variables that makes any given program run with MESA Drivers, and Zink for OpenGL (Zink is OpenGL-On-Vulkan, comparable to what DXVK does for DirectX)

__GLX_VENDOR_LIBRARY_NAME=mesa GALLIUM_DRIVER=zink MESA_LOADER_DRIVER_OVERRIDE=zink

so in steam, this would look like:

__GLX_VENDOR_LIBRARY_NAME=mesa GALLIUM_DRIVER=zink MESA_LOADER_DRIVER_OVERRIDE=zink %COMMAND%

If you wanna verify that it worked, run the game with mangohud, it will show you whether it's using Zink.
You don't need to switch to the Open-Source Kernel Driver, you can just add this to your games without a reboot even when running Nvidia's proprietary drivers.

Until May 15th, the next Nvidia Driver Update, I'll just have to cope with these issues :upside_down_face:

it's a bit outdated; As of right now, KDE Plasma 6 has HDR support for fullscreen content.

Xorg is the default on Nvidia GPUs on Zorin, and Zorin 17 is not Wayland-Only; You're good in both departments.

1 Like

For me most stupid what people using for many years now must believe with Wayland what is more buggy.
People back to Xorg and X11 because problems with screentiling, problems with nvidia gpu and many,many more things.

Yesterday I connected some puzzle about why everyone push to Wayland?
That is simple a business money.
Conclusions are a couple.
I reading KDE Plasma version 6.0 support Wayland.
This HDR is most usable with monitors 2k 4k 8k.
That why EU want closed production projectors with halogen lamps.
Will be only with led implemented with "android spying"?
What you need for monitors with 2k 4k 8k?
Stronger cpu,stronger gpu, better power motherboard.
So my conclusion the About CES in 2024 show us new future with monitors.
What about that all rumour with Wayland.
Well this all expensive monitors will get REC.2020

REC709 is the standard color space used for television and video for many years. It can reproduce a wide range of colors, but not as many as newer color spaces. REC2020 is a newer color space that offers a much wider color gamut than REC709
That why XFCE will be no more support with Zorin brothers. I can be wrong.
So the my conclusions people will be buying better "stuff" for better a colours on a monitor? Guess who uses HDR? Apple and Nvidia.