[NTLUG:Discuss] Re: pci-e and linux ( and radeon -vs- nvidia ) -- Freedom/Standwareware X11 support

Bryan J. Smith b.j.smith at ieee.org
Fri Dec 24 09:26:31 CST 2004


On Thu, 2004-12-23 at 22:03, Ralph Green, Jr. wrote:
> Howdy,
> I don't play games, so the absolute fastest card is not what I need.

Do you need 3D at all?  And stable for that matter?
What about GLX (OpenGL over X11)?  Or will DRI (local-only) do?

DRI is basically equivalent of Direct3D, only using OpenGL.  Like
Direct3D relies on the local GDI, DRI relies on the local Linux kernel
interfaces.

There is no equivalent to GLX (OpenGL over X11) in the Windows world
(although the new "WinFX" desktop was supposed to offer this for NT6
"Longhorn" using .NET, but it looks like that part of the feature is now
out).  GLX is a mainstay of engineering need (hence why many of use use
nVidia).

- Standardware 3D (open standard, closed source):
  nVidia, ATI and Matrox

If you need stable 3D or GLX, then the Standardware nVidia ("nvidia")
drivers are the way to go.  Especially given the ease of installation. 
The drivers support from the TNT/TNT2 (NV4/NV5) and higher to nearly
_all_ of the newer NV4x/GeForce 6000 series (the 6600/6800, but not
officially the 6200 yet).

ATI's Standardware ("?") driver seems to be coming along well.  I
haven't personally checked how they work (do they support GLX as
well?).  Several people have complained that ATI's drivers _lack_ broad
card support yet -- but it will come.

Probably the best Standardware drivers from a "features" standpoint are
Matrox's.  They include their full "PowerDesk" suite that mirrors their
Windows counterpart.  And they offer decent OpenGL performance (GLX?).

In addition to the "closed source" XFree/Xorg driver (which _is_
allowable under the license), nVidia and ATI modify and "taint" the
kernel.  The Matrox card does not.  nVidia and ATI setup proprietary
memory and I/O support that the kernel does not have.

Yes, the Matrox driver is _proprietary_, but it does not modify the
kernel.

- Freedomware 3D (open standard, open source):  
  DRI (Direct Rendering Infrastructure)

If you don't might DRI (local 3D-only) or a little instability, then
there are a few DRI supported cards:  
  http://dri.sourceforge.net/cgi-bin/moin.cgi/Status  
DRI can be more involved to setup, depending on the distribution.

Most people have shown the greatest DRI success with an ATI R200
series.  This would be cards like the Radeon 8500.  There are also
variations of the R200 series like the RS2x0 and RV2x0, from the Radeon
7500 to the 9200 that may have varying levels of support.

All R300 (Radeon 9500 through X600) and newer cards (including the R420
X800) are _not_ supported with DRI and _never_ will.  ATI _only_
released 3D specifications on the R100 and R200 series cards.

Ironically, even the older 3dfx cards are not bad if you have one.

> I have been trying to figure out what the best video card is that has
> open source drivers.

For 2D, just check your XFree/Xorg man pages.  For nVidia, this would be
"man 4 nv" for ATI Radeon "man 4 radeon", etc...  If you are unsure, hit
the main X man page, README or Release notes for a driver breakdown.

Actually nVidia's Freedomware (nv) driver support is very, very good for
2D.  nVidia is pro-active in support (i.e., they put people on the
drivers) of the Freedomware drivers in XFree/Xorg.  They have both
driver _and_ overlay/output support (analog TV in/out), whereas ATI
hasn't been so forthcoming with the latter -- at least not in the past.

The "nv" driver in all Xorg releases support pretty much all nVidia
cards since the Riva 128 (NV3) through the GeForce FX series (as late as
the NV38).  So if you have a distro that uses Xorg, you're set as long
as you don't have a 6000 series (or a "proprietary" PC notebook with the
Go Mobile, which PC OEMs seem to "modify" from the nVidia original).

