I am feeling a tad pissed off lately, which is not too surprising. As much as I am enthralled by GNU/Linux and other *NIX clones (I use Debian and Arch Linux regularly), the current hardware drivers for desktop Linux distributions have always brought my piss to a steady boil.
Well, what’s truly the issue here? By broken drivers, I am typically referring to today’s infamous desktop graphics card drivers *cough* Nvidia and AMD/ATI *cough* for Linux. The only good, functional drivers those two companies are currently crapping out at the moment are entirely proprietary, and as we all know, the very word strikes anger into the very hearts of FOSS advocates.
Despite the fact that they are freeware (read: gratis, but not libre), a fairly large chunk of users are a tad bothered by the fact that the other fairly large chunk of desktop GNU/Linux users are slotting in closed and obfuscated binary-blobs into their kernels, thereby defeating the whole purpose of the GNU/Linux project, which is to avoid proprietary software and give PC users their rights.
True, there are plenty of open source drivers for Linux and honestly, they are actually the majority. There are the GEM-powered Intel drivers for their on-board laptop graphics chipsets, as well as AMD/ATI’s somewhat functional fglrx drivers. Why do we still complain? These drivers are never a high priority for a gigantic, super-rich company. A driver which doesn’t help them make money is not an important driver, so to speak. Very few of the FOSS drivers actually perform well; they always lag behind the proprietary Windows and Macintosh versions (not to mention the proprietary Linux ones). And not at all by a small margin, might I add.
Moving on, there are companies who are doing far worse with the community, sadly. Take Nvidia, for example. They have outright refused to open-source their drivers and continually insist on their closed binary-blobs. Following various flame wars and general unrest, Freedesktop started the Nouveau project, which aims to reverse-engineer Nvidia’s proprietary Linux drivers. But I’ve always wondered, what would happen if Nvidia released a new proprietary hardware architecture or driver algorithm? The original code of the project would begin to stagnate as everyone immediately rushes over to a new fork or new dev branch to implement it.
No, we cannot continue playing catch-up with companies like Nvidia. We need to get these companies to open up and be honest with us, as well as simultaneously improve our current open source drivers for existing hardware.
The Linux driver scene is currently in a truly deplorable state. Some companies are quite clever about this, and say “We support open source software, but we still do not want to give up proprietary software either. Why don’t we put out both a proprietary and a FOSS version of our drivers out for the same platform and have the users choose?” While this is a good idea as it lets the foaming-at-the-mouth, hardcore FOSS advocates have their way, they won’t be happy glancing over at the uninformed newbies, using non-free drivers, looking to get decent performance out of their +200 dollar graphics card.
Imagine if you were to start up your brand-spanking-new GNU/Linux distro and it popped up a dialog with two buttons to choose from: “Better Graphics” or “No Moral Issues”. Guess which one will be clicked more often? I dare you.