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.
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.