Bonum Certa Men Certa

On Nvidia Cards and GNU/Linux: Why You Should Make Sure Your Next PC Doesn’t Have an Nvidia Card

Guest post by Ryan, reprinted with permission from the original

Back in the days, nobody made a good GNU/Linux graphics solution that had an open source driver stack.



In fact, even today 15 or 20 years later, AMD and Intel do not have drivers that are fully open or Free (as in Freedom). All of the big three require at least signed binary-only firmware modules to be downloaded into the cards, or else they don’t expose their 3d engines to the operating system, and without that, you won’t be doing much of anything.



But Nvidia has been a longtime thorn in the side of the GNU/Linux desktop user. On one hand, there’s the argument that when you load their proprietary driver, you get great performance. I’m not here to argue this point because nobody is saying you won’t.



"Since Nvidia’s driver is not supported by Linux, it may run, but nobody will know how to help you when it causes problems."What I will argue, instead, is the maintainability problems and the ethical side of the debate.



When you choose Nvidia, instead of funding hardware companies that put working drivers into the Linux kernel, X11, Wayland, and Mesa3d (an open source implementation of OpenGL and Vulkan 3d graphics APIs), you give money to a company that bypasses the GNU/Linux driver stack and tosses a large “blob” of code that’s literally just a Windows driver that they ported over with a “kernel glue layer”.



Many people consider it to be illegal to ship an operating system with this driver included, which is why most of them make you go get it somehow, and bolt it on after the fact. The process isn’t even consistent because there’s as many ways to do it as there are distributions you could install it on.



Although Nvidia’s license doesn’t disallow it, Linux is under the GNU General Public License, which says that anything that is linked to the kernel and distributed with it is a derived work.



"Nvidia likes to refuse to implement standard programming interfaces and then demand that unpaid (by Nvidia, at least) Free Software developers instead port their project to Nvidia’s alternative facts."Therefore, if a distribution ships Nvidia’s proprietary driver in a way that you don’t have to do anything in order to get it, they’re a GPL violator. Plain and simple. The Linux maintainers probably won’t enforce it, but it’s still wrong.



Debian and many other distributions warn (in neutral language, but most people have no reason to use the proprietary AMD driver since the open source one is fine) that if you get the Nvidia driver straight from Nvidia’s website, and install it, it will only work for the kernel you installed it with.



As soon as your distribution ships a new kernel, it will have a different application binary interface, and even if somehow it does not, Nvidia’s generic installer package isn’t set up to where it would place a new module into the new kernel. In fact, even if you do get Nvidia’s driver from a source that rebuilds it automatically, you have to wait until dkms rebuilds it each time you get a new kernel. That doesn’t happen a lot with Debian, but new kernels arrive all the time in Fedora. It also adds complexity, and something that might fail.



Also, I think that with Microsoft’s “Security Theater Boot” turned on, you can’t actually install Nvidia’s package directly. It needs to be from your distribution so they can sign it. Not that this will stop Nvidia’s installer from saying it succeeded, but when you reboot you’ll see a security policy violation instead of your OS booting. Lovely.



I don’t know exactly how badly this would break these days, because I got tired of Nvidia and was one of the earliest adopters of AMD’s Evergreen series (Radeon HD 5xxx) when they announced an open source solution. At the time I last saw, the kernel would boot the broken configuration Nvidia left it in and then X11 wouldn’t start because the settings referenced a driver setup that no longer existed.



Further, Nvidia would overwrite the system’s OpenGL drivers, so if you removed their driver and installed a competitor’s product, it wouldn’t function properly if it used Mesa3d to provide OpenGL, at least unless you knew how to fix it, or until your operating system installed an update that replaced Mesa3d’s missing libGL.so library. It also left behind deliberately misconfigured settings files all over the OS.



The Romans used to call this “poisoning the well”. If they couldn’t hold territory that they invaded, nobody else could have it either.



Since Nvidia’s driver is not supported by Linux, it may run, but nobody will know how to help you when it causes problems.



Loading the Nvidia module “taints” the kernel, so that you can’t file bug reports. Every kernel developer I’ve talked to was fed up with wasting their time when the Nvidia driver causes bugs all over the kernel tree, including sometimes in the printing system, the file system, and the input devices, or causes an internal structure to become corrupt resulting in a system crash.



Hey, why would you want stability anyway?



So they fixed the problem on their end by ignoring bug reports from people with this driver loaded. Since they can’t fix the driver, and you can’t ask them to, go talk to Nvidia. But Nvidia doesn’t always care. Like most companies, if they can hide behind the fact that you can’t “prove it” or at least that you have no power to compel them to fix it, they will, and things stay broken.



