It was a lot more rough 3 years ago when I first switched over (because the laptop I had then was HiDPI, but the screen I attached it to was standard, and X was _horrible_ across these two screens) -- but these days, it all just goes.
I'm sure the process of hashing things out with the various committees is slow and laborious, but for a relatively normal set of desktop needs -- browser, IDEs, games, some photography work (albeit without having done any colour profile management, I know that's missing -- but my gear/monitors aren't up to that really anyway), it's fine.
But this:
> for a relatively normal set of desktop needs
The problem is that there's no such thing on desktop. There are _commonalities_ between many users, but even in just the web browser space there are app-side hacks and workarounds just to get about 90% of the functionality that browsers expect on other platforms.
Even in your list, most desktop users don't need an IDE or do photography work. Many don't need "games", and "games" itself is such a broad category of things, each of which presents new and exciting Wayland wrinkles and limitations to ram face-first into.
Hell, I can't run KDE on F39 without a constantly running XWayland recording bridge for desktop commonalities that use or require screen sharing (Zoom, Discord, etc.).
And most of the issues might start with the Wayland project, but they're exacerbated by Qt and GNOME problems, whether it's doing little to nothing and holding back every dependent app (Qt) or constantly coming up with new and exciting ways to break or deviate from the protocol (GNOME). Those bottlenecks aren't new, but they're magnified by Wayland's slow-moving chaos, and drawn into relief by X11 Just Working because the hacks and garbage workarounds are damn near 40 years old.
Multi-window programs, for example, are difficult to get working directly on Wayland. The issue has been brought up several times [1][2]. And it's not a particularly uncommon UI-style.
For example, most video production software I've worked with allows you to popout certain components into separate windows so that you can, for example, have your timeline, which may have many tracks taking up lots of vertical space, on a separate monitor from the preview viewport. This is a really nice feature. And the lack of its presence is one of the things I really dislike about DaVinci Resolve, despite it being an otherwise great tool with some of the best, if not the best, colorgrading utilities.
This isn't something unique and niche to video production either, though; lots of photo editing, audio production, 3D modelling, CAD software, and other scientific/engineering applications have similar UI. Wayland makes it difficult, though, because there isn't a good way to request or suggest the kind of positioning these programs need [1].
Anyway, that said, I, too, have lived with a mostly Wayland desktop for a few years without too many issues, even as someone who doesn't have the most "typical" workflows or needs. So, to an extent, I think you're not wrong; the idea that Wayland is *entirely* unusable is, obviously, not true.
But again, key point, *mostly* Wayland; without Xwayland or similar, I think it'd be genuinely unusable for me and likely many others.
While the compatibility layers genenerally work well, and in many ways, still provide many of the benefits of Wayland, like security, I don't think it's unreasonable to want a better, native way to deal with some of these issues so that people can drop the additional legacy abstraction.
---
[1]: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/m...
[2]: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/i...
Related:
- https://github.com/PCSX2/pcsx2/issues/10065
- https://github.com/mpv-player/mpv/issues/8692
---
EDIT:
I think it's also worth noting that just because /our/ Wayland experiences haven't been too bad doesn't mean that its the case for everyone.
As I, and several others, mentioned in other comments, there are several implementations of Wayland compositors, for example. Our particular choice of components/desktop environments might be fine, but others may be more broken or intentionally lacking support for useful/semi-necessary "optional" extensions to the protocol.
It'd be one thing to intentionally pick a bad implementation as a user and then complain about it. But sometimes, people aren't aware they're using Wayland in the first place, let alone which compositor they're using.
As a developer, even if you don't care for a particular implementation, unless you do as PCSX2 did, you'll still likely need to think about everyone elses' quirks as well, because too many of your users will also be users of whatever is most problematic -- e.g., GNOME is very popular and also has/had been one of the more annoying ones.
I understand how you feel, now that I use Wayland everywhere myself. But I still remember when some things I used has issues and I have a whole list of a dozen of them.
Even now, using Wayland involves a LOT of compromise on my part. I'd have to stop my anger at CSD and issues with Global Menu a lot out of tiredness (still annoying - I have to run OBS in xwayland temporarily to access its remux menu). I have to contend with not having unattended remote desktop for my Linux devices. And I have to manually change how I set up fcitx5 instead of just setting it up in three lines in Home-Manager.
It's full of annoyances, but I'm tolerating it. Others... probably just don't have the patience, especially the devs who are supposed to fix these things for their app when they just want to focus on other things (especially multiplatform devs).
Similar, but much less catastrophic, to how Android isn't great for blind users, or people who want to do low-latency audio production, Wayland is actually great for most users, despite not appealing to extremely niche use cases. It's objectively better for most real-time use cases.
I exclusively use X11 because of an extremely niche use case, and I can admit that Wayland is perfectly fine for 99% of things anyone wants to do with a computer. It's not a square wheel at all.
What ways specifically?
I sincerely doubt this. The project hasn't organised much in the way of receiving user reports, and anyone with a negative one has experienced various levels of hostility: you are usually suspected of user error.
The distro's that have switched also target devs/enthusiasts, who tend to have a particular subset of all possible hardware which leads to biased impressions.
I think many don't quite understand that much of the hairyness in Xorg is necessary: it's the hardware that dictates the requirement of those 1001 little workaround. A clean slate doesn't mean the slate can stay clean: you either choose to support all of those unperfect devices, device-combos, user requests, or, and that seems to be what happened, you focus on a narrow happy path (for the kind of people the devs themselves see) and leave it at that. I don't mins that, but I do mind anyone arguing Wayland should be or is going to replace anything; look at the negative user reports. It's nowhere near there.
> I exclusively use X11 because of an extremely niche use case, and I can admit that Wayland is perfectly fine for 99% of things anyone wants to do with a computer. It's not a square wheel at all.
This had me thinking about digital NIMBYism. Suggest others do one thing, while you do the opposite, because your reasons make sense.
You still haven't addressed PCSX2's, or anyone else's, concrete reasons.
I've used Wayland before; it's great. Most people aren't gamers; everything PCSX2 wants to do is something that 99% of people do not care about; for the majority non-gamer software, allowing a window to manage absolute position is pointless, or even bad. Apps shouldn't be able to force CSD if the user doesn't want it; GNOME is respecting user preference (and that's not a Wayland thing). Even so, it still works with XWayland. For Wayland users, there is no service disruption. Aside from people who dislike XWayland, anyway.
Proprietary NVIDIA drivers being broken is an NVIDIA thing. Swapchains causing segfaults happened any time you used direct rendering from like 470 to 525, even on X11. They don't make great Linux drivers.
> I exclusively use X11 because of an extremely niche use case, and I can admit that Wayland is perfectly fine for 99%
I am also married with a nice girl, but the girl next door, looks much better. /s
> But Wayland is just broken, and everyone would rather sit around arguing with each other instead of actually addressing the design flaws.
> It's not the first time such a proposal has been put forward. Something that developers need for their applications to work properly on WL (particularly multi-window applications), and it gets vetoed. Every other OS manages this fine. But apparently we're in the wrong for not conforming to some warped view of how applications should be, despite our applications working fine on every other platform.
This is so damn true. Wayland lacks a Linus-style BDFL saying that the kern... the compositor is for applications, and not the other way around. We won't have nice things until Wayland maintainers stop thinking about what their end users must or must not do, and start closing feature gaps with X and compositors/window managers on other OSes. Right now they're reinventing the wheel while making it square.