OLS: Open source graphics drivers
[Posted July 19, 2006 by corbet]
An Ottawa Linux Symposium talk called
Open
source graphic drivers - they don't kill kittens caught your editor's
attention. The relative safety of kittens in the presence of these drivers
had, until now, been something which, your editor thought, could be taken
for granted. Sure enough, young felines need not worry too much -
especially since open source graphic drivers have a distressing tendency to
not exist for a fair number of cards. That situation may be changing,
however.
Speaker David Airlie started with a review of the current state of free
graphics drivers. Intel chipsets are relatively well supported, thanks to
an enlightened position being taken by that company. ATI is a "former
leading light" in the free software world, but is no longer cooperating.
Even so, the free R200 driver is feature-complete and, at this point,
faster than the binary-only fglrx driver. The reverse-engineered R300/R400
driver is getting closer to being ready; there is no hope for the R500
chipset at this point. Nvidia has a 2D driver in X.org which is "written
in hex" and a well-supported, binary 3D driver. Said driver "still sucks," of
course.
David took the time to point out that, once you load a 1MB binary blob into
your kernel, you are no longer running a free operating system. There is
no way to know what that code is doing, no way to fix it, and no way to
support systems which have that code loaded. Support going into the future
tends to be problematic; the vendors drop support for old cards sooner than
many users would like, and are not always quick to add support for the
newer chipsets.
Why do vendors refuse to support the free software community? David noted,
with amusement, that both ATI and Nvidia withdrew support at about the same
time that they got Xbox contracts. Let's hope, he says, that Intel never
works an Xbox deal. More seriously, there is the usual talk of patent
problems, third-party software which cannot be freed, and so on. These
problems tend to evaporate when enough money is applied to the situation,
however.
So what do things look like in the future? For Intel chipsets, says David,
the future is "mostly excellent." Intel is friendly, and driver support
tends to be available about the same time that new chipsets are released.
For now, this is a group which seems to get it.
On the ATI front, the R300 reverse engineering effort continues. Support
for the 9800 series cards has been stabilized - an effort which, at one
point, required almost six months of a developer's time to find a single
bit in one register which was causing the card to lock up. The R500 series
is harder - though it does not differ all that greatly from previous
offerings. David actually has a 2D driver which he wrote, and which he has
submitted to ATI for permission to distribute. ATI has sat on the driver
for some months with no response. Until such a time as ATI gives
permission, David (due to NDA constraints) is unable to release his code.
On the Nvidia side, the best hope is the Nouveau project, which has set
out to create a reverse-engineered 3D Nvidia driver. There about five or
six people currently working on the project, which also looks to add some
nice 2D features (EXA acceleration, dual head support). The Nouveau
developers have no code to show at this point, being heavily involved in
the reverse engineering work. Progress is being made, but this is a large
project, bigger than the ATI R300 effort. For those who are interested in
contributing to the community, Nouveau looks like a project which could use
some more help.
Linux needs free drivers for graphics adapters. The challenges
involved in freeing this part of our systems are daunting - there is a
great deal of work yet to be done. The overall tone of the talk was
optimistic, however. Developers are on the task, progress is being made,
and the goal is, slowly, getting closer. The kittens will have their
revenge in the end.
(
Log in to post comments)