Status Of Wayland Support?

What is the status of Wayland support in the Nvidia drivers on Linux? Last I heard was back in October Nvidia announced plans to support Wayland with a new EGL implementation that is supposed to be able to run outside of X11.

Is there any news on this I missed? Is wayland support already here?

Looking (while tapping my foot :P) for this along with MIR support.

We have not seen a beta driver in a long time, maybe they’re cooking up something big… ;)
I hope it lands in the Gnome 3.18 development cycle, since Gnome might have to do some work because they won’t use GBM like the traditional Mesa stack.

Well, heres my source that they are planning to do this. Nvidia hasn’t exactly been loud about this, but judging by that, it will be easy for MIR to tap into the new EGL implementation even without any specific attention from Nvidia. I believe their goal is making something that will work regardless of what display server you’re using instead of being dependent on X11 like all former implementations.

It seems that we have had this non-x11 EGL support since version 346.xx (as stated in that article), I noticed I am running 346.xx myself and could confirm the presence of new egl files in /usr/lib/nvidia/, so as blackout24 said, I agree they’re probably cooking up something big for 347 or 350 (or whatever the hell their next version will be). The problem is that this new EGL implementation we’ve got doesn’t have proper KMS support yet (which is of course required for running wayland) judging by how long it’s been since we’ve had a beta driver.

I’m hoping we’ll see something in the next release judging by this. It’s the obvious next step to add in full kms and wayland support, Mir won’t be far behind if this is the case. But in the end, this is all speculation :(

Wayland doesn’t require KMS. Wayland compositors who use that as their modesetting API do. You could implement any other modesetting API, but the NVIDIA driver doesn’t expose one. On the Raspberry Pi weston plugs into its Dispmanx API for example.

The biggest hurdle will probably be legacy X support, since Wayland and Mir have two different approaches.
First Xwayland was a module for Xorg and required patches for your xf86-video-* DDX drivers to work. Now it is its own server (like Xnest, Xephyr etc.) with its own binary /usr/bin/Xwayland that is hardware accelerated through DRI3 and GLAMOR for 2D. NVIDIA said that this makes it harder for them to support direct rendering/hw acceleration in Xwayland.
XMir still seems to be the old way, even though following the new Xwayland approach would benefit Canonical, since they would not have to maintain all their patched xf86-video-* drivers downstream. Intel rejected their patches for xf86-video-intel in the past. So vendors will definitively have to do some extra work to support both.

There also seem to be some platform specific EGL extensions that vendors have to implement.

Sorry for digging up such an old post or possibly speaking out of my depth but why is XWayland et al that much of a concern for nVidia? Isn’t it just a compatibility option being created to support legacy applications? Wouldn’t anything that reliably got it up on the screen be enough for people in that scenario?

It’s much of a concern, because NVIDIA provides drivers for UNIX like operating systems mainly for professional customers, because they make them money. They often use not so bleeding edge software that might rely on older (or custom) toolkits that don’t support Wayland natively. So they need a way to still use their software with all the direct rendering and hardware acceleration capabilites in the future.

“Wouldn’t anything that reliably got it up on the screen be enough for people in that scenario?”

Yes, but that “something” still has to be engineered and implemented in such a way that it doesn’t introduce any regressions. It’s not as easy as simply doing it.

When asking Nvidia for the status of Wayland support, it might be worthwhile to remember the status of Wayland itself. The latest version of Fedora just started to test it at the login screen only. It obviously isn’t ready for anything else yet. Wayland maybe the future but it isn’t the present. When the first version of RHEL that only supports Wayland appears, then there most probably will also be Wayland support from Nvidia. My guess is that’s at least five years from now. That’s just my two cents though.

“It obviously isn’t ready for anything else yet.”

That’s BS. The only real regression you’ll notice when using Gnome on Wayland is that copy and paste between Xwayland and native apps doesn’t work, but that was implemented a few days ago in the development branch for Gnome 3.18. Everything else looks and works just fine. I’m using it on my old laptop fulltime, because I can live with that. Even on nouveau its better than Gnome/X11 with the NVIDIA blob and redrawing issues. At least on a Wayland compositor I can drag a window around with out the mouse cursor lagging behind it even if on a beefy system running at the higest performance state.
Fedora actually wants to switch over Rawhide to Wayland by default for the Fedora 23 development cycle and I don’t see why they shouldn’t.

Not meaning to derail the discussion but: RHEL going Wayland will probably be when it gets to the “not really optional anymore” stage but they don’t typically add something to RHEL until development on it has settled down to a dull roar (they could be providing some level of support for it for the next decade, after all). Part of the function Fedora provides for RHEL is that it handles issues with unstable technology so the expectation is that Fedora will be made to work on Wayland+nvidia and RHEL will just inherit that support. Also five years seems like a padded number.

RH typically goes 3-4 years between major versions of RHEL and we’re almost done with our first year of RHEL7. That means it’s 2-3 years until RHEL8. With the next version gearing up to be Wayland-by-default and RHEL8 likely being based on some of the upcoming versions of Fedora, Wayland could (assuming hardware support is there) be on enterprise desktops in 2-3 years (not counting lead time given by people waiting for bugfixes, etc).

Let’s hope NVIDIAs Wayland implementation will be good. Wayland and Mesa devs have some doubts about the EGLStreams approach that NVIDIA is pushing.

Let’s hope Wayland will be good. At the moment it is still trying to make the transition from paper tiger to real tiger.

Well try it out. Use Gnome or get a Jolla Phone. It works just fine.

Still no news? It’s been roughly 9 months since nvidia’s announcement to support wayland, it can’t be taking this long!

What exactly are you basing this on? It took Kwin 4 years to get Wayland support. Ok, Wayland itself was not ready yet back then, but still. Switching to a completely new display server is far from simple.

Also, Nvidia never discusses future plans or release dates. Things happen when they happen. You’ll know there’s Wayland support when a driver release is made than contains “Wayland support” in the changelog and not a second before.

Let them correct some horrible bugs in current drivers first.

Especially PRIME…but its kinda ridiculous how NVIDIA remove capabilities from the linux drivers touting “Feature Parity” between Windows and Linux when the NVIDIA Linux drivers are nowhere near equal to the windows drivers in terms of configurability and optimus… Why not just let the linux driver keep it’s higher capabilities over windows when it happens, and later on upgrade the windows drivers; I’ve always wondered. (Why are nvidia thinking so small…)

Anyhow, is there any update on Wayland support? or still in progress?

Today the 358.13 stable driver was released with a new nvidia-modeset kernel module for DRM support. Does this mean we have Wayland support yet?

I’d check myself but I don’t have the right hardware on hand at the moment.

The nvidia-modeset kernel module isn’t entirely new. It was also part of 358.09. It also doesn’t implement the KMS API, yet. It’s just the base for future improvements. KMS alone also would not make the driver work with various Wayland compositors.

There are some EGL Wayland platform extensions missing and NVIDIA won’t implement GBM which is used by the open source mesa driver. Instead EGLDevice, EGLStreams etc. will be used for various reasons listed here:

It looks like Wayland compositors will have to implement support for this in order to use NVIDIAs Wayland stack at some point.

When will all this be complete? Nobody knows. NVIDIA is clever enough not to bind itself to any specific release dates. It will happen when it happens.

Thanks for your thorough reply, I thougt Nvidia’s EGL implementation was already ready, leaving only the KMS implementation; was I off?

Right now I guess there’s little use rushing things though, the ground is shifting so damn much in the graphics department, with Vulkan and Dx12 and whatnot, we can’t even be sure if Wayland 2.0 or 3.0 whenever they’re released will still depend on EGL or if it will switch to Vulkan (nor whether it will support both, it would make a lot of sense to support both, but wayland doesn’t have that backwards compatibility policy that Xorg has, and besides some group is already working on a GLES to Vulkan translation layer (Think Silicon) and they seem to have it already working to some extent; if it plays out, Wayland could use that to drop GLES support in favor of Vulkan, who knows…)