I only started using "Desktop" linux about 2 years ago when I got my new Laptop. When I first started, I had no idea what the whole Xorg/Wayland story was up until that point. After a bit of research, I tried starting with i3, but could never get it configured correctly to use my laptop monitor and my desktop ultrawide monitor at the same time. After about a month of this, I swapped over to Hyprland and haven't looked back since.
While I never encountered any serious issues that prevented me from using my laptop when I first started, a few things didn't work properly all the time. In the past, I used to have a few issues getting screen sharing working, sometimes I couldn't launch a steam game. Since then, the experience has gotten to the point where I really don't notice any issues. Screen sharing works fine now, I can't remember the last time I couldn't get a steam game to launch. I don't even have issues with electron apps anymore. This is all while running on an Nvidia GPU.
I know there are still issues on things like accessibility, but from someone who doesn't have the time investment into Xorg, Wayland felt pretty good a few years ago, and now I really can't find anything to personally complain about with regards to it.
I started using sway seven years ago, and even then I had very few issues. Granted I use integrated Intel graphics and I mostly just want to arrange terminal emulators, but still, on that happy path, it hasn’t been a problem.
What software did you use? I have to use Google Meet, Microsoft Teams, Anydesk, and an onscreen keyboard. When I checked a couple of months ago, Anydesk wouldn't even launch. I have been dabbling with Wayland ever since it was made available on Arch Linux, but invariably have to go back to X.org after just a few hours on Wayland.
I finally moved to full-time Wayland around the time the OP published their original post, after a couple of decades of Xorg, and a number of failed attempts. Honestly, the biggest factor affecting my experience, subjectively, was ditching my 3090 and moving to amdgpu. I don't know if the situation with Nvidia drivers is much different now (I'm told it is), but my experience of Wayland on AMD has been stellar.
When I first moved over (i3->sway) I had a few scaling issues mostly due to Electron/Chromium and xwayland fallback, but for the last 12-13 months I've been rolling on solo Wayland with no fallback, and had zero regrets. The forcing function for this was switching over to niri[0], which if you haven't tried it, is an incredible ux.
I tried KDE Wayland a few times over the years but always had to switch back immediately because something I needed was broken. Then just a week or two ago I tried it again and didn't have to switch back. Everything finally worked, or could be made to work without too much effort. And bonus, sleep/wake works much better in Wayland than it ever did in Xorg.
That mostly KDE's fault, in my experience. For some reason it has always had great trouble getting there with Wayland whereas others got there a bit faster.
For me, it still isn't quite there for some hardware combinations.
I have been mostly-wayland for a while now and rarely have issues. I think the major pain point remaining is the fragmentation of the compositors, so that bugs (and features) depend strongly on your choice of desktop environment. I found a bug a couple years ago in sway on a thinkpad where holding down the physical mouse button (associated with the trackpoint device) and dragging on the clickpad would send button-up events every time I lifted my finger from the clickpad (even while the mouse button was held down). This turned out to be the responsibility of wlroots in a block of basically boilerplate code for translating libinput events. Meanwhile mutter was doing this correctly, so the wlroots developers pulled the fix from there (almost identical code). Some time later I switched to KDE and found that KWin also had the bug (fixed now after another bug report). The end result is that it's difficult to track down the source of unexpected behavior without intimate knowledge of your DE (whether the behavior was intended by the developers or not), and getting a bug fixed in one place is unlikely to fix it for everyone without a bunch of extra work. Like I said, I don't encounter a lot of these bugs, but there are a couple that I have been putting off tracking down because it feels like it will be a lot of work.
Wayland has been "nearly ready" for so long that it is easy to miss progress. I installed an arch desktop three months ago and setup kde with wayland, expecting that I would revert to xorg when something broke.
So far everything seems to work - although the machine has a strange glitch. Processes randomly die, but only if they have a render surface. Typically it happens to factorio or to the steam ui component, which are both incredibly stable.
I play Factorio quite a bit on Wayland and have never had a crash. I rarely use Steam but have a vague recollection of the overlay giving me a bad time. Might be something to try disabling if you haven't already.
> In the past, I felt a bit annoyed at people overselling Wayland when there were so many things still wrong with it on the fundamental level.
But the fundamentals of Wayland have barely changed at all. And yet now it seems fine? So can you really say that there were in the past many things wrong on fundamental level?
As explained in the article there have been significant additions to the Wayland protocols during the last 3 years, which have been necessary to fix the author's complaints.
These protocol changes appear to count as changes in the fundamentals of Wayland, because the older versions were incomplete, since features that were considered essential by the author were impossible to implement with the then-existing Wayland protocols.
In general, I think that there is no doubt that Wayland has been very badly designed in the beginning, so its fundamental features have been bad, because for many applications it has become usable only after many years of additions and changes, which have resulted in a quite different Wayland than in the limited vision of its creators.
Wayland still has fundamental choices with which I do not agree, so it is unlikely that I will ever switch to Wayland. For instance, I do not want a GUI application to touch anything outside the client area of a window. I want everything outside that area, e.g. window frames, decorations, titles, buttons, menus, etc., to be drawn by the window manager, so that they will always have an identical appearance and behavior, regardless which application is run in that window and regardless what the application does.
This is my knee-jerk reaction when people complain about wayland as well, and is often a correct reaction, but in this case the author really is talking about nontrivial wayland changes.
I think the author is saying that many things have changed since last post, the section "Upstream Wayland basically fixed most of the technical things I complained about" has a bunch of things that could be seen as "broken on the fundamental level" (from authors POV) in the past but today have been "fixed".
While I never encountered any serious issues that prevented me from using my laptop when I first started, a few things didn't work properly all the time. In the past, I used to have a few issues getting screen sharing working, sometimes I couldn't launch a steam game. Since then, the experience has gotten to the point where I really don't notice any issues. Screen sharing works fine now, I can't remember the last time I couldn't get a steam game to launch. I don't even have issues with electron apps anymore. This is all while running on an Nvidia GPU.
I know there are still issues on things like accessibility, but from someone who doesn't have the time investment into Xorg, Wayland felt pretty good a few years ago, and now I really can't find anything to personally complain about with regards to it.
What software did you use? I have to use Google Meet, Microsoft Teams, Anydesk, and an onscreen keyboard. When I checked a couple of months ago, Anydesk wouldn't even launch. I have been dabbling with Wayland ever since it was made available on Arch Linux, but invariably have to go back to X.org after just a few hours on Wayland.
Deleted Comment
When I first moved over (i3->sway) I had a few scaling issues mostly due to Electron/Chromium and xwayland fallback, but for the last 12-13 months I've been rolling on solo Wayland with no fallback, and had zero regrets. The forcing function for this was switching over to niri[0], which if you haven't tried it, is an incredible ux.
[0]: https://github.com/YaLTeR/niri/
For me, it still isn't quite there for some hardware combinations.
So far everything seems to work - although the machine has a strange glitch. Processes randomly die, but only if they have a render surface. Typically it happens to factorio or to the steam ui component, which are both incredibly stable.
Does the kernel log not show anything? Or maybe the steam log?
I am sure that somewhere there's a hint of what's going on.
Need to use pipe wire for screen sharing
Chrome drag and drop have huge performance hits
Multi monitor setup is bad
But the fundamentals of Wayland have barely changed at all. And yet now it seems fine? So can you really say that there were in the past many things wrong on fundamental level?
These protocol changes appear to count as changes in the fundamentals of Wayland, because the older versions were incomplete, since features that were considered essential by the author were impossible to implement with the then-existing Wayland protocols.
In general, I think that there is no doubt that Wayland has been very badly designed in the beginning, so its fundamental features have been bad, because for many applications it has become usable only after many years of additions and changes, which have resulted in a quite different Wayland than in the limited vision of its creators.
Wayland still has fundamental choices with which I do not agree, so it is unlikely that I will ever switch to Wayland. For instance, I do not want a GUI application to touch anything outside the client area of a window. I want everything outside that area, e.g. window frames, decorations, titles, buttons, menus, etc., to be drawn by the window manager, so that they will always have an identical appearance and behavior, regardless which application is run in that window and regardless what the application does.