Graphics drivers: where they are, where they come from, where they are going

Graphics drivers: where they are, where they come from, where they are going


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.

Category: 

Comments

guydjohnston's picture

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

Mitch Meyran's picture

...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.

Author information

Mitch Meyran's picture

Biography

Have you ever fixed a computer with a hammer, glue and a soldering iron? Why not? It's fun!

Most forwarded

Interview with Dave Mohyla, of DTIDATA

Dave Mohyla is the president and founder of dtidata.com, a hard drive recovery facility based in Tampa, Florida.

TM: Where are you based? What does your company do?
DTI Data recovery is based in South Pasadena, Florida which is a suburb of Tampa. We have been here for over 10 years. We operate a bio-metrically secured class 100 clean room where we perform hard drive recovery on all types of hard disks, from laptop hard drives to multi drive RAID systems.

Anybody up to writing good directory software?

Since the very beginning, directories (of any kind) have had a very central role in the internet. (I have recently grown fond of Free Web Directory. Even Slashdot can be considered a directory: a collection of great news and invaluable user-generated comments. As far as software is concerned, doing a quick search on Google about software directories will return the free (as in freedom) software directories like Savannah, SourceForge, Freshmeat and so on, followed by shareware and freeware sites such as FileBuzz, PCWin Download Center and All Freeware (great if you're looking for shareware and freeware, but definitely less comprehensive than their free-as-in-freedom counterparts).

Interview with Mark Shuttleworth

Mark Shuttleworth is the founder of Thawte, the first Certification Authority to sell public SSL certificates. After selling Thawte to Verisign, Mark moved on to training as an astronaut in Russia and visiting space. Once he got back he founded Ubuntu, the leading GNU/Linux distribution. He agreed on releasing a quick interview to Free Software Magazine.

Is better education the key to finding better software?

I read David Jonathon's article Anybody Up To Writing Good Directory Software? the other day, which got me thinking about software directories in general. As David mentioned, many of the software directories one finds when doing a quick google search are free as in beer, not as in freedom. But what interests me is the software directories that already exist, providing a combination of both free as in beer software, and open source software. Sites such as Freeware Downloads and Shareware Download don't advertise themselves as providing free as in liberty software, but each of them have a good selection of open source software available... if you know where to look.

Most emailed

Free Open Document label templates

If you’ve ever spent hours at work doing mailings, cursed your printer for printing outside the lines on your labels, or moaned “There has got to be a better way to do this,” here’s the solution you’ve been looking for. Working smarter, not harder! Worldlabel.com, a manufacture of labels offers Open Office / Libre Office labels templates for downloading in ODF format which will save you time, effort, and (if you want) make really cool-looking labels

Creating a user-centric site in Drupal

A little while ago, while talking in the #drupal mailing list, I showed my latest creation to one of the core developers there. His reaction was "Wow, I am always surprised what people use Drupal for". His surprise is somehow justified: I did create a site for a bunch of entertainers in Perth, a company set to use Drupal to take over the world with Entertainers.Biz.

Update: since writing this article, I have updated the system so that the whole booking process happens online. I will update the article accordingly!

So, why, why do people and companies develop free software?

More and more people are discovering free software. Many people only do so after weeks, or even months, of using it. I wonder, for example, how many Firefox users actually know how free Firefox really is—many of them realise that you can get it for free, but find it hard to believe that anybody can modify it and even redistribute it legally.

When the discovery is made, the first instinct is to ask: why do they do it? Programming is hard work. Even though most (if not all) programmers are driven by their higher-than-normal IQs and their amazing passion for solving problems, it’s still hard to understand why so many of them would donate so much of their time to creating something that they can’t really show off to anybody but their colleagues or geek friends.

Sure, anybody can buy laptops, and just program. No need to get a full-on lab or spend thousands of dollars in equipment. But... is that the full story?

Fun articles

Santa Claus - the most successful open source project

It dawned on me the other day, as I was shopping for the dozens of gifts it seems I have to buy every December, that Santa Claus is the most successful open source project in history. (Bridget @ Illiterarty would agree with that). Santa Claus is essentially a marketing development that is embodied by everyone who stuffs a sock, gives a gift, hosts a dinner or wishes Merry Christmas over the holiday season.

Most emailed

Editorial

When I first started thinking about Free Software Magazine, I was feeling enthusiastic about the dream. I had Dave, Gianluca, and Alan willing to help me, I had established members of the free software community willing to help me out, I had writers volunteering their time and energy for free, and I had a generous offer from OpenHosting for servers, all before I'd proved myself. There was a sense of excitement in the air, and I thought maybe, just maybe, I could make this work.

Free Software Magazine uses Apollo project management software and CRM for its everyday activities!