[linux-elitists] ATI Radeon support

Jason Spence jspence@lightconsulting.com
Mon Dec 13 18:18:42 PST 2004

On Tue, Dec 14, 2004 at 12:09:04PM +1100, Ben Finney wrote: 
> On 13-Dec-2004, Eugen Leitl wrote:
> > On Mon, Dec 13, 2004 at 12:04:45PM +0000, Sean Neakums wrote:
> > > I'd rather [ATI] fixed their licensing first.
> I'd settle for them releasing full 3D specs, if they don't want to
> release the software.  I don't care who writes the drivers, so long as
> they're free software and give full access to the features of the
> hardware.

I agree with your philisophical position.  However, I believe that
getting full access to the hardware is a losing proposition, because
it's very difficult to do anything with raw access to the hardware
that isn't highly specific to your particular card.

nVidia, at least, provides an internal abstraction layer in their
drivers which hides all the changes they make from card to card.  For
example, a TNT2 and a NV30 class GPU are very different in terms of
access via the system bus.  If you programmed one directly (to do,
say, CFD), you'd have to rewrite that application for every single
kind of card you want to run it on, and you'd have to manage chip
errata and other problems in your code.  And then you get to maintain
all those different card-specific chunks of code.  And process bug
reports for them.  And these aren't ordinary, everyday crashes, mind
you, these are weird things like PCI protocol violations and memory
access issues within the GPU itself.

I think it's best that the hardware companies do this kind of thing.
Creating the driver yourself from the specs would involve a massive
amount of work that could take years to pay off, by which time the
interfaces you're programming against will probably have become
obsolete.  For full OpenGL compatibility, for example, you'd have to
write a shader compiler and fixed pipeline state optimizer, both of
which are very complex components.  Also, the community would be
trying to outdo some of the best 3D driver people in the world!  At
the moment, I doubt that the community would be able to produce a
product as stable and as accurate as theirs.

I think it would be much more feasible once the OpenGL interfaces
settle down a little bit and there's some kind of mindshare behind a
project like that.  I also think that it would be better if there was
some kind of feature that the community could provide in their driver
set that the hardware companies couldn't; then there would be some
motivation towards doing it.  Maybe something like a generalization of
the GPU programming hacks that have made the news.

Bottom line: having an abstraction layer that hides that kind of thing
behind a common interface makes everything a lot simpler, and the
hardware companies are almost certainly the best choice for providing
that component (since they designed the hardware it's talking to in
the first place!)

> > As much as I wish it, this is not going to happen. nVidia and ATI have
> > the IP equivalent of mutual nuclear overkill. Whoever going to do it
> > first, is going to go out of business, quick (though the other party
> > suing it into the ground).
> Care to elaborate?  What is it about one party releasing free software
> drivers, that the other would sue for?  Do they each have NDAs with the
> other, or something?

Maybe there's some shared intellectual property between them, but
they're probably worried about being sued by one of the other parties
they license IP from.  Consider:

 - I license some IP (say, a corner-case culling algorithm) to nVidia,
   which they incorporate into their driver.

 - nVidia opens their drivers.  Free datasheets for everybody!

 - Some clever person figures out how my IP works by reading the
   driver code.  They then re-implement it in a slightly but
   incompatible way as open source.

There goes my revenue stream!  Everyone's going to use the open
version of my IP, and I'm going to be really upset.  But since it's
hard to sue free software developers for money, I'm going to sue the
pants off of nVidia for opening their drivers.  Furthermore, I'd sue
them just for opening the drivers in the first place, because that
would almost certainly be in breach of whatever IP contract I have
with them.

 - Jason                                                 Last known location: 

Man Invented Alcohol,
God Invented Grass.
Who do you trust?

More information about the linux-elitists mailing list