Since Nvidia doesn’t implement standard GNU/Linux, X, Wayland, and Mesa interfaces, sometimes their users don’t get features that the rest of us do for years, or at all.



Nvidia likes to refuse to implement standard programming interfaces and then demand that unpaid (by Nvidia, at least) Free Software developers instead port their project to Nvidia’s alternative facts.



This is sleazy because it abuses the Free Software developers and forces them to do unpaid work for Nvidia to keep their users happy. In the case of GNOME, you couldn’t use the Wayland session at all on Nvidia cards for years. Then it loaded but was too broken to use for years. And I think you can use it now.



Not because Nvidia fixed anything, but because Red Hat implemented a nasty hack that got “XWayland” to run, and you need that for a ton of software, even today, including Wine (to run Windows programs).



But you’ll get used to nasty hacks soon enough if you use proprietary drivers. In fact, most vendors aren’t even as “good” as Nvidia about ever updating them again.



Did I tell you the story about my Avermedia TV Tuner Card that only worked on 32-bit Ubuntu 8.04 and never got updated again? It crashed the kernel too. Cool story, right? I know.



In the past, Nvidia wrote a very slow 2d-only driver called NV.



The only reason it existed was so that X11 would have something to load so you could load the proprietary driver. Today, the “stub” (although on older cards it usually works well enough to keep) usually ends up being nouveau.



If you have an old Nvidia card, nouveau (a reverse engineered open source driver) might run it satisfactorily, but almost certainly won’t if the card is new.



Early on, I was excited for nouveau because they were reverse engineering the card’s firmware too, which meant you didn’t need anything from Nvidia to make the supported cards work.



Then Nvidia announced that they would enforce firmware signing. Allegedly for security reasons, but really because they don’t want anyone to know how their cards work. At all. Not on the driver level, but especially not in firmware.



So they made their binary-only firmware redistributable, but mostly don’t contribute to the nouveau driver. So you would have the same firmware situation (binary-only, redistributable) as with the other drivers, only without an open source operating system-level driver to run the card correctly once it was initialized. The worst possible outcome.



If you need high performance graphics, the AMD open source driver is good. If you just need acceptable graphics in a laptop, Intel’s graphics are at least alright, and both have open source drivers you don’t ever have to configure or think about.



If you install a new operating system component that relates to the drivers, you get a newer version of that component, and it all happens behind the scenes while you use the computer normally.



In software development, there’s a term called technical debt, where a solution that is “fast and easy” at first becomes a snowballing burden that causes more work for you to maintain than having just done things right the first time.



Nvidia will cause you more work and problems than they are worth, even if their products are a bit faster than the competing ones in the lineup.



Right, but how bad can Nvidia be?



I gave away my last Nvidia card and forked the Linux kernel and brought in updated Mesa3d packages before there was a proper release working with my AMD Evergreen card to get early access to AMD’s code. This was somehow more pleasant than dealing with a crashing unstable system due to the Nvidia driver.



Today, over a decade later, you obviously wouldn’t even need to do that, if you want an AMD card, because the infrastructure is mature.



Nvidia does nasty things to Windows users too.



They do market segmentation and use their driver to selectively cripple the hardware. At one point, last year I think, they used the driver to limit bitcoin mining, but Nvidia ultimately proved themselves to be too stupid to enforce that when they accidentally leaked a driver that didn’t enforce the hash rate limiter.



Most of the “updates” to make particular applications work “better” just disable features in the program that their hardware doesn’t get along well with and which is making them look bad. Then the framerate goes up. It doesn’t actually make the game or application any better.



In fact, it may look worse. Speed cheats have been around in proprietary video drivers for a long time. ATI even did it with Quake. At that point in time, it was so crude that if you wanted to cause the driver not to load the hacks, I believe you just needed to rename the executable file for the game.



Nvidia has a history of killing companies that do innovate.



When they bought 3dfx and shut them down, for example. 3dfx had better products, but had run into financial dire straits, and so Nvidia bought them simply to acquire patents, eliminate a competitor, and then keep pushing Nvidia junk on us.



Like most companies, they use others, but they don’t contribute.



Like Microsoft not paying taxes, but getting government contracts anyway, Nvidia treats the organizations that make it possible to run their products at all on GNU/Linux badly.



Recently, the Xorg maintainers have lamented the fact that nobody in the industry wants to step up and even be a stable release branch maintainer. For a long time, the stable release branch maintainer was Apple, which at least needed a working X Server, for XQuartz (similar to XWayland in concept), but now Xorg is basically bit rotting, while companies that make serious bank off of GNU/Linux business, such as Nvidia, let it happen, and won’t even lift a finger to assist in making bugfix releases to this thing that’s almost in mothball development mode.



