|< Day Day Up >|
The X Window System is an amazing piece of work. You can run in a graphical environment, have text consoles open at the same time, and easily switch back and forth between them. The X Window System does more than draw pretty pictures; it's a networking protocol as well. You can even log in to remote systems via X. (This is covered in Chapter 17.)
While the X Window System has been the Linux standard forever, there is a new windowing system finding acceptance: X.org. It is a fork of the XFree86© project that found sudden popularity when the 4.4 release of XFree86 adopted a licensing change that was possibly incompatible with the GPL. Fedora and Mandrake were the first on board with X.org. By the time you read this, everyone may have kissed and made up, or it may all be a jumble, with yet another distribution difference to trap the unwary. You'll need to know which one is on your system. This command gives the version number for XFree86:
$ XFree86 -version
And this is for X.org:
$ X.org -version
X.org currently mirrors XFree86 very closely; the primary differences are in the configuration filenames and locations. However, the two will probably diverge more with time.
Make it easy on yourself, and just call it "X."
All video adapters will work in Linux; even the most obscure card will work at a generic VGA level (640 480, 16 colors). All the major Linux distributions come with good video configuration tools that will detect your hardware and find drivers automatically. It is unlikely you'll ever need to edit XF86Config, except perhaps to enable hardware acceleration or to customize multihead displays.
The majority of video adapters have Linux drivers and will deliver good 2D performance, which means that for everyday tasks—email, web surfing, spreadsheets, word processing, and so forth—most any adapter will do. Getting 3D hardware acceleration support can take a little more effort, but if you play games like Tux Racer and Quake, or do 3D computer-aided design (CAD) or 3D modeling, hardware acceleration is essential.
Modern video cards are more powerful than PCs of yesteryear: a high-end model has 256 MB of RAM, a 256-bit bus, a 256-MHz GPU, and often even has its own cooling fan.
Video-card performance is limited by the type of motherboard slot it is plugged into. PCI cards are the slowest. AGP is much faster, and is found on all modern boards. There are several flavors of AGP:
The AGP standards are backward- and forward-compatible; you can mix up new cards and old motherboards and old cards and new motherboards. However, putting a new, high-end card on an older board means you won't get all the performance you paid for.
One way to get hardware video acceleration in Linux is by using Direct Rendering Infrastructure (DRI) and a Linux-supported video card. DRI is built in to XFree86. Currently, XFree86/DRI support is available for these chipsets: 3dfx, Gamma, Intel i8x0 motherboard chipsets, Matrox, ATI Rage, ATI Radeon, Mach64, and Sis300. Visit http://xfree.org and http://dri.sourceforge.net for up-to-date information on supported chipsets and howtos.
The other way to get hardware video acceleration is by using drivers supplied by the manufacturer. For example, nVidia supplies their own binary-only drivers and kernel modules, which are currently the only way to get hardware acceleration for nVidia adapters. You can use the the open source nv driver for nonaccelerated 2D operation.
ATI and Matrox both have some cards that are fully supported by open source drivers and some that require proprietary binary drivers to get full functionality. As always, do your homework before buying.
Here's some terminology:
|< Day Day Up >|