Not an nvidia dev, but so far all my cards been nvidia, went over a quite a few of them, both laptop and desktops. In my experience they just work once you install proprietary drivers and the only type of a problem is when ubuntu silently decides to upgrade it behind your back - in this case you need to restart the machine so kernel modules match the drivers.
In my experience they just work once you install proprietary drivers
That's not my experience with dual-GPU (Intel+Nvidia) hardware and multiple displays, where the standard xrandr functions are often used to modify the output configuration.
In my case, the Nvidia GPU is supported by Nouveau, so I can compare it with Nvidia's proprietary drivers "side-by-side". With Nouveau, display output configuration and per-application GPU selection both "just work" (I did add a nouveau.config kernel parameter to enable acceleration). I've never been able to make the proprietary drivers do those things reliably.
So I suggest that users with simple single-display, single-GPU systems are likely to have a better experience with the proprietary drivers.
As is the general consensus here, I do not plan to purchase any Nvidia GPU hardware in the future, especially considering that more recent Nvidia GPUs now require signed firmware, making Nouveau support impossible.
I agree. Nvidia drivers work fine for desktop systems with a single GPU and a single display. Everything else is a bit hit and miss. Here are a couple of real world experiences I've had with using linux on systems with nvidia.
Laptops with switchable graphics are the worst. You might have set up switchable graphics with bumblebee or something thinking that everything works fine. Until you need to connect your laptop to a projector for holding a presentation or something. Then you find that you can't connect an external display without disabling the integrated graphics in UEFI settings (causing terrible battery life), because the hdmi out is only connected to the nvidia GPU.
I've also had issues on a desktop with two monitors recently, where nvidia wouldn't respect my preferences for main monitor. The XFCE main panel would be stuck on my secondary monitor, as nvidia has decided that it is the primary display, even if I've selected something else in settings. If I worked around this by creating a new panel on the correct monitor, this panel would not be visible if I try to connect remotely with XRDP.
Do agree for the most part, I had issues every now and again with having to downgrade cause some games didn't work on the newest driver. But for the most part they've been pretty ok
That's still neither Ubuntu, Linux or the user's fault. It's still 100% Nvidia's responsibility. So, even with context it looks bad. OS auto-updates should never break the system, and if it does, you're a bad engineer doing bad things. An update causing the system to show no video signal is awful.
Having multiple versions of a kernel doesn't solve this issue. It's the driver dying and video signal stops working until system reboot that is really a bad implementation. Your new driver should work at least well enough with the previous kernel as to at least prompt the user that a reboot is necessary to finish the update. Bad engineering.
Proprietary nvidia driver consists of (at least until recently) from two parts - closed userspace part and open kernel part. Those parts talk to each other with some protocol they change every once in a while and the only combination they support is that kernel module and userspace part must be of the same version. When they mismatch you still get video, you don't get acceleration. And reboot fixes the problem.