Before reading further... Are you looking for great Linux hosting from a company that cares about GNU/Linux? Pick Dreamhost hosting, get a 10% bonus to the disk space (and support Free Software Magazine in the meantime!)
Graphics drivers: where they are, where they come from, where they are going
- 2007-01-10
-
Write a full post in response to this!
I appreciate NVIDIA’s existing support for free software operating systems: their drivers are various, quite full featured, and they do upgrade the source of their minimalist free “nv” driver for those platforms they don’t support fully.
But where do the others stand?
_The matrix in this article has been superceded by the one in _this article.
The 3D desktop: a catalyst?
While there was always some controversy on proprietary drivers in a free software OS, the very fast progress and increased release rate of those has gotten a lot more focus these past few months.
Without further ado, let’s review the last update to the 3D desktop driver matrix I maintain:
| Manu | model | Xorg 7.1 | Manufacturer’s | XGL | AIGLX | WM (Compiz/Beryl) |
| Intel | i810 to i965 | 2D,3D | See Xorg’s | Useless | Yes | Yes - AIGLX |
| NVIDIA | TnT 1/2, Vanta | 2D | 2D,3D, closed - outdated | Yes | No | Yes - XGL basic |
| NVIDIA | GeForce2 to 4 | 2D | 2D,3D, closed - legacy | Yes - medium (3D) | Yes | Yes - AIGLX |
| NVIDIA | GeforceFX to 7 | 2D, pre-alpha 3D | 2D,3D, closed | Yes | Yes | Yes - AIGLX |
| ATI | Mach64, early Rage | 2D | obsolete | No - missing functions | No - missing DRI | No |
| ATI | Rage M2 to Fury | 2D,3D | obsolete | No | Yes | No - missing functions |
| ATI | Radeon 7000 to 9200 | 2D,3D | obsolete | Useless | Yes (3) | Yes - AIGLX |
| ATI | Radeon 9500 to X1850 | Experimental | 2D,3D | Yes | Experimental | Yes - AIGLX or XGL (fglrx) |
| Sis | 300,540,630,730 | 2D,3D | outdated | Useless | Yes | Yes - AIGLX |
| Sis | others | 2D | none | No | No | No |
| Matrox | G200 to G550 | see vendor | provides sources | Useless | Yes | Yes - AIGLX |
| Matrox | others | 2D on G100 and older | 2D/3D on Parhelia | ? | ? | ? |
Graphic chips families comparison
Visibly, you get different behaviours depending on the hardware maker. Let’s look at them more closely.
Intel
Their policy is simple: all their current graphics hardware has a free software driver, and they maintain it themselves. Considering all their chips are integrated graphics for the x86 platform though, the drivers themselves are not as complex as, say, ATI or NVIDIA drivers: they don’t run on PowerPC or Alpha, thus things like endianness or radically different system architecture doesn’t bother them.
Let’s add too that such graphics adapters are usually very puny performance-wise, and don’t compete with the big 3D boys: as such, the driver’s Intellectual Property is regarded as a low strategic value.
ATI
Having reluctantly opened the API of their r100/r200 chip lines, and not reinventing the wheel for every new generation, ATI’s hardware is well supported through both free software and proprietary drivers; their interest in OpenGL and “alternative” platforms is pretty recent, and as such they are still quite reluctant to produce well-performing drivers for their recent hardware, or to fix bugs in already released drivers. Let’s not mention older (Mach64/Rage class) hardware, which is completely ignored by them.
These facts have prompted a very active community towards creating a free software driver for all ATI hardware; right now, you are actually better off with the free software driver in most cases: it’s a bit more stable, supports a broader range of features, and is already installed in recent Xorg releases. The proprietary blob, although better and more often updated than before, is still not really up to the task of running all recent ATI hardware with all X bells and whistles.
NVIDIA
Historically, NVIDIA hardware support under Linux or BSD systems has always been a mixed bag: they provide some sources, but can be unresponsive in some cases, while offering drivers varying in quality. However, they have always updated their drivers to support the latest hardware or to answer pressing customer pressure on a missing feature.
Since they have expanded their hardware range, getting support from them has gotten a bit more rodeo-like; however, they have lately tightened their act:
- Their network and sound hardware have no more closed source blobs, but are maintained directly in the kernel
- Graphics drivers are now released almost monthly, and beta versions are readily available on many free software platforms. They also maintain the free software “nv” 2D driver, although they obfuscate the source and forbid further diffusion of previous unobfuscated sources.
- It’s not rare to get staff answers on their Linux forums.
- They don’t seem to give the Nouveau project importance: while they don’t support it, they don’t attack it either.
They bring support to existing free software reverse engineered drivers. And, now that it has reached a much more stable status, they have discontinued the distribution of binary blobs. For example, they brought Gigabit support to forcedeth, made it reinitialize the card more efficiently in cases of dual boot, and “@nvidia.com” addresses appear much more often in kernel and ALSA patches.
Sis
Their support is VERY inconsistent: some hardware saw them disclosing the complete driver source, another only ever saw a simple, outdated binary blob, and most recent chips have only Windows, Direct3D support—no OpenGL, no free software driver.
Avoid their recent stuff on free software systems, it’s useless.
Matrox
They have taken an approach which is quite close to ATI’s: their older hardware driver code is free (G200 to G550), antiques are reverse engineered but no longer maintained or improved (G100 and older), they have a proprietary blob for more recent hardware (Parhelia) but their most recent stuff just plain doesn’t work.
Matrox is a bit different from the other manufacturers though, in that they now concentrate on external, multi-screen, no 3D hardware. The Parhelia, being outperformed and overpriced when it came out, was their last attempt at re-entering the 3D graphics hardware race—with little to no success.
XGI, VIA
These manufacturers provide low-cost, low-performance parts. They do provide some support for Linux, but it is more like NVIDIA’s: a free software 2D driver, a binary blob for 3D; they are less efficient at it though, as they only provide Linux/86-32 drivers when they do. Releases are also not frequent, they don’t comment on them and they are not updated often.
To avoid headaches, don’t use those for anything but server/point-of-sale use: media and desktop use for example, are not really recommended.
Overall behaviours
Set’em free
Right now, Intel is the only one to fall under this category, but NVIDIA is a close second: both manufacturers provide free drivers for their whole hardware ranges under all X versions (be it Xfree86, or X.org) and in the Linux kernel, but NVIDIA keeps their graphics hardware under tight wraps: 2D support if free software but obfuscated, 3D is proprietary only. It could be answered though, that Intel drivers for their Wi-fi chips is encumbered by a required proprietary firmware.
They got it anyway, get this out of here!
This would be ATI and in a lesser measure, Matrox: ATI’s free software driver was already quite advanced in its reverse engineering process when ATI decided to release the specifications and existing driver sources for the r100/r200, and Matrox couldn’t argue that their driver development team was any good on their older hardware (even the proprietary ones, well, sucked) so they got rid of this black spot on their record and got some positive PR in return.
NVIDIA doesn’t really fall under this category, because they are actually quite active in the free software world: if the advantages of releasing their 3D driver source outweighted the HARDWARE reverse engineering risks, they would actually do that.
But, if you only take their certifications on Quadro drivers, you’d see that they would have to keep producing a closed blob anyway; as such, they wouldn’t gain much support and R&D from opening it, and would run all the risks doing so entails. I’m sure that there are other reasons, but while I don’t really appreciate their choice, I can understand it.
Free software sort of exists, let’s sort of support it
This would be Sis, VIA and XGI; they don’t have resources to spare and can’t afford a bad relationship with other operating systems, so their hardware support is flimsy at best: in Sis case, even their most used driver on their most recent chip has only a token 3D driver…
Conclusion
A free system nowadays requires you to run either underpowered or older hardware (Intel, ATI or Matrox); the current king of the hill, NVIDIA, is no closer to disclosing sources for its 3D hardware. However, like I mentioned in my previous post, the Nouveau project intends to have an almost feature complete, full range covering driver by fall 2007. Maybe by then we’ll see some progress in NVIDIA’s policies: the G80 seems to be a radically new design, and as such they may consider freeing the specifications for their older hardware ranges…
Previous versions of the matrix and further reading
Old versions of the matrix can be found in these articles:
And, for my guide to understanding 3D desktops, you can read A “what is” guide to 3D desktops.
Write a full post in response to this!
Similar articles
Do you like this post?
Vote for it!
Copyright information
This entry is (C) Copyright by its author, 2004-2008. Unless a different license is specified in the entry's body, the following license applies: "Verbatim copying and distribution of this entire article is permitted in any medium without royalty provided this notice is preserved and appropriate attribution information (author, original site, original URL) is included".
Biography
Mitch Meyran: Mitch is a professional computer abuser. He started on this peculiar kink when he got a 8088-based PC, and soon found out that tinkering with computers is almost as fun as using them - provided the OS lets you do it.
- Mitch Meyran's posts
- Login or register to post comments
- 5305 reads
- Printer friendly version (unavailable!)