IBM/Red Hat’s solution to Xorg rotting away is to try to take the next step away from it on GNU/Linux and just abandon the pieces that Wayland doesn’t use. Even Debian 11 with GNOME doesn’t strictly need all of Xorg in order to run properly these days. With Wayland-compatible graphics, you could run a system with no Xorg, only XWayland, but I think we’re still a couple of years off from ditching Xorg. Ubuntu still defaults to it for reasons, and some of those reasons are Nvidia won’t help make their cards work well in Wayland, but also won’t help maintain Xorg.



Giving money to Nvidia helps them harm us and set us back.



Funding Nvidia is similar in concept, I think, to funding hostile countries that have oil that sponsor terror and politicians who deny global warming instead of having public transportation.



Okay, well, maybe it’s not THAT bad, but you get my point. That it takes money that could go to a company that actually supports us and minimizes the overall harm to the computing ecosystem that we all benefit from, and sends it to a company hostile to all things Free and Open Source, which makes massive profits, and then won’t support the infrastructure.



Nvidia is riding high on a Bitcoin Bubble.



I really hope, for many reasons, this crashes, hard and fast, someday soon, and that it completely hoses Nvidia when it does. We would be better off with Nvidia in bankruptcy than churning out products that are this harmful and corrosive to our cause.



But you can help, a little, in your individual capacity, by not buying anything that has an Nvidia logo on it.



When I was critical of Nvidia in the Fedora support channels, I was warned that I violated their Code of Conduct by “insulting” a company. This is just one of the many reasons I won’t use Fedora anymore. Their community is gone, their other desktop spins are horrible, their main spin doesn’t work all that well these days and the people making the decisions do bizarre and incomprehensible things, but the idea that you can’t speak openly, and honestly, and not even in a profane manner about Nvidia… And how do you insult a company anyway, and why would anyone honestly care if you did?



Fedora’s position is “These Nvidia devices are out there and you can’t avoid them, especially on laptops.”. I have three laptops and zero Nvidia chips in them. It must be because that’s impossible.

Recent Techrights' Posts

Links 23/04/2024: US Doubles Down on Patent Obviousness, North Korea Practices Nuclear Conflict
Links for the day
Stardust Nightclub Tragedy, Unlawful killing, Censorship & Debian Scapegoating
Reprinted with permission from Daniel Pocock
 
