Looks like 2021 really could properly be the year of Wayland on the Linux desktop. For plenty it already is but NVIDIA have been a sore spot and it looks like they're moving forward now too.
NVIDIA's Erik Kurzinger has submitted a Merge Request to the xserver GitLab titled "Xwayland: Support hardware accelerated rendering with the proprietary NVIDIA driver", with the two patches included "intended to accompany upcoming support in the proprietary NVIDIA driver for hardware accelerated GL and Vulkan rendering with Xwayland". Kurzinger continues to mention that once a driver is out with the needed hooks, this code should "just start working".
The patches are being sent out to be considered, so that they can get some feedback and see if there's any substantial concerns about their approach to it.
As for the performance of it? They expect it to be "on-par with native X11 based on the benchmarking I've done", although there's "an annoying extra copy required for presentation of windowed applications, but the impact doesn't appear to be significant" and you shouldn't see it for full-screen applications as long as the compositor works with the zwp_linux_dmabuf_v1 interface.
Why is all this important? With Wayland coming along to replace X11 as a big shakeup for Linux as a whole, you need XWayland to provide that backwards compatibility to enable existing applications and games to continue working well into the future.
Because right now it is a bit of a sore sport, I tried already with patches from Adam Jackson, which kinda worked - albeit not wonderfully - but I had no Nvidia settings, and no Gsync.
Is it impossible for my graphics card vendor to do full Wayland support while keeping its driver closed?
Quoting: EikeI didn't look into Wayland yet, but XWayland is not the real thing, right?
Is it impossible for my graphics card vendor to do full Wayland support while keeping its driver closed?
What do you mean but "the real thing" ? If you ask whether a full X server will run, answer is no.
Nvidia already has wayland support, using standard egl extenstions. Rest of the Linux world uses custom (GBM) extensions. Then it becomes a question on who is right or wrong in this story. Nvidia says everyone else uses eglstream, Linux world says yes, but GBM has been there for quite some time. Both are kinda right. And neither solution is technically perfect either. Discussion to converge on a third solution that would be better for everyone have begun quite some time ago, but never converged I think ... That being said, code divergence is nothing dramatic here, there's not much difference between supporting one or the other.
As for Xwayland support, there has been some patch to make it kinda work for some time already, but it is not real good... I guess this is the "real" patch, the one that will completely and cleanly work. Red Hat has been spearheading full (x)Wayland support with Nvidia since at least 2 or 3 Fedora releases, so I guess this time it should be all in shape for Fedora 34. Also, the fact that red hat is dropping X server maintenance probably accelerated the movement from Nvidia, since only red hat still maintained it, meaning they basically declared the "time of death" by deciding to do that. And so, it will be Wayland or Wayland pretty soon now.
So it is completely possible for Nvidia to support wayland with closed source driver. It was just 1/ not wanting to support not standard egl stuff (right or wrong) 2/ probably thinking that as long as X still lived, why bother.
Last edited by 3zekiel on 7 January 2021 at 2:08 pm UTC
I hope the longstanding tearing issues with Nvidia GPU's can finally be fixed together with Wayland support.
Quoting: EikeI didn't look into Wayland yet, but XWayland is not the real thing, right?
No and yes, "XWayland" is like a container using X11 to run applications which doesn't support wayland natively, but since is isolated to the rest of the system, you can still benefit from some wayland advantages (alt + tab and alt + f4, for example, is way more responsive than x11).
Also, X.org developers will now work with only XWayland support instead of x11, so probably we'll have a optimized x11 running inside XWayland in future updates (and less bloated too)
Quoting: EikeIs it impossible for my graphics card vendor to do full Wayland support while keeping its driver closed?
Presuming is Nvidia you're talking about, right now the answer is yes because Nvidia proprietary drivers can't run GBM.
Quoting: 3zekielNvidia already has wayland support, using standard egl extenstions. Rest of the Linux world uses custom (GBM) extensions. Then it becomes a question on who is right or wrong in this story. Nvidia says everyone else uses eglstream, Linux world says yes, but GBM has been there for quite some time.
What do you mean by "everyone"? Nvidia is the only one that adopted EGLStreams, not to mention that they are the ones that created this "standard" that only they implement.
See more from me