This OUTDATED article gets posted all the time. The full story is the guy is a massive FreeBSD fan so he is trying to convince more people to keep on using Xorg because he wants to make sure it isn't abandoned. Reason for that being that Wayland is built with Linux in mind and would not work under FreeBSD without a lot of effort bwing put in as it uses some Linux-specific components or libraries.
Let's go through the article point by point:
Wayland is broken by design:
A crash in the window manager takes down all running applications: Yes, because the compositor IS the server, window manager AND compositor at the same time.
You cannot do a lot of things: What, like allowing Windows to see your keystrokes, which makes developing a keylogger absolutely trivial?
There is not /usr/bin/wayland: Yes, because Wayland is a set of protocols, which a bunch of projects can implement as few or as many of, as they see fit, thus avoiding the issue of "unmaintainable mess" that has plagued Xorg for years.
It offloads work to the window manager: Again, yes, that's a part of its structure: do the protocols, then let the compositor implement them. That way, you have multiple implementations running simultaneously that are well integrated with their window managers and thus more efficient and performant. It also means that when a compositor suffers from too much cruft, we can just make a new one, while application developers wouldn't really have anything to change because if their application works on Wayland, then it works on different compositors (unless it is made specifically for GNOME, or specifically for wlroots, like wlr-randr)
....so what works on DE 1, doesn't necessarily work on DE 2: True, because oftentimes, it doesn't need to. Not implementing features can lead to a more lean and streamlined software solution. However, sometimes features are necessary and only implemented in some compositors. This usually happens because the universal solution is not ready. KDE are often known to do this with Plasma and KWin.
Wayland breaks screen recording applications: Correction: The following screen recording applications were not built to support Wayland (because Wayland is new to them or they just decided not to, or they were either too busy or too irresponsible enough to realise Wayland is coming, and has been for over 10 years. In defence of the devs, they probably wanted to make sure Wayland will become stable enough, but it has been the default even on Debian for many years now, so....
In terms of the applications, I'm not aware of many of them, and for this sort of application, I'm sire alot of work is required to change the graphical backend, so I understood that some smaller projects gave up, but OBS has been working on Wayland for quite a while. Is it perfect? I don't think so, but back when Brodie Robertson was using Hyprland, he was recording his videos using OBS. This article is quite outdated.
Wayland breaks screen sharing applications:
As the update shows, Jitsi now does work on Wayland.
Zoom only seemed to work on gnome, BUT if you open up the Link to the zoom issue and read through the comments, there is clearly a person that clearly states that they changed /etc/os-release from PureOS to debian and it worked for them, all because of some pointless limitations enforced by the Zoom developers. As the person posting the issue states "Currently, the zoom application has put an arbirtrary restriction on screensharing so it ONLY works on GNOME, when the api being used works on all wayland desktops." Read that again. It's a pointless restriction put there by the Zoom team because they couldn't be bothered to test anything non-GNOME.
And the last issue is a problem with the article writer's own appimage. I don't know about that one.
Wayland breaks automation software
As stated IN YOUR FACE, it is an application that works on X11 only. Yes, Wayland is not made to use such applications, but it doesn't mean they can't exist. Every heard of ydotool (remember that name)? Now you have.
Next up, we have 3 issues about GNOME and KDE global menus (1 for GNOME, 2 for KDE). From the little I know about global menus and using these projects, as well as considering that they are both incredibly stable on Wayland and Fedora KDE will be dropping Xorg completely, I think it's safe to assume these issues have probably been fixed. Please correct me if I'm wrong.
Wayland breaks AppImages that don't ship a special QT plugin: Great! Just ship the plugins then! Problem solved! Also, quote from the article: "However, there is a workaround: "AppImages which ship just the XCB plugin will automatically fallback to running in xwayland mode" (see below)."
Wayland breaks Redshift: Once again, a program built for Xorg doesn't always work on Wayland. Especially if it works with the compositor, like a colour temperature control application, or a wallpaper setter. The article quotes that "Redshift does not support Wayland since it offers no way to adjust the color temperature" which is not true, as proven by Redshift alternatives like Gammastep.
Wayland breaks global hotkeys: I present to you: Hyprland (where you can get global hotkeys). Now, it is normally not allowed by design, as a security measure, but Hyprland has not allowed that to stop them from implementing a solution where you can choose keys that will be passed on to the application. Boom, problem solved. Unfortunately, it doesn't seem to be implemented anywhere else, as far as I know.
Wayland does not work for XFCE: Come back to me in late 2024 after XFCE 4.20, which will introduce Wayland support, has been released. Also, https://wiki.xfce.org/releng/wayland_roadmap
Wayland does not work properly on Nvidia Hardware: It keeps on getting closer but is not there yet, or so I've heard. Apparently, the issue is with the proprietary drivers, as noveau works well. But I use AMD, so I'm only working off rumours and opinions here.
Wayland does not work properly on Intel hardware: Again, I'm using AMD, so I can't confirm or deny this, but considering the Intel drivers are open source, and I've heard about many, many improvements made on the Intel side of things, I think it would be reasonable to assume it has been fixed.
Edit: As multiple Intel users have pointed out in the comments, there seem to be no issues on Wayland with Intel hardware.
Wayland prevents GUI applications from running as root: This one has been crossed out as the article writer admits there is a solution
Wayland is biased towards Linux and breaks BSD: Arguments seem valid, and I'm guessing, are correct. This one is likely true and will remain so for the foreseeable future.
Edit: And yet, it seems that there are Wayland compositors for FreeBSD, so the above might only be true for OpenBSD and others.
Wayland complicates server side decorations: From what I've heard, this is true, mainly something to do with some GNOME agenda, as the article states. I think that one is true.
Wayland breaks windows raising/activating themselves: The linked issue is closed and seems to be resolved. There is a mention of a WIP protocol at the time (2019) that woukd fix this. I had difficulty following the discussion, but I think this has been fixed.
Wayland breaks RescueTime: Because RescueTime depends on X11-only tools like xprop.
Wayland breaks window manager: What you're describing is Wayland breaking X11-only tools for doing various tasks in a window manager. They are X11 tools, so of course they don't work on Wayland. I'm not sure if there are alternatives, but I'd guess there probably are. I know for a fact that Xrandr has alternatives like wlr-randr and kanshi for wlroots.
Wayland requires {instert WM here} to implement Xorg-like functionality:Yes, it does.
Quote from article: "As it currently stands minor WMs and DEs do not even intend to support Wayland given the sheer complexity of writing all the code required to support the above features. "
DEs: GNOME, KDE, MATE, XFCE, Cinnamon, Budgie, Enlightenment, and recently even Pantheon have either announced to start work on, have started work on, or already support Wayland.
Window managers: Qtile is doing it. Xmonad wants to hire a dev to do it. Dwm has a spiritual successor called dwl. i3 has a drop-in replacement called sway. Openbox has 2 spiritual successors called labwc and waybox. Now you might notice one of the biggest WMs is missing on here: AwesomeWM, which is such a shame. The Awesome devs have said they would be okay with someone taking on that challenge (which has already been attempted, as evidenced by the existence of way-cooler), but it seems that they wouldn't do it themselves.
As for the projects mentioned in the article, (JWM, TWM, XDM, IceWM) they are too small and obscure, and will likely fade away with Xorg.
Wayland breaks _NET_WM_STATE_SKIP_TASKBAR protocol I don't know about that one, ao I'll assume it is still the case. Edit: Ignoring the fact that the link is broken, it basically just links to a docs change where skipTaskbar is marked as unsupported on Linux. Link: https://github.com/electron/electron/pull/33226
Wayland breaks NoMachine NX The link points to a page that has this marked as "SOLVED, Released in version 8" so I'm guessing it has been solved.
Wayland breaks Xclip: As you said it yourself, Xclip is an X11 application, so it doesn't work on Wayland. Of course it wouldn't work on Wayland. With Wayland, we're trying to prevent what happened with Xorg from happening again, or am I wrong?
Edit: As pointed out by some people in the comments, there are also alternatives to xclip like wl-clipboard.
Wayland breaks SUDO_ASKPASS: That link seems to point to the way this issue has been resolved so I don't see your point.
Wayland breaks X11 atoms: I lack knowledge on the topic so will assume this to be a valid argument
Wayland break games: I'm 99% sure you can disable Vsync??? But I'm not a gamer. Also, WINE on Wayland is getting better and better. Soon enough, I hope the subpar performance will become better performance (when compared to Xorg)
Wayland breaks xdotool: Well, yes. There is ydotool, but you're looking for a 1-to-1 replacement and I'm not sure if ydotool fits the bill for that.
Wayland breaks xkill: Well, yes. Again. It is an X application, so of course it does. Though for some reason I remember it working once on wayland. Must have been an xwayland app, or maybe I'm just misremembering this.
Wayland breaks screensavers: Yeah, that seems to be the case.
Wayland breaks setting the window position: That is a WIP for Plasma, not sure about any other projects, so assume true for anything else.
Wayland breaks color management: Not anymore. That is being actively worked on.
Wayland breaks DRM leasing: While not rhat familiar with the issue, my understanding of the topic is the article is correct: not all compositors support it.
Wayland breaks in-home streaming: Not familiar with this, so will assume true.
Wayland breaks NetWM/EWMH: Yeah, that seems to be the case.
Wayland breaks window icons: Yeah, that seems to be the case, as said in the article, when no .desktop files are used.
And that concludes my response to this article based on my fairly limited knowledge on the topic. If I got anything wrong, please, please let me know. As you can see my knowledge is quite limited, and as such, any corrections (preferably backed up with evidence) would be appreciated
What a stupid article. It's like saying "stop using electric vehicles because you can't use gas stations".
I don't understand why he's so adamant about this? It's not like Wayland had about 20 years of extra time to develop like X11. People keep working on it, and it takes time to polish things.
As someone with 0 investment in this whole ecosystem, I saw and perused this article like a week ago, and my immediate impression was "Why is this guy constantly saying 'Wayland breaks XXXXX'? Wayland isn't breaking anything, it's new tech. Wayland has certain features, or it doesn't or doesn't yet. The only folks breaking anything are those swapping use of X with Wayland, within various apps or tech stacks, potentially prematurely, where Wayland doesn't yet have the full set of features needed."
Whoever this is seems to have a really poor understanding of long-term software development, despite being way more invested in it than I am.
TLDR of linked gist: wayland is not X therefore it is bad. end of.
Wayland breaks Xclip: As you said it yourself, Xclip is an X11 application, so it doesn’t work on Wayland. Of course it wouldn’t work on Wayland. With Wayland, we’re trying to prevent what happened with Xorg from happening again, or am I wrong?
also, https://github.com/bugaevc/wl-clipboard. perhaps all OP (of gist) needs is a simple shim that can convert calls to xclip to wl-copy/paste? that doesn't seem too hard to make compared to keeping X.org alive I'd say (perhaps they should try making it if it's that much of a problem)
Wayland breaks screensavers: Yeah, that seems to be the case.
[...] Adding screen savers to Wayland is not simply a matter of "port the XScreenSaver daemon", because under the Wayland model, screen blanking and locking should not be a third-party user-space app; much of the logic must be embedded into the display manager itself. This is a good thing! It is a better model than what we have under X11. [...]
[...] Under X11, you run XScreenSaver, which is a user-space program that tries really hard to keep the screen locked and never crash. It is very good at this, but that it needs to try so hard in the first place is a fundamental design flaw of X11. [...]
other people can comment on the parts they know about, these are two i know of off the top of my head
Wayland does not work properly on Intel hardware: Again, I’m using AMD, so I can’t confirm or deny this, but considering the Intel drivers are open source, and I’ve heard about many, many improvements made on the Intel side of things, I think it would be reasonable to assume it has been fixed.
Posting this from Plasma Wayland on Intel right now. If something is broken, it's something not apparent to me.
A crash in the window manager takes down all running applications: Yes, because the compositor IS the server, window manager AND compositor at the same time.
I used to be super excited about Wayland but it's been 15 years, now I'm too old to care.
My favorite distro still runs on xorg and it runs so well that I don't remember why we needed Wayland in the first place. (I am not saying that there is none)
Tearing videos and games have been fixed on xorg when Wayland was supposed to be the only solution.
I am sure Wayland will eventually make X completely obsolete and will be a much needed modernisation of the Linux desktop stack.
But I can't help but notice that it is not there yet, is old enough to carry it's own significant technical debt and might never bring the simplification and streamlining that it once promised.
In what kind of world is a missing feature or a broken feautre due to incomplete migration to a new ecosystem, a reason to boycott that new ecosystem?? Those are simply not valid arguments to me.
They are obviously valid arguments to say, hey, this work is not completed, is not mature enough etc. So, therefore, you stay with previous ecosystem. But to boycott it because of that? That does not make sense to me at all.
Wayland is great! Except for all list of not-a-bugs that I'd like to see fixed. Still, I'm not going back to X, so take that how you will.
What are the not-a-bugs? Things like covering up a Wayland window will block it's rendering thread indefinitely with no way to detect it happens to handle it. This can lock up some games, or cause you to time out in a networked application. Some Wayland core folks don't want applications to know if their window is visible or not because it's mild information about a user's attention that should be private. Every game dev on the other hand is asking "WTF!?" as it causes their games to break randomly.
Another mild example is that windows cannot be raised except by the user or by launching them. This is supposed to be a mild security precaution so a program can't pop up a legitimate looking dialog over another application and trick the user. Realistically it means that applications can't open and focus URL in your web or file browser. Instead they have to give you a notification telling you "Firefox is Ready" and make you do it manually.
A lot of this is slowly (painfully?) changing, and the adversarial nature is a bit frustrating. Wayland fixes so many little things that I find it well worth it though, and I say that as a game developer frustrated by many of the core design decisions.
Add screensavers or take X11 out of my cold, dead hands. I don't use a CRT but still like screensaver since it prevents me from having to wait 5 years for my screen to turn on.
I don't think a good response to " breaks " is to say "yes, because was designed to work with and hasn't been updated to use ". Part of the task of replacing something old - onerous though it be - is to provide a smooth route to support old programs and functionality.
Wayland deliberately broke everything, but then was rolled out prematurely at least on some distros, before giving the vast X ecosystem enough time (which was guaranteed to be a long time, due to how large and entrenched it was) to update. Besides which, the "OUTDATED" post has an awful lot of things you acknowledge are still issues!
As someone who has written client code targetting X11, it's indeed quite unfortunate that, to properly target Wayland, it'd need to all be replaced, but... good riddance. Working with X11 was fucking hell. X11 has so much broken/unreasonable garbage in, like, most places. Working with X11 has been, by far, my programming worst experience.
This is not to say that Wayland is automatically better at everything (I haven't looked into it much, and the server-side decoration problem is indeed a problem) but it'd be damn hard to be worse than X11 or be anywhere close to it.
Sadly, this is going to be preaching to the choir. Wayland has its faults but if it truly was an inferior approach compared to X then someone would've forked X or spawned a totally new project. Turns out it takes time, money, and developer power that simply isn't coming into X or any competing standard. Wayland is "good enough" to be the next standard and that's how it'll be for the foreseeable future.
If a BSD fan really thinks X is pivotal to BSD's future, then maybe BSD will need to consider forking it and fixing it, but I'm sure the real solution will just be supporting Wayland on BSD too.
Other should stop just using it because it doesn't work for you? Wouldn't it make more sense that those who do work on it keep improving it so it doesn't break?
Amazing text! I was just commenting how ridiculous the article is this morning and now you have written a more lenghty criticism.
As for the Zoom bit. I will add my 2 years experience of using it on Wayland on Artix as well as Void Linux - I never used Gnome and it worked fine on Sway and River on my iGPU. In between a few updates I did face a few crashes of zoom when rendering on my nvidia gpu but it was still fine. I have not used zoom in over an year so I can't comment on how it is now.
As for "wayland does not work properly on nvidia." Solely nvidia is blame. They have been pushing out patches to bring out more support but it's just nvidia who can fix that in the end. While I would not want to assume what hardware the author uses. Wayland works like butter on my Intel hardware.
Great alternatives for xclip and many other X-tools are already in the market.
The VSync issue on wayland is genuine. Disabling it in-game does not affect anything because it is enforced by the compositor. VSync is an integral part of Wayland Compositioning (acc. to the wlroots dev) but a solution to automatically disable it in full screen applications, etc is down the pipeline and work is ongoing. I have not been following it but I think some fixes were already released, I could be wrong.
As for X11 Atoms: https://stackoverflow.com/questions/41005297/x-to-wayland-what-about-atoms
Just boils down to the application dev's willingness to port the app to Wayland. The author of the 'boycott wayland' article seems to just want wayland to implement Xorg 1:1 for it to not fail their stupid standard of what-should-be-boycotted. And at that point Wayland is not Wayland but Xorg.
Most of the arguments presented in the 'Boycott Wayland' article are either generic issues being worked upon by the devs or things that don't have much relevance but put down in a manner as if to almost fear-monger that Wayland is the spawn of the devil and must not be used at all.
Wayland breaks global hotkeys: I present to you: Hyprland (where you can get global hotkeys). Now, it is normally not allowed by design, as a security measure
Not disagreeing at all, but I'd like to add some information here to support your correction
So, technically, there is nothing in the wayland collection of protocols that supports global keyboard shortcuts, but (along with lots of other supporting functionality), this is addressed via the collection of portal APIs
Any desktop can provide an implementation of the GlobalShortcuts portal, and any app can adopt it as required (although if it's implemented within popular toolkits/frameworks, then app developers won't have to even think about it)
Despite all the progress in terms of Wayland, I still find my laptop to be unstable with plasma + Wayland on fedora 38. Many visual bugs, when the screensaver is entered and I move my mouse again, the screen just stays black until I close and open the lid.
Some booting and spontaneous shutdown issues too, but I assume that's something else. (Framework 12 DIY)
idk i feel the window manager space its losing a lot with wayland and i didnt have a great experience with any wayland versions of existing WM. without even talking about the nvidia shitshow, does sway still call you a bitch for even trying to run it on nvidia?? imma stick to dwm as long as it works
Wayland does not work properly on Nvidia Hardware: It keeps on getting closer but is not there yet, or so I've heard. Apparently, the issue is with the proprietary drivers, as noveau works well. But I use AMD, so I'm only working off rumours and opinions here.
Posting this from Hyprland on NVIDIA, arch (btw) and the nvidia-open-dkms driver, but yes, NVIDIA isn't fully there yet.
Does Wayland allow for the running of a program on a big powerful server (where many users live) and display on a smaller desktop machine that is only providing a screen and keyboard? If not, are they working on that? If it does not and they are not working on it, is it even possible under the way that Wayland works?
I'm very new to the Wayland vs Xorg: could someone tell me why having a compositor work as a compositor, server and client (window manager) is a good idea? Doesn't this limit customisation? If someone wants to create a window manager, they're going to have to implement a lot more software than just their product. I thought abstracted software with stable interfaces was king in software, other than having performance issues (I believe Wayland solves some of these problems).
So, if I'm on IceWM/Ratpoison and want to switch, do I manually convert my config, or do I have equivalent WMs in Wayland?
A crash in the window manager takes down all running applications: Yes, because the compositor IS the server, window manager AND compositor at the same time.
I still would have preffered a modular approach, where compositor, window manager, server/mouse+keyboard are plugable. Well, it's probably possible with Wayland, but the ecosystem is not there yet.
I now have perfect wayland setup with a Nvidia GPU. I just use my AMD Apu as main gpu and the nvidia one as secondary GPU. The DE runs on Amd and games run on Nvidia. Thanks for nothing Nvidia, making me work around your bs.
The only thing to boycott are GNOME dev's mentality when it comes to things outside their DE (especially Wayland protocol adoption). It's slowing Wayland development a lot
I'm pretty familiar with Linux server management, but haven't ran Linux on the desktop in a very long time (I still remember the days of XFree86, which was the predecessor to X.org). If I install a mainstream desktop distro today (Ubuntu, Mint, whatever is popular now), does it come with X11 or Wayland out-of-the-box?
@theshatterstone54 > "Reason for that being that Wayland is built with Linux in mind and would not work under FreeBSD without a lot of effort bwing put in as it uses some Linux-specific components or libraries."
Not so. FreeBSD is 100% Linux compatible and has Linux Kernel emulation built in. Wayland support is also built in to FreeBSD. FreeBSD is a much superior operating system compared to Linux. But the FreeBSD team only cares about the server aspects and really does not care about a graphical desktop. They tend to use Macs.
The state of Linux Desktop interface is a schizophrenic flustercuck with far too many cooks spoiling the stew. They're not just spoiling the stew; they're pooping in it. And a bunch of noveu-riche trust-fund baby nerds think this is cool. They don't give a rat's ass about the end user being able to get work done. They would rather we all waste our time filing bug reports rather than getting things done.
From a developer's standpoint, one of the bigger pain points of Wayland is window embedding.
If you want to embed from an external process, the only way to do this is to have your application expose its own Wayland compositor and then have the embedded process use that Wayland compositor. No one has made a library for this as of yet.
If you want to embed from the same process, it shouldn't be too difficult; you just need a wl_subsurface. However, this doesn't work too well with most GUI toolkits.
Wayland is just radically different from every other windowing API, and I'm hoping that the GUI toolkits can adapt.
I often switch between Wayland and X. My only concern is java does not yet support Wayland and old native libraries (e.g. 3D stuff for no longer maintained Java games) will probably break, once Java actually switches. Java and some Java games work with the xwayland compatibility layer, for now, but there are glitches sometimes. There are multiple projects porting Java stuff (e.g. Swing) to Wayland. All unofficial and incomplete.
My main issue with Wayland is the fragmentation. Abstract protocol which could be implemented by particular DE/WM means nothing to a user which now doesn't have a guarantee that their tools will work under all environments. For example, some screengrab utility could work under Gnome, but will not work under wl-roots based WM just because the relevant protocol is not supported there. That's a major drawback to me, we lose flexibility and kinda forced to use mainstream DEs where they have enough devcapacity to support most of the features from Wayland protocols. Contrary to X.Org where most of the functionality is implemented by server itself and protocol exposed to the clients is way simpler.