Europe Won't be Safe From Russia Until the Last Windows PC is Turned Off (or Switched to BSDs and GNU/Linux)
Lives are at stake
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Tuesday, April 23, 2024
IRC logs for Tuesday, April 23, 2024
[Meme] EPO: Breaking the Law as a Business Model
Total disregard for the EPO to sell more monopolies in Europe (to companies that are seldom European and in need of monopoly)
The EPO's Central Staff Committee (CSC) on New Ways of Working (NWoW) and “Bringing Teams Together” (BTT)
The latest publication from the Central Staff Committee (CSC)
Volunteers wanted: Unknown Suspects team
Reprinted with permission from Daniel Pocock
Debian trademark: where does the value come from?
Reprinted with permission from Daniel Pocock
Detecting suspicious transactions in the Wikimedia grants process
Reprinted with permission from Daniel Pocock
Gunnar Wolf & Debian Modern Slavery punishments
Reprinted with permission from Daniel Pocock
On DebConf and Debian 'Bedroom Nepotism' (Connected to Canonical, Red Hat, and Google)
Why the public must know suppressed facts (which women themselves are voicing concerns about; some men muzzle them to save face)
Several Years After Vista 11 Came Out Few People in Africa Use It, Its Relative Share Declines (People Delete It and Move to BSD/GNU/Linux?)
These trends are worth discussing
Canonical, Ubuntu & Debian DebConf19 Diversity Girls email
Reprinted with permission from disguised.work
Links 23/04/2024: Escalations Around Poland, Microsoft Shares Dumped
Links for the day
Gemini Links 23/04/2024: Offline PSP Media Player and OpenBSD on ThinkPad
Links for the day
Amaya Rodrigo Sastre, Holger Levsen & Debian DebConf6 fight
Reprinted with permission from disguised.work
DebConf8: who slept with who? Rooming list leaked
Reprinted with permission from disguised.work
Bruce Perens & Debian: swiping the Open Source trademark
Reprinted with permission from disguised.work
Ean Schuessler & Debian SPI OSI trademark disputes
Reprinted with permission from disguised.work
Windows in Sudan: From 99.15% to 2.12%
With conflict in Sudan, plus the occasional escalation/s, buying a laptop with Vista 11 isn't a high priority
Anatomy of a Cancel Mob Campaign
how they go about
[Meme] The 'Cancel Culture' and Its 'Hit List'
organisers are being contacted by the 'cancel mob'
Richard Stallman's Next Public Talk is on Friday, 17:30 in Córdoba (Spain), FSF Cannot Mention It
Any attempt to marginalise founders isn't unprecedented as a strategy
IRC Proceedings: Monday, April 22, 2024
IRC logs for Monday, April 22, 2024
Over at Tux Machines...
GNU/Linux news for the past day
Don't trust me. Trust the voters.
Reprinted with permission from Daniel Pocock
Chris Lamb & Debian demanded Ubuntu censor my blog
Reprinted with permission from disguised.work
Ean Schuessler, Branden Robinson & Debian SPI accounting crisis
Reprinted with permission from disguised.work
William Lee Irwin III, Michael Schultheiss & Debian, Oracle, Russian kernel scandal
Reprinted with permission from disguised.work
Microsoft's Windows Down to 8% in Afghanistan According to statCounter Data
in Vietnam Windows is at 8%, in Iraq 4.9%, Syria 3.7%, and Yemen 2.2%
[Meme] Only Criminals Would Want to Use Printers?
The EPO's war on paper
EPO: We and Microsoft Will Spy on Everything (No Physical Copies)
The letter is dated last Thursday
Links 22/04/2024: Windows Getting Worse, Oligarch-Owned Media Attacking Assange Again
Links for the day
Links 21/04/2024: LINUX Unplugged and 'Screen Time' as the New Tobacco
Links for the day
Gemini Links 22/04/2024: Health Issues and Online Documentation
Links for the day
What Fake News or Botspew From Microsoft Looks Like... (Also: Techrights to Invest 500 Billion in Datacentres by 2050!)
Sededin Dedovic (if that's a real name) does Microsoft stenography
Stefano Maffulli's (and Microsoft's) Openwashing Slant Initiative (OSI) Report Was Finalised a Few Months Ago, Revealing Only 3% of the Money Comes From Members/People
Microsoft's role remains prominent (for OSI to help the attack on the GPL and constantly engage in promotion of proprietary GitHub)
[Meme] Master Engineer, But Only They Can Say It
One can conclude that "inclusive language" is a community-hostile trolling campaign
[Meme] It Takes Three to Grant a Monopoly, Or... Injunction Against Staff Representatives
Quality control
[Video] EPO's "Heart of Staff Rep" Has a Heartless New Rant
The wordplay is just for fun
An Unfortunate Miscalculation Of Capital
Reprinted with permission from Andy Farnell
[Video] Online Brigade Demands That the Person Who Started GNU/Linux is Denied Public Speaking (and Why FSF Cannot Mention His Speeches)
So basically the attack on RMS did not stop; even when he's ill with cancer the cancel culture will try to cancel him, preventing him from talking (or be heard) about what he started in 1983
Online Brigade Demands That the Person Who Made Nix Leaves Nix for Not Censoring People 'Enough'
Trying to 'nix' the founder over alleged "safety" of so-called 'minorities'
[Video] Inauthentic Sites and Our Upcoming Publications
In the future, at least in the short term, we'll continue to highlight Debian issues
List of Debian Suicides & Accidents
Reprinted with permission from disguised.work
Jens Schmalzing & Debian: rooftop fall, inaccurately described as accident
Reprinted with permission from disguised.work
[Teaser] EPO Leaks About EPO Leaks
Yo dawg!
On Wednesday IBM Announces 'Results' (Partial; Bad Parts Offloaded Later) and Red Hat Has Layoffs Anniversary
There's still expectation that Red Hat will make more staff cuts
IBM: We Are No Longer Pro-Nazi (Not Anymore)
Historically, IBM has had a nazi problem
Bad faith: attacking a volunteer at a time of grief, disrespect for the sanctity of human life
Reprinted with permission from Daniel Pocock
Bad faith: how many Debian Developers really committed suicide?
Reprinted with permission from Daniel Pocock
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Sunday, April 21, 2024
IRC logs for Sunday, April 21, 2024
A History of Frivolous Filings and Heavy Drug Use
So the militant was psychotic due to copious amounts of marijuana
Bad faith: suicide, stigma and tarnishing
Reprinted with permission from Daniel Pocock
UDRP Legitimate interests: EU whistleblower directive, workplace health & safety concerns
Reprinted with permission from Daniel Pocock