The day is finally here. Xwayland now has the code for Explicit GPU Synchronization merged after waiting over a year for everything to be ready. It's a pretty big deal and should make NVIDIA GPU users especially happy in future.
From the merge request that was originally opened by Erik Kurzinger from NVIDIA:
Here is our proposal for adding explicit GPU synchronization to the DRI3 and Present extensions, along with an implementation for Xwayland. While we at NVIDIA may be particularly keen to have this in place, since our driver lacks implicit sync support, a general consensus seems to be forming around the idea that explicit sync is the best path forward for the Linux graphics stack. Xwayland will likely remain an important component in that stack for some time yet, and therefore I feel that this work will be of long-term benefit to the community more broadly.
The design takes inspiration from the proposed Wayland wp_linux_explicit_sync_v2 protocol [1], making use of DRM syncobjs as the main primitive. I believe this offers a few benefits. One, having both X11 and Wayland use a similar mechanism for explicit sync will simplify development for client-side drivers, and two, it will also hopefully make it fairly straight-forward for Xwayland itself to add support for the Wayland explicit sync protocol, presumably once it's more widely implemented by compositors.
I've tried to keep this initial proposal focused on getting a usable GPU synchronization primitive in place, and adding support for it to the PresentPixmap request, believing this to be the most important part of the presentation pipeline. Other use-cases for this primitive are conceivable, for instance perhaps in the Damage extension, but I feel that those are best left for later.
Not much is left to get everything all hooked up nicely, with an upcoming NVIDIA beta driver that should have support for it next month. The code for GNOME has already been merged, KDE has a merge request open for it too, Mesa also already has it merged in.
Nice to see it finally there.
Last edited by Spurlos on 10 April 2024 at 10:13 am UTC
Does this mean we should probably have no more ghosting, stuttering and massive visual issues on Nvidia? If that's right I might try gaming on Wayland again :D
I'm actually curious about this too. I recently tried switching over to Fedora as I want to be done with Windows, but using the newest nVidia driver, there was a lot of... blinking/flickering all over the place on anything that was GPU accelerated or needed to be drawn by the GPU. That was a big no-no and I ended up coming back to Windows 11 for the time being. I have no interest in using any distro still on xorg so I decided to play the waiting game for a while more. If this fixes it, I would be very pleased.
Last edited by kftX on 9 April 2024 at 4:21 pm UTC
I wonder if every bit will fail in the right place for the OS like Ubuntu 24.04 LTS to get it working, or people who are stuck with LTS releases would have to wait for another two years to get everything in the main repos?I'm afraid this is too late for 24.04 - maybe for 24.10?
It'll probably make 24.10, but the damage will be done in terms of LTS support. That's the biggest drawback of the LTS approach, although I was a big advocate until a couple of years ago. The stability was epic, and you still got decent updates through PPA updates. But not all the shiny updates, sadly. Maybe they'll backport, but it's more likely to go on hold, at least until they do that HWE update thing they pitch every year or so.I wonder if every bit will fail in the right place for the OS like Ubuntu 24.04 LTS to get it working, or people who are stuck with LTS releases would have to wait for another two years to get everything in the main repos?I'm afraid this is too late for 24.04 - maybe for 24.10?
Yeah, I wish NixOS has an official LTS channel - you can already do multiple nixpkgs channels with flakes, but they only really focus on latest Stable and Unstable.It'll probably make 24.10, but the damage will be done in terms of LTS support. That's the biggest drawback of the LTS approach, although I was a big advocate until a couple of years ago. The stability was epic, and you still got decent updates through PPA updates. But not all the shiny updates, sadly. Maybe they'll backport, but it's more likely to go on hold, at least until they do that HWE update thing they pitch every year or so.I wonder if every bit will fail in the right place for the OS like Ubuntu 24.04 LTS to get it working, or people who are stuck with LTS releases would have to wait for another two years to get everything in the main repos?I'm afraid this is too late for 24.04 - maybe for 24.10?
I wonder if every bit will fall in the right place for the OS like Ubuntu 24.04 LTS to get it working, or people who are stuck with LTS releases would have to wait for another two years to get everything in the main repos?
LTS releases get newer versions of the kernel and Mesa every six months until the next LTS.
See more from me