Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A bit of both, really.

I’ve never tried to run Linux on a machine with an NVIDIA GPU, or on a machine with two GPUs. But from what I have read, this is the impression that I get:

It’s quite common to have a bit of trouble getting anything working, and you will run into problems far more often than with any other brand of GPU (which will just work perfectly).

Many things won’t work with the proprietary drivers, because they implement everything their own way, and so software has to be written against the NVIDIA proprietary drivers, rather than using the standard tools that everything else uses like OpenGL and Mesa.

https://arstechnica.com/gadgets/2020/04/linux-on-laptops-asu... is the sort of thing I’ve heard of: there, the NVIDIA GPU is trouble from start to end. Admittedly it might have gone more smoothly with something other than Ubuntu, with more recent versions of kernels and other such stuff (I like Arch, so this wouldn’t be a problem for me), but it’s still just bad.

But then too, I mentioned Wayland: because of how NVIDIA made their own world on Linux, the proprietary drivers are completely incompatible with Wayland—basically NVIDIA hardcoded support for X (again, rather than using the standard approach everyone else settled on) and haven’t done so for Wayland.

If you use Nouveau instead of the proprietary drivers, you’re left with a GPU missing a substantial fraction of its functionality, stuck at a low clock speed in power-draining mode. But I think you might be able to use Wayland.

I gather that Linux has problems in any dual GPU environment, but that the issues are far worse with NVIDIA than with anything else. If you’re operating a single-GPU machine and are content to use the proprietary drivers, I gather it’s not such a problem, though many applications may be unable to use GPU acceleration.

I welcome any corrections to what I’ve written here. As I say, this is all just hearsay.



If you're trying to do anything with the latest hardware, it's always going to be a pain on Linux. Even Windows doesn't have flawless support with every game on day one.

> It’s quite common to have a bit of trouble getting anything working, and you will run into problems far more often than with any other brand of GPU (which will just work perfectly).

That's a joke. I've been using Linux on Nvidia since the Riva TNT. It was always Radeon that had garbage drivers and really didn't give two shits about Linux. Not sure how much this has changed with AMD owning them, but I never bothered to look at Radeon since Nvidia was always the best card and always worked. It's almost never more than just doing a single package install.

> software has to be written against the NVIDIA proprietary drivers, rather than using the standard tools that everything else uses like OpenGL and Mesa.

I think you fundamentally do not understand Mesa or OpenGL to say this. And no, nothing has to be "written against" Nvidia. It's literally OpenGL (or Vulkan, today). Unless you're talking CUDA or something, which I don't touch.

This all just sounds like so much FUD that you wrote.


I certainly don’t understand all that I’m writing of—it’s based purely on what I’ve read, which has mostly been casual rather than deliberate research. It’s almost certain that I’ve made errors.

I’m referring to things like the Background section of https://wiki.gnome.org/Initiatives/Wayland/NVIDIA:

> The proprietary NVIDIA doesn't provide the same user space API as the open source drivers. While the open source drivers allows the display server to use the Generic Buffer Manager (gbm) and Kernel Mode Setting (KMS) APIs to manage hardware buffers, set modes, and queue page flips, configure hardware planes, the NVIDIA driver forces the display server to treat it differently. Instead of these APIs, the compositor uses a combination of KMS, to set modes, and EGL (EGLDevice & EGLStream extensions to be precise) to indirectly queue page flips by linking an EGLSurface, corresponding to an area of the screen, with a CRTC of an EGLDevice, using an EGLStream.

My OpenGL and Mesa remarks are very probably wrong.

The impression that I have received is that the window manager is probably the main thing that needs to be aware of these differences and NVIDIA ignoring the standards (this is why Sway doesn’t support NVIDIA’s proprietary drivers: https://drewdevault.com/2017/10/26/Fuck-you-nvidia.html), but that anything wanting to actually use GPU capabilities may well need to be aware as well.

What I have heard on the GPU drivers situation is that Radeon used to be terrible (and NVIDIA less terrible despite doing things its own way rather than the standard way), but that they overhauled it all completely so that for at least the last five years it’s been great.


For what it's worth I've had a fairly easy time with nVidia on Linux. My daily driver is an Ubuntu 20 machine where I just selected the nVidia binary blob option from a menu and it just works, even through kernel upgrades.

But this is also just about the easiest setup. I might feel differently if I were on a laptop with dual graphics cards.


just a few datapoints, the Dell Ubuntu machines (4+) we've received, I just do the "Additional Drivers", click Nvidia, reboot and stuff like TensorFlow just works. CentOS (RHEL) same.

I think if you start messing with one of distributions not on the CUDA download paper, you get stuck easily, but at least for work purposes, I don't see the point of using something other than RHEL/CentOS/Fedora/Debian.


I see, I guess I must just be on Nvidia’s happy path: I use a Debian distro similar to Ubuntu at work and Ubuntu at home with X windows and have experienced no problems; I didn’t know that there might be dragons if I try to stray from that.


I have to use Nvidia bc of Cuda, as does everyone else who does ML on Linux, which is a large majority of people doing ML.

Long story short, it works. On Desktop, that is.

So I an not sure how representative your opinion is.

On the other hand, I had gpu problems on Linus with literally every single laptop I have ever owned, independent of Gpu brand. So there’s that.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: