XWayland (and therefore Zoom, IntelliJ IDEA, any game that runs on Wine, etc) has been borderline unusable for years due to Nvidia not supporting the way a system synchronises its rendering with the GPU, but recently all of the changes that facilitate a newer, better (and most importantly, a directly supported by Nvidia) way of synchronising got merged. This driver is the final piece of the puzzle and I can confirm that all Xwayland flickering has gone away for me.
Nvidia didn’t implement implicit sync because it was stupid and also didn’t really solve anything, it still had performance issues.
The real problem with explicit sync wasn’t Nvidia, it was the fact everything and everybody has to implement it. This problem was worse under a stack like Wayland where every piece has to reinvent the wheel.
The missing piece of the puzzle wasn’t one piece, it was all of them: explicit sync had to be implemented in the kernel, and in drivers, and in graphical libraries, and in compositors, and in apps and so on.
Nvidia released it after it was stable in the kernel.
They don’t care about Wayland or any other userland applications except their own. They don’t have to schedule their development around Wayland, why would they? It’s an emerging stack that’s not yet in use across all the Linux desktop, which is like 1% of their user base anyway.
Great points. Especially the last one, there’s been a lot of vitriol directed at Nvidia lately for “dragging their heels” or whatever, but I don’t blame them for not wanting to implement a crappy stopgap and I certainly do not blame them for the time it took to get e.g the Wayland protocol merged. I think people simply love complaining in the Linux community.
I’ve not been having a pleasant experience with it, but X11 has its own share of issues as well. They have different issues though, my problems in Wayland are not identical to the problems i have with X11. PopOS under Wayland has been the most usable so far, but I’m hoping that when this update hits the stable branch it’ll finally make Bazzite practical as my main OS.
I can’t use my two monitors on X11 because they’re different refresh rates unfortunately. I’d have to either lower the refresh rate of my main monitor to match my secondary monitor (ew) or disable my secondary monitor completely. I get the flickering in Wayland also sadly.
Oh yeah for sure, it works great when I set my monitors to the same refresh rate, but I’d prefer to not have to do that because it’s a pretty big difference between them. My secondary monitor is 165hz, but my primary monitor is 360hz, and trying to run them at their native refresh rates at the same time in X11 doesn’t work at all. I’d have to set the 360hz monitor down to 165hz to match my secondary monitor before things become usable.
Wait Wayland is bad on Nvidia in the dark times before today?
XWayland (and therefore Zoom, IntelliJ IDEA, any game that runs on Wine, etc) has been borderline unusable for years due to Nvidia not supporting the way a system synchronises its rendering with the GPU, but recently all of the changes that facilitate a newer, better (and most importantly, a directly supported by Nvidia) way of synchronising got merged. This driver is the final piece of the puzzle and I can confirm that all Xwayland flickering has gone away for me.
Nvidia didn’t implement implicit sync because it was stupid and also didn’t really solve anything, it still had performance issues.
The real problem with explicit sync wasn’t Nvidia, it was the fact everything and everybody has to implement it. This problem was worse under a stack like Wayland where every piece has to reinvent the wheel.
The missing piece of the puzzle wasn’t one piece, it was all of them: explicit sync had to be implemented in the kernel, and in drivers, and in graphical libraries, and in compositors, and in apps and so on.
Nvidia released it after it was stable in the kernel.
They don’t care about Wayland or any other userland applications except their own. They don’t have to schedule their development around Wayland, why would they? It’s an emerging stack that’s not yet in use across all the Linux desktop, which is like 1% of their user base anyway.
Great points. Especially the last one, there’s been a lot of vitriol directed at Nvidia lately for “dragging their heels” or whatever, but I don’t blame them for not wanting to implement a crappy stopgap and I certainly do not blame them for the time it took to get e.g the Wayland protocol merged. I think people simply love complaining in the Linux community.
There’s a simple solution. Open up your drivers Nvidia, like Intel and AMD have done.
I’ve not been having a pleasant experience with it, but X11 has its own share of issues as well. They have different issues though, my problems in Wayland are not identical to the problems i have with X11. PopOS under Wayland has been the most usable so far, but I’m hoping that when this update hits the stable branch it’ll finally make Bazzite practical as my main OS.
X11 on Bazzite is perfectly working for me. Wayland was causing too many apps to flicker.
I can’t use my two monitors on X11 because they’re different refresh rates unfortunately. I’d have to either lower the refresh rate of my main monitor to match my secondary monitor (ew) or disable my secondary monitor completely. I get the flickering in Wayland also sadly.
Both monitors are working perfectly for me on x11 using the 165 refresh rate.
Oh yeah for sure, it works great when I set my monitors to the same refresh rate, but I’d prefer to not have to do that because it’s a pretty big difference between them. My secondary monitor is 165hz, but my primary monitor is 360hz, and trying to run them at their native refresh rates at the same time in X11 doesn’t work at all. I’d have to set the 360hz monitor down to 165hz to match my secondary monitor before things become usable.
That sucks man.