This post is in part a response to an aspect of Nate’s post “Does Wayland really break everything?“, but also my reflection on discussing Wayland protocol additions, a unique pleasure that I have been involved with for the past months.
Before I start I want to make a few things clear: The Linux desktop will be moving to Wayland – this is a fact at this point (and has been for a while), sticking to X11 makes no sense for future projects.
By switching to Wayland compositors, we are already forcing a lot of porting work onto toolkit developers and application developers. This is annoying, but just work that has to be done. It becomes frustrating though if Wayland provides toolkits with absolutely no way to reach their goal in any reasonable way.
Many missing bits or altered behavior are just papercuts, but those add up. And if users will have a worse experience, this will translate to more support work, or people not wanting to use the software on the respective platform.
What’s missing?
- Window positioning
- Window position restoration
- Window icons
- Limited window abilities requiring specialized protocols
- Automated GUI testing / accessibility / automation
I spent probably way too much time looking into how to get applications cross-platform and running on Linux, often talking to vendors (FLOSS and proprietary) as well. Wayland limitations aren’t the biggest issue by far, but they do start to come come up now, especially in the scientific space with Ubuntu having switched to Wayland by default. For application authors there is often no way to address these issues.
To me, saying “wayland breaks things” is putting it backwards: at this point, it should be “[thing] still doesn’t work on wayland”.
Yeah.
If I installed, say, a messenger app on my phone that supports Android 4.0 but not Android 13, my reaction wouldn’t be “Android breaks this app!!”, my reaction would be “wow, this app hasn’t been updated to support any modern Android version, they need to fix that”
If Wayland was brand new and X11 was going to be killed in the very short term, then I’d agree, but that’s not the case. Wayland is over a decade old. Prominent distros have had it as the default since 2016. Shit, Debian has had it as the default since 2019. And that’s Debian.
I use an app to control the mouse and keyboard of my home theater PC from my smartphone. Will that ever be able to work?
Err… KDE Connect works for me. Have you tried it?
That PC is on Ubuntu LTS so it didn’t come to mind. The app I’ve been using is called Unified Remote and was generally pretty neat, not so much about tying my phone to the PC.
100% for the applications I use daily.
They did bring up a few specific scientific applications though that can’t be ported right now even though they would.
Can people who very clearly haven’t read the article stop commenting the equivalent of “works on my machine”, please? I know it’s a long article, but it’s worth a read. It’s not anti-Wayland and it’s definitely not pro-X11. It just outlines a few limitations of Wayland and problems with how Wayland is currently being developed. It’s a great follow up to Nate’s blog post, which was posted here a while back and got pretty popular.
I forced myself to use Wayland for a week.
Most of the applications worked out of the box. For some I had to manually change the settings and/or environment variables to make them work on Wayland… And single ones did not work at all.
If it weren’t for the fact of these “single ones” I would have stayed on Wayland.
However, as long as I can’t use my system fully functionally, I remain on XOrg.
What are these “single ones”, if I may ask?
What apps didn’t work on Wayland at all? Java apps usually work through xwayland, and most other toolkits are wayland native. Of course, except features like screen sharing, which have to be supported by the developer. And 5 missing features from the blog.
I’ve been using fedora for the last couple years and I finally got an AMD card for myself and holy shit Nvidia sucks. Everything I thought was a Wayland bug was just an Nvidia bug
yeah, at the end of the day there is zero reason to ditch a perfectly working setup while it’s still supported by distros… computers are for productivity I really do not understand why so many people insist everybody must migrate now :)
If they didn’t insist on it, things would migrate never :)
but they who? I will not change a bit of my setup because a random internet neckbeard mandates that lol :P
Don’t cry us a river once you are actually forced because party of your system are out-dated or programs are not working as expected anymore. Times move on.
rotfl, rest assured I would not cry you nothing even if I wouldn’t be able to do basic maintenance to my things.
It’s time you figure out you are not an elite superhaxxor because you use a software or another 😭😭😭 or maybe not, after all I’m here for the lulzeh “ok”.
Unpopular opinion, maybe, but Wayland has been just fine for me. All amd system, single monitor, on fedora since f37. Even before that, on other distros like Manjaro it was fine. I don’t think I use anything that really cares what display management I use.
I can sympathize with those that this is an issue. As Wayland continues to becoming the standard.
Same here (thumbleweed, kde, amd), I’ve been using wayland for around a year with zero issues.
I meant to comment on this comment haha anyways
I just got an AMD card for myself and holy shit. Everything I thought was a Wayland bug was a Nvidia bug. I’ve been using fedora for a couple years now.
I’ve been using Wayland since like 2016 and the only issues I’ve had have been with Discord and Steam’s in-home-streaming (and they still aren’t sorted).
Everything other than that for me has been smoother than X11 ever was.
If Discord and steam streaming were a deal-breaker to me though, then I’d obviously use X11 still. Apps need to have proper support.
Yea, my experience with Wayland has been that things work but most work through Xwayland so I may as well keep using X11 anyways. If things aren’t easy to port over it will hurt adoption.
Everything works fine for me on AMD system with Pop. These types of posts are usually from folks with systems that have poor compatibility. That’s not Wayland’s fault.
Meanwhile, after updating my nvidia driver to 545.x, I can no longer play games on Wayland due to heavy flickering. Ah well, at least I can still switch to X11 for gaming. But Nvidia really drag their asses when it comes to Wayland (or linux gaming in general) support.
I got lucky and found an Rx 5500 for $70 in a pawn shop. I had a 1650 for a while and I didn’t realize how bad Nvidia drivers actually are. All the bugs and flickering is gone. I thought it was Wayland not being ready but Nvidia is actually just trash
Gaming still works fine for me on 545. It’s just that every other XWayland program flickers endlessly. Thunderbird, Freetube, Bitwarden…
God I hope NVK is the driver I’m using happily by the end of this year.
You’re right, it’s seem to be xwayland issue. All games games that run on proton is unplayable due to flickers, but native linux vulkan games works smoothly. I somehow thought proton already supports wayland but turns out it’s still using xwayland. I’m pretty sure it’s not this bad on 535.
Hm, odd. I’m playing Rocket League with Proton fine with no flickering. I’m using KDE. Proton 8 shouldn’t have any of the Wine Wayland stuff yet…
And yeah, I had a massive flickering problem for my entire monitor on 535, but the problem is now localized to XWayland programs on 545, so it’s an improvement for me.
In my case, if the game framerate > monitor framerate, no issue with proton under xwayland. But if the game framerate < monitor framerate, it’ll flicker or stutter heavily.
New vegas is smooth, while rdr2 would flicker and stutter.
I’ve been getting stutters for a long time. I’ve kind of come to accept it as part of the Proton / NVIDIA experience :) Though the stuttering has finally receded to almost nothing since running KDE Wayland. It’s actually a lot worse on X11 for me.
I haven’t checked, but Freetube and Bitwarden sound like they’re just electron apps, running them with
--ozone-platform-hint=auto
enables Wayland detection. You can add it to the app’s.desktop
file if it works.I’d completely forgotten about that. I do that for Signal already. Thanks for the tip! Bitwarden finally doesn’t lag (that was annoying the hell out of me) but Freetube is still a stuttery mess. FreeTube is an Electron-based program, so no idea…
(I just remembered I could startup Thunderbird with
MOZ_ENABLE_WAYLAND=1
too)It’s mainly just Steam that’s horrible…really, the worst one of the lot by far. Massive flickering in the client. Games themselves work fine though.
I experienced some bugs while gaming on Wayland even with an amd card. My workaround was switching back to X11 for gaming. That said, I didn’t even notice that I was using Wayland by default for a long time until Firefox completely switched to Wayland I experienced some heavy artifacts in Firefox (only if it’s full screen on my second monitor, but that’s a daily thing). And because of that, switching back to X11 isn’t a workaround anymore, unfortunately its my new default.
We built a new standard giving zero backwards compatibility, no path to migrate and removed existing functionality. You can’t blame us when things don’t work!
I see your point, but at the same time, Wayland isn’t brand new. Devs have had well over a decade to get their stuff Wayland-ready.
At some point, the likes of Nvidia really do need to be told to hurry up and get their stuff ready. We can’t stick to X11 forever.
Why should devs pay any attention to wayland when after a decade the project still suffers from severe deficiencies of functionality over X11.
Wayland is not supposed to be a drop-in replacement for X11. It will always have feature differences. There are things that X11 does that should not be handled by the display protocol.
And they should pay attention to it because X11 is dead. It’s in life support mode. It’s basically impossible to maintain. The devs have abandoned it for Wayland.
It can’t cope with modern desktop usage like multiple displays with different refresh rates (not without weird hacks and workarounds anyway), different displays with different scaling, touch support is awful, HDR support won’t be a thing, performance is worse, and security is terrible.
Wayland is the future of the Linux desktop. Pretty much all DEs and distros are on board.
Sure devs of random programs can say “I refuse to support Wayland!”, that is their right. But in doing so they are effectively deciding to abandon Linux development, because X11 is going the way of the dinosaurs, and if you think otherwise then I don’t know what to tell you. You’re living in a fantasy world.
It’s a massive change! Wayland hasn’t been ready either. They’re still debating support for features.
It’s been ready for general use for years, most distros have had it enabled for a long time.
But yeah it’s not ready for every use case. Then again, neither is X11, I suppose.
It’s not ready for existing use cases that X11 has. And won’t have some of the features.
The Wayland team, from what I can tell, seems to be comprised of “architectural purists”. They’re so concerned with the right way to do things they’re ignoring pragmatic impact to downstream apps. And so they debate over trivial things like whether to allow “windows to position themselves” and “whose job is that?” which is silly and has been solved by practically every other OS.
So yes - application teams haven’t caught up. But because Wayland is a huge lift from X11. You can’t just change everything and then bitch about how the rest of the world simply hasn’t “seen the light” yet. It’s a lot of work for an application team that provides zero new functionality for users. And it’s ridiculous that the Wayland team is trying to push blame on to others at this point.
Again, they’ve had well over a decade to move to Wayland. It hasn’t been suddenly sprung upon them.
If they don’t want to move, they don’t have to. But that does basically entail giving up on Linux.
And it doesn’t provide zero new functionality… I do things on my PCs that I can’t do with X11. Multiple monitors with different scaling and refresh rates, tear-free, 1-to-1 gestures, actual security, better performance, fewer bugs, soon there will be HDR. All stuff that’s either not possible with X11 or require hacky workarounds.
You talk of the “Wayland team”, but you need to understand… the “Wayland team” is the X11 team. They are the same people. They left X11 and have moved to Wayland.
Tbh, all of this bickering is futile. We know Wayland is the present (of most distros anyway), and the future. App developers can either accept that or they can abandon Linux. There’s not really a viable medium-long term alternative, even the slower-moving projects are moving to it. X11 is on life support.
This is like when everyone was complaining about the move away from DOS. At some point, people have to accept that the platform has been updated.
Are you under the impression that I’m arguing against moving to Wayland? I’m not. I’m saying the team has done a shit job of managing the migration. And yes - that’s the X11 team.
@TheGrandNagus @atzanteol I agree with you about purists and poor attitude towards reality but at the same time I’ve been using Wayland for a few years now without personally having issues
When I try it I get a blank screen and nothing happens. So. 🤷
I run Wayland and it’s definitely worse than X11, but it’s getting better day by day. I always struggle with Wayland and I literally did nothing different than installing KDE Wayland. For example, ever since I moved to Wayland, Firefox will randomly freeze and crash when I’m using my PC - this happens at least once per gaming session.
Also, Wayland is still not feature complete and assuming it’s the system fault for poor compatibility is wrong.
Just give arewewaylandyet.com a read.
I’ve been using sway for ~2 months extensively and didn’t experience a single firefox freeze or crash. Before that I played around with weston and firefox crashed every 15 minutes.
I disagree.