Looking for Linux hosting, reviews, coupons, etc.? See out user-voted list
Best voted contents
-
Is Microsoft trying to kill Apache?
Gary Richmond, 2008-08-08 -
How do Drigg and Pligg compare?
Tony Mobily, 2008-08-17 -
The top 4 internet flame wars about free software
Andrew Min, 2008-08-16 -
Creating wealth with free software
Richard Rothwell, 2008-08-05
Similar entries
Buzz authors
All news
Other sites
- The Top 10 Everything (Dave). The good, the bad and the ugly.
- Free Software news (Dave & Bridget). All about free software -- free as in freedom!
- Book Reviews: Illiterarty (Bridget). Book reviews, blogs, and short stories.
Hot topics - last 60 days
-
Don't compare GNU/Linux with Windows or MacOS - they are not in the same game
Ryan Cartwright, 2008-07-07 -
Self-signed certificates and Firefox 3 - a possible solution
Ryan Cartwright, 2008-08-05 -
Why sharing matters more than marketshare to GNU/Linux
Terry Hancock, 2008-08-01 -
Dictators in free and open source software
Tony Mobily, 2008-07-22 -
Why did Javascript/AJAX mop the floor with Java, Flash and Silverlight? Or, why open standards eventually win
Tony Mobily, 2008-07-30
Dedicated server
Misleading term "intellectual property"
Submitted by guydjohnston on Thu, 2007-01-11 12:25.
Vote!Hi, I wouldn't recommend using the term "Intellectual Property" which you used in the section headed 'Intel'. It's a deliberately misleading and biased term used by developers and supporters of proprietary software. There's a good article by Richard Stallman about why not to use it here.
--
GNU - free as in freedom
That was intentional
Submitted by Mitch Meyran on Fri, 2007-01-12 08:56.
Vote!...and I thought capitalizing it would make it show up as the dreaded 'Intellectual Property' monster RMS describes it as: an invalid concept used by some to sell stuff that doesn't exist and restrain people's liberties.
You may have noticed that I haven't used it with any other hardware makers, and actually concentrated on reverse engineering. I had to mention it to show that, even by playing Devil's advocate, Intellectual Property doesn't stand.
Next time I'll put a bigger emphasis on this kind of sarcasm, though.
---
A computer is like air conditioning: it becomes useless when you open windows.