You'll want later releases of XFree/Xorg for newer ATI Radeon support. 
This is the complementary 2D driver to the DRI support.  But beware! 
Even just one or two versions back do _not_ support some of the
"cheaper" R200/300 series like the 9100SE/9200SE/9600SE that are popular
on the shelf.  As much as I _love_ to see "anti-nVidia bigots" buy these
cards and then bitch and moan on-list that they don't work even for 2D
(and they have to run the VESA driver) on their distro, _check_ your
"man 4 radeon" support page and look for the _exact_ model.

> It should also be reasonably priced.  Under $30 is good,

CompGeeks.COM has a number of cards for under that price.  Even a 64MB
Radeon 7500LE (although that might _not_ be supported even for 2D --
check!).

I don't know if I'd call such a card "reasonably priced."  You're
basically talking an "older" card because video cards with anything like
64MB+ basically cost _over_ $30 "new."

But you can typically find nVidia GeForce4 MX (NV17) and nVidia GeForce
FX5200 (NV34) cards on sale for $29 after rebate regularly.  They are
_well_ supported with the 2D Freedomware driver nowdays -- even for
their TV Out functionality.

> but if it made a big difference, I could double that.
> My best success so far has been with S3 or Matrox cards.

There is an assumption that Matrox's drivers are Freedomware.  Although
there are XFree/Xorg Freedomware drivers, the best Matrox drivers are
the "proprietary" ones that come with the full PowerDesk suite.  Unlike
nVidia or ATI's newer drivers, they don't "taint" the kernel. 
"Proprietary" drivers are _fully_allowed_ under the XFree/Xorg licenses.

> I am not tied to those, though.  What is best?

Brand name means _nothing_.  It's a per-model consideration.

Obviously if you can get your hands on a _true_, _original_ ATI R200 --
the Radeon 8500 -- then you will experience the ultimate in 2D+DRI
support.  It has to be a "pure" 8500 -- not some suffix.

But most Linux people who do not research simply by a Radeon 9100SE,
9200SE or 9600SE and "ass-u-me" they will support 3D.  Not only will the
9600SE _never_ support 3D (it's a RV350 series), but all 3 have varying
2D support (some not at all on just 1 version back of XFree/Xorg).  In
other words, you might be loading the proprietary ATI drivers just to
support the card!

> Oh, and AGP is all I can use.  But, I am interested in opinions on
> PCI-x cards, too.

Sorry to be anal, but it's not "PCI-x" but "PCI-Express" or "PCIe".  The
reason I point this out is because there _is_ a _separate_ standard
known as "PCI-X".

PCI-X is the 64-bit successor of the 64-bit PCI parallel slot and
supports upto speeds of 133MHz/1GBps (v1.0) and 266MHz/2GBps (v2.0).  On
the AMD NUMA/HyperTransport platform, the AMD8131 provides (2) PCI-X
v1.0 channels (upto 3 slots per channel at 66MHz, 1 slot at 133MHz), the
AMD8132 provides (2) PCI-X v2.0 channels (twice the signaling).  It is
backward compatible with PCI (as long as you use the right voltage,
typically 3.3V or lower).

PCI-Express (PCIe) is a serial channel technology that is wholly
incompatible with PCI.  It is typically used in x1 (single) and x16
(sixteen) channels, although x4 (quad) and x8 (eight) channels are also
popular in more server boards.  Most cards can and should dynamically
accommodate change to the number of channels.  E.g., most SLI mainboards
use (2) x8 channels for video, even though the cards might be x16.  Most
PCIe chip/bridges support 20 channels -- x16 for video, with 4 more
channels for other I/O.

And, for completeness, AGP is an implementation of a 32-bit PCI slot
with Intel trade secrets.  It is _not_ a PCI SG standard -- at least not
as implemented.  Both PCI-X and PCI-Express, like PCI, are PCI SG.


-- 
Bryan J. Smith                                    b.j.smith at ieee.org 
-------------------------------------------------------------------- 
Subtotal Cost of Ownership (SCO) for Windows being less than Linux
Total Cost of Ownership (TCO) assumes experts for the former, costly
retraining for the latter, omitted "software assurance" costs in 
compatible desktop OS/apps for the former, no free/legacy reuse for
latter, and no basic security, patch or downtime comparison at all.






More information about the Discuss mailing list