When using Linux i’ve regularly encountered the “it just works” argument and then been disappointed when it in fact did not.
The only thing I can do is accept that my own experience with Linux is unique and try to optimize for my own situation. Nvidia has historically been decent for me but AMD has been significantly better.
Just don't use Wayland, don't use too many screens, don't use a laptop, don't run a recent kernel and don't expect software features like their special sauce screen recorder, or that trick where you can get a free camera inside a game, or anything else packed into their gaming toolkit on Windows. Oh, and accept a very high idle power draw if you choose not to go with Windows.
With all of that, most games work out of the box. CUDA works, video encoding and decoding works (though you're severely limited in terms of the number of simultaneous streams without hex editing the driver).
I do get the occasional Nvidia related crash, but it's been a while. Still, I don't think I'll ever consider buying Nvidia for a Linux device again. I was a fool to think "Nvidia has come a long way, I'm sure a laptop with an Nvidia GPU will work fine with a few tweaks".
On a Lenovo gaming laptop, I have lost two days until finding how to configure Linux on it against Nvidia Optimus, but after that it has worked fine.
On the other hand, on several Dell Precision laptops with Nvidia GPUs (sold with Ubuntu, but I have wiped their Ubuntu and I have installed another Linux distribution from scratch) the Nvidia GPUs have worked perfectly, out of the box, without any effort.
I have not tried Wayland, but I have used 3 monitors for many years, with various Nvidia GPUs and without any problems. The configuration of multiple monitors with the NVIDIA X Server Settings program is much simpler than in Linux systems with AMD or Intel GPUs.
Because almost every new Linux kernel version breaks the out-of-tree device drivers, it is unavoidable that some time must pass until NVIDIA releases a compatible driver version, though that might change soon, when their new open-source kernel module will be integrated in the kernel sources.
Nevertheless, the NVIDIA driver has always supported the latest long-term kernel, so if you update only between long-term versions there are no problems with incompatible NVIDIA drivers.
Still reasonable
> don't use too many screens,
Is there too many?
> don't use a laptop
Never bought one with a dGPU due to NVH concerns
> don't run a recent kernel
Using nvidia drivers on Arch for years now, what seems to be the problem, officer?
> don't expect software features like their special sauce screen recorder, or that trick where you can get a free camera inside a game, or anything else packed into their gaming toolkit on Windows.
Yeah their desktop-software on Linux is clearly the same stuff they had in 2004, right down to the Qt 3.1 version it's built with and the gamma ramp editor.
> Oh, and accept a very high idle power draw if you choose not to go with Windows.
Power management worked exactly identically to Windows with every nVidia card I've ever seen on Linux.
> a laptop
I think this is the actual salient issue here. Firmware quality varies wildly on laptops, not just for stuff like this, but even much more... basic things. Intel AX2xx wifi cards cause crashes and freezes in both Windows and Linux when used in some laptops (Thinkpads, namely), but are perfectly fine and dandy in others, or on desktops.
I suspect firmware quality correlates strongly with how much the OEM decided to write, which is to say, it gets worse with every line of code added by the OEM. I think that's why Thinkpads, HPs, Dells etc. are so notorious for their shitty firmware and trashy ECs, while practical no-names have none of these problems, simply because they're more or less just sticking the Intel (or AMD) reference platform in a box - and suddenly it "just works".
NVidia are literally the only game in town for video editing, because AMD won't provide compute acceleration in Linux.
Sure some of those could be solved by sending weeks trying hacks things like VA-API over NVDEC emulation, but at the end of the day this is waste of time, tl:dr everything works on Nvidia Windows, many things broken on Nvidia Linux.
NVidia on Linux is only good for non desktop use : cuda/compute/ml over ssh.
AMD is the exact opposite, desktop things work better except there is no cuda/compute/ml
So if you want something that works over the whole spectrum : desktop, wayland, compute/ml, video enc/dec, screen sharing, etc. it doesn't exist on Linux