Remix.run Logo
user3939382 5 days ago

Modern GPU drivers are a nightmare for open source. Wifi no better but slightly less critical. Power management. Forget Linux this should be the year of the NetBSD desktop but we can’t have nice architectures bc of economics in computing. The whole scenario makes sense but the emergent result sucks.

bayindirh 5 days ago | parent [-]

> Modern GPU drivers are a nightmare for open source.

Modern NVIDIA drviers. Let me fix that for you.

Intel and AMD has their full stack in mainline already, and AMD made great effort to enable their cards fully under open source drivers, as their agreements and law allows. You can even use HDCP without exposing sensitive parts, if you want.

Intel also works completely fine.

However, NVIDIA's shenanigans and HDMI forum's v2.1 protectionism is something else completely.

plagiarist 5 days ago | parent | next [-]

I went with AMD for compatibility playing games, but AFAICT AMD ROCm is not in a great state for computation. Why can't I have both?

That's something like what they're describing as "a nightmare," isn't it? "As agreements and law allows," is part of the nightmare. Under a modern OS, it should not be difficult to have the full capability of the hundreds or thousands of dollars worth of hardware you paid for.

Fnoord 4 days ago | parent [-]

There is ZLUDA [1] for CUDA, Ollama works on AMD [2], and there's OptiScaler [3] for DLSS. For older AMD GPU there's also FSR 4 INT8, see howto here [4]

[1] https://github.com/vosen/ZLUDA

[2] https://ollama.com/blog/amd-preview https://github.com/likelovewant/ollama-for-amd

[3] https://github.com/optiscaler/OptiScaler

[4] https://github.com/007Lore/AMD-FSR-4-INT8

adrian_b 4 days ago | parent | prev | next [-]

NVIDIA drivers work perfectly fine, when you decide from the beginning to use them, instead of attempting to first use alternatives like nouveau.

The only problems appear when your Linux distribution decides for some reason to make difficult for its users to choose the NVIDIA drivers, like GUIX. On distributions where the users can choose NVIDIA freely, like Gentoo, which I am using, there are no problems whatsoever with NVIDIA. I have used the NVIDIA drivers for Linux and for FreeBSD during more than 20 years, on many kinds of desktops and laptops, with no problems. All this time I have also used Intel GPUs and AMD GPUs, and especially with the latter there have been problems more frequently.

Unfortunately, some of the Linux kernel developers actively try to sabotage the NVIDIA kernel driver from time to time, e.g. by imposing restrictions on the kernel symbols that it may import, which is certain to complicate the work of the maintainers of the NVIDIA drivers, and which can cause problems for the Linux users who are not aware that for this reason they must have a version of the NVIDIA driver that is matched to their kernel version.

I much prefer to have only open-source privileged code, but it cannot be said that NVIDIA has not done a good job with their Linux (and FreeBSD) support, which has been much better than that of almost any other hardware vendor. Only Intel had even better support for their hardware, including not only CPUs and GPUs, but also networking, WiFi etc. However, even with Intel, their Linux GPU drivers have been frequently worse than their Windows GPU drivers (like also with AMD), unlike NVIDIA, where their Linux drivers always had the same performance as the Windows drivers.

While non-professional users may not encounter many problems with the Intel or AMD GPUs, any user that has needed more complex OpenGL applications has frequently encountered problems in the past when the Intel or AMD OpenGL implementation in their Linux drivers was incomplete or buggy in comparison with NVIDIA. Such problems were easily exposed by just running popular benchmarks like SPECviewperf or the Unigine benchmarks on Linux and comparing what you see with an NVIDA GPU with what you see with an AMD or Intel GPU. The Intel and AMD drivers have improved in recent years (or more accurately, Mesa is what has improved), but previously it was hard to use under Linux non-NVIDIA GPUs for any really demanding graphic application.

its_ubuntu 4 days ago | parent [-]

[dead]

adrian_b 4 days ago | parent [-]

I agree about the problems caused by the unwillingness of NVIDIA to document their clock frequency/supply voltage control.

Unfortunately this is a widespread policy at the majority of the vendors of CPUs and GPUs. At those where this causes less problems for open-source drivers, they do not really provide direct control for the user, but the frequency/voltage control is done by some microcontroller with undocumented firmware.

gf000 5 days ago | parent | prev | next [-]

Modern NVIDIA drivers for their more recent cards are actually okay, again.

bayindirh 5 days ago | parent [-]

Well, they might work, but they are far from OK.

    - An open source kernel module which talks with the card.
    - A set of closed source GLX libraries for acceleration support.
    - A signed and encrypted firmware which only works with this closed source driver package to enable the card.
Nouveau drivers are intentionally crippled with a special firmware which enables the card to show a desktop, with abysmal performance and feature set.

Nothing is OK about that.

gf000 5 days ago | parent [-]

Well, amd drivers sucked a whole lot (fglrx anyone?) before AMD made them open-source. And on every other front it's the same, as basically every other manufacturer. There is no such thing as open hardware.

bayindirh 5 days ago | parent [-]

I have used fglrx for a very long time, and have some adventures with it. I even knew people from the development team, actually.

Well, having a driver agnostic closed source firmware is pretty different from an end-to-end closed chain with a driver-authenticating firmware.

Also, while fglrx had some serious problems, they didn't wait two years to fix DVI DPMS issues like the green company.

Yes, neither are open hardware at the end of the day, but we have almost infinite number of colors and infinite shades of gray. Like everything else, this is a spectrum.

As I aforementioned, I'd love to have completely free hardware, but the world's reality works differently for many right and many wrong reasons. I'd prefer to use most open one I can get, in this case.

gf000 5 days ago | parent [-]

I agree with you on principle.

But at the same time (adding more shades of color), part of the reason why Nvidia remained closed source for longer was precisely because they were supporting all the same features on both windows and Linux, while amd's Linux was (is?) always lagging behind. For ML use cases basically the only choice was Nvidia.

(Nonetheless, I was very happy with my amd card, and now I'm very happy with a semi-modern Nvidia card)

anthk 5 days ago | parent | prev | next [-]

AMD cards need propietary firmware.

bayindirh 5 days ago | parent [-]

Yes, that's a problem if you want a fully free-software powered system. However, considering how we had firmware since forever, this is a compromise I can personally accept, for now.

Having a completely Free Software firmware would be great, but I'm not sure barrier to this is as low as Free Software since there's involvement of IP blocks, regulation, misuse of general purpose hardware (like radios) and whatnot.

I really support an end-to-end Free Software system, but we have some road to go, and not all problems are technical in that regard.

drowsspa 5 days ago | parent | prev [-]

Honestly back when I was still in college one and a half decade ago, it was quite clear the whole Nvidia-only ML and AI libraries weren't a good idea