Sun, 07 Mar 2004
Proprietary Drivers Hurt Companies
Eric Raymond is a little nuts but he's thought through the economics of open source software as much as anyone, and my personal experience keeps validating many of his conclusions. Today's example: the afterword to his essay The Magic Cauldron. In this afterword, ESR lays out the case for hardware companies to release open source drivers for their products, or at least make the interfaces public so that somebody else can write the drivers.

As I alluded to before, I've learned this lesson the hard way. Back when it was just starting to threaten 3dfx, Nvidia announced that it would supply linux 3d drivers for its current card (the TNT). I had recently converted my home machine to linux and wanted to voice my support, so I ordered one of their better cards (a TNT2, with 16 megs of RAM). My first surprise was that the 2D quality was worse than my old card, an S3 Virge (not a software problem but still irritating). My second surprise was that Nvidia did not release any actual drivers for something like a year after their announcement. My third surprise was that, once released, the drivers were absolute torture to get working. Maybe it was because my card was installed in an AMD system, or because I was running Debian and not Red Hat, but the driver never quite worked. I did get it working briefly once, but after upgrading the kernel, it never worked again. I also tried to get another TNT2 working in a PIII system, without any luck.

I knew that many were using Geforces under linux and didn't have problems, so Nvidia's drivers couldn't have been totally defunct, but they sure didn't work for me. I have installed and configured a variety of OSes on a variety of hardware and I've never had half the trouble that I did with Nvidia graphics cards. Lesson learned: no more hardware with binary-only drivers for me. My next video card was an ATI Radeon, which worked just fine with the default, open-source driver built into X.

Now that I'm weighing my options for a new AMD motherboard, any with the Nvidia chipsets are out of the question, as some of their functionality requires binary drivers. It looks like the situation with the nForce chips is similar to what I experienced with the TNT2: they work for some, don't work for others, there is no consensus on what the problems are, and little hope of figuring more out given that the drivers are binary-only. Life's too short to work around what ESR convincingly argues is a self-defeating strategy for Nvidia. I'm still working Ebay for a deal so it's not clear exactly which motherboard I'll end up with, but I do know that it will have a VIA chipset and not one from Nvidia.
[/code]