[NTLUG:Discuss] Video Card Recommendation? -- Long Redux

Steve Baker sjbaker1 at airmail.net
Sat May 8 00:14:25 CDT 2004


Bryan J. Smith wrote:

> I have numerous colleagues from previous semiconductor industry jobs that now
> work at ATI and nVidia.  Both ATI and nVidia are very cutting edge, and their
> performance show.  At the same time, both are very proprietary.  They extend
> both DirectX and OpenGL in all sors of non-standard ways.  Their drivers
> reflect this.

It's not quite fair to call their OpenGL extensions "non-standard".

OpenGL is DESIGNED to be extended - the extension mechanism is an important
part of the standard  (glGetString(GL_EXTENSIONS...) and glXGetFuncAddress()).

It has to be that way because there is no way that an open standards group
comprised of representatives from a dozen major (competing) companies can
turn on a dime and rev their standard to fit whatever weird stuff nVidia
and ATI are dreaming up.   The OpenGL model is to allow each board manufacturer
to add their own extensions just as fast as their hardware comes out.  Once
these extensions have been 'out there' for a while, the OpenGL Architecture
Review Board (the governing body for OpenGL) will write up an extension of
their own - which most manufacturers will immediately recognise and implement.
However, because not everyone may be able to reach that standard with just a
driver change, the new feature won't become a part of the formal core API for
at least a year after it becomes an ARB sanctioned extension.

Hence, there is no excuse for anyone to fail to support a new core feature
in their latest hardware - they can see it coming at least a year or so
ahead of time.   This is a good way to proceed.  All OpenGL implementations
are required to support ALL of the core API.  This is a welcome contrast
to Direct3D where you have to test all manner of 'capability bits' to
determine whether even important core facilities are present.

So these "non-standard" extensions are entirely optional.  All of the
OpenGL standard works 'as is'.  You only need the extensions if you want to
do something that the core API doesn't allow.

> About the _only_ company out there dedicated to open standards is 3DLabs.

Yeah - but they don't even provide OpenGL drivers for Linux.  If you want to
use 3DLabs hardware to do 3D graphics under Linux, you have to pay money to
a 3rd party company for a customised X server and their driver (which is
crap and doesn't support the latest 3D labs cards anyway).

> They are trying to get ATI and nVidia to return to standard OpenGL with
> version 2.0.  This does not look like it's happening anytime soon though.

Sure it is!   ATI have been working hand-in-hand with 3D labs on the 2.0 specification.
ATI have had working drivers for about six months.   nVidia have been dragging
behind because the OpenGL 2.0 shader language (GLSL) is a competitor to their own
'Cg' shader language...but the latest Windows drivers for nVidia/OpenGL do actually
support GLSL - although it has to be turned on with a secret registry hack
because it's still 'in beta test'.

So: This has turned around nicely.  It was very evident at the last Game Developers'
conference a few weeks ago that both ATI and nVidia are now strongly behind
GLSL (and hence OpenGL 2.0).   nVidia representatives at the show were telling
people "If you use OpenGL - plan on dropping Cg and switching to GLSL".

I expect to see non-beta OpenGL 2.0 drivers from both ATI and nVidia in time for
SigGraph this year.

> And 3DLabs doesn't sell a commodity solution anymore.
> 
> - nVidia tries to go open source, gets butt threatend by 3rd parties

It's certainly a major hassle for them to go OpenSource - but since none of
their competitors have come out with OpenSourced drivers (or even provided
a glimmering of the information needed for the Mesa crew to write drivers),
there is no market pressure to make them do it.

ATI have shared driver sources under heavy NDA's with a number of companies
(Evans & Sutherland for example).  Meanwhile, nVidia stopped providing even
their own board manufacturers with source code.

> In the case of nVidia, they decided to release an universal driver for their
> TNT (NV0x) and GeForce (NV1x/2x/3x and, now, NV4x) drivers.  Despite popular
> attitudes, nVidia _does_ release technical specifications on the NV (TNT,
> GeForce) series, up to a point where they can (i.e. original/non-3rd party
> stuff).

Only for the 2D interfaces - there is no 3D info for anything more recent than
TNT.

>  The only time nVidia did _not_ was the now 10+ year old Riva
> series (I hate it when I get quoted stuff on 10-year old Riva when I talk
> about GeForce!).  When they first released the TNT/GeForce drivers for
> X with 3D acceleration, nVidia _did_ released them for XFree86 3.3.x _with_
> source code.

Not exactly.  It was HEAVILY obfuscated sources - quite utterly unreadable.
No better then disassembled machine code.

> But no matter how much they "stripped out" of the drivers, Intel, Microsoft
> and many other copyright and patent holders threatened to sue their butt off.

That's certainly one of the problems with releasing 3D driver sources.

> So once XFree86 4.x was released, with the binary-only driver model, nVidia
> just decided to develop an "universal codebase" for MacOSX-Linux-Windows,
> including full GLX (OpenGL over X-Windows) support.  That way nVidia could
> leave in _all_ of the acceleration, giving Linux as fast and feature-rich
> performance in Linux as Windows.

Yep.

> - ATI is changing its tune
>
> ATI has tried to be community-focused, releasing _all_ specs and working
> with X, UtahGLX, DRI and others in creating open source 3D support.  But
> it has often been late, slow and totally _lacking_ in features compared
> to their Windows drivers.  Even on the 2D end, they just could not keep
> up with nVidia.

The main problem with ATI's OpenGL drivers is that they are just buggy
as hell.  Really awful.  We get repeated crashes, freezes, incorrect
adherence to the OpenGL spec, memory leaks...you name it.

> ATI has been just as proprietary as nVidia when it comes to non-standard
> extensions of DirectX/OpenGL, so it really sickens me when people get
> all anti-nVidia and pro-ATI.  If you want to support a vendor that
> supports Linux and standards, support 3DLabs.

Eh?  3D labs don't support Linux with 3D drivers!  They are even WORSE than
ATI and nVidia because you have to pay money to get closed source drivers
from a third party who always seems to be a year behind the current 3Dlabs
hardware releases!

---------------------------- Steve Baker -------------------------
HomeEmail: <sjbaker1 at airmail.net>    WorkEmail: <sjbaker at link.com>
HomePage : http://www.sjbaker.org
Projects : http://plib.sf.net    http://tuxaqfh.sf.net
            http://tuxkart.sf.net http://prettypoly.sf.net
-----BEGIN GEEK CODE BLOCK-----
GCS d-- s:+ a+ C++++$ UL+++$ P--- L++++$ E--- W+++ N o+ K? w--- !O M-
V-- PS++ PE- Y-- PGP-- t+ 5 X R+++ tv b++ DI++ D G+ e++ h--(-) r+++ y++++
-----END GEEK CODE BLOCK-----



More information about the Discuss mailing list