Wayland the protocol has very little to do with graphics drivers (it's just about getting window content to compositors). It's just that the display server (X server or wayland compositor) uses a set of agreed upon kernel APIs (DRI) to render and display things on the screen, which Nvidia refuses to fully implement (GBM vs.EGLStreams). The X server has extra code to support this, but many wayland compositors don't. Semi-recently Nvidia (in the form of Erik Kurzinger) has started contributing such special treatment code to Gnome and KDE. A major hold out is wlroots, the maintainer of which refuses special handling code for proprietary components (https://drewdevault.com/2017/10/26/Fuck-you-nvidia.html), but recently there has been a 3rd party contribution for an EGLStreams backend.
Additionally the Xwayland team are right in the middle of merging code to allow specific acceleration of XWayland windows and Nvidia and the wlroots team are working on building a new memory allocation solution based on Vulkan that will hopefully finally solve the EGLStreams debacle once and for all.
So: It kind of works and is improving fairly rapidly.
It still requires changes to Nvidia's proprietary drivers that I think have not been done, but it maybe that this year it will be settled.
Edit: Also it maybe that the Ubuntu choosing Wayland maybe what pushed the Nvidia forward? [2]
[1]: https://www.omgubuntu.co.uk/2021/01/ubuntu-21-04-will- use-wayland-by-default
[2]: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests...
Gnome and KDE support Wayland on nvidia hardware (though it's a bit rough around the edges). Wlroots (and therefore Sway) doesn't because they don't want to have a separate code-path for one driver which doesn't want to support standards and because the APIs the driver does support wouldn't work well with the code model of wlroots.
So I fully support wlroots developer's approach to it - show Nvidia to the door until they come back with upstreamed driver.
Waiting for Nvidia to fix this mess is pointless. Nvidia will be DOA as long as they refuse to upstream their driver or to support Nouveau to begin with. And they didn't show any interest for years.
On Turing and later, you can also enable this: https://download.nvidia.com/XFree86/Linux-x86_64/460.56/READ... to totally turn off the dGPU when not in use.
PRIME doesn't work because they only implemented it half way. After decades of not implementing anything that is. I call such level of support complete garbage.
You can even get an old model of the AMD card. It only need to run the desktop stuff, so you can buy a five year old used card.
OpenCL (that's what Blender, DaVinci Resolve, etc use for their acceleration) is a layer above ROCm, and it runs. Not very nicely, but it does and is supposed to receive more attention in future.
Also, you can still use one gpu for desktop and other for compute.
There was some brief announcement about some kind of open sourcing news a while ago which could be it, but nothing came out of that.
So you can still apply the take of Nouveau developers themselves - simply use AMD.
[1] https://www.phoronix.com/scan.php?page=news_item&px=NVIDIA-4...
[2] https://www.phoronix.com/scan.php?page=news_item&px=NVIDIA-4...
As of this morning's Nvidia's market cap ($320B) is bigger than AMD's ($100B) and Intel's ($255B).
OpenCL/AMD is a usable and mature platform, right?
AMD themselves aren’t really committed to OpenCL given the state of their OCL 2.x drivers and went to their own AMD-only path (ROCm/HIP), which is broken... (and only supported on a single gen of customer GPUs today, Vega) It doesn’t even work on RDNA or RDNA2 officially today.
I have, however, seen attempts to use Vulkan for compute. Could that be a viable way forward?
It's true that its ecosystem is sadly lacking.