Continued from Part 1: Dumpster Diving
Linux graphics support is still remarkably similar to how it was 20 years ago, even with all the progress that has been made in the years since. The Mesa 3D graphics library had its origins all the way back in 1995, and through the Utah GLX project attracted the attention of industry luminaries such as id Software’s John Carmack and vendors such as ATI, Intel, Matrox, S3, and 3dfx. By the turn of the millennium all of them had at least some support in Mesa.
Nvidia went a different route, one which continues to set them apart to this day. Rather than choosing to cooperate with Mesa they instead ported their Windows drivers over to Linux directly, maintaining their own proprietary binary blob separate from the main Linux kernel. This driver model was also later adopted by ATI when they switched focus to their own proprietary “fglrx” driver, although this was largely reversed again after AMD acquired the company in 2006.
By the time of Red Hat Linux 9 the Direct Rendering Infrastructure or DRI was firmly in place in Mesa and offered 3D support for a wide number of cards. This included the ATI 3D Rage Pro Turbo, which was the AGP card I had selected to test the machine. While a solid 2D performer it offered lacklustre 3D graphics even for the time of its release, and was intended more as an OEM graphics solution than for gaming. That makes them easy to find, but also not worth a lot.
Another option on hand was my old DiabloTek ATI Radeon 9200 card. I used this card in my main computer not long after I switched to using Linux full time in 2007, and with Fedora Core it offered decent DRI support that allowed me to play most games released up until Doom 3. Unfortunately this support was not mature until the release of xorg 6.8.2 with Fedora Core 3 in 2005. By that point Fedora was optimized for Pentium 4 CPUs and at least 256 MB of RAM.
Regardless, neither of these cards really matched the period of the rest of my hardware. In the late 1990s the market leader for gaming graphics was 3dfx, with their Voodoo cards still holding a hallowed status among retro enthusiasts. Voodoo held exclusive support for the Glide graphics API, making them by far the most compatible hardware solution for playing contemporary games. On eBay none were selling for less than $100 CAD with shipping.
That said, Nvidia had already begun to eclipse 3dfx by 1999, who they would go on to acquire by the end of 2000. The RIVA TNT2 line boasted strong OpenGL performance as well as support for 32-bit colour output, with the TNT2 Ultra arguably being the most powerful card on the market. These too often go for well over $100 CAD on eBay with shipping, with only the inferior TNT2 M64 cards selling for cheap, being Nvidia’s answer to the OEM success of ATI’s Rage.
Further, for this project I wanted a card with good support in Mesa, something which Nvidia has never favoured. Even on modern machines I eschew Nvidia in favour of AMD or Intel, largely because I value the deeper Linux integration offered by Mesa drivers even at the cost of some performance. Not finding a lot of Linux coverage on S3, in terms of discrete graphics cards from 1999 that left me with just two other options: Matrox, or a more contemporary card from ATI.
While being obscure today Matrox made a serious attempt to break into the gaming market in the late 1990s. Famed for their sharp high resolution output and dual head support, they also offered decent 3D performance with the introduction of their G200 and G400 cards. While priced better than 3dfx and Nvidia these can still command something of a premium due to their uniqueness, with the cheapest G400 selling for over $50 CAD on eBay with shipping.
How about ATI then? After all, the release notes for Red Hat Linux 9 do specifically state support for “all existing Rage 128 chipsets” as well as for a number of early Radeon cards. In 1999 the flagship ATI graphics card was the Rage 128 Pro, also known as the Rage Fury Pro. With performance roughly on par with a stock Riva TNT2 from Nvidia, it launched as a decent compromise card bridging the gap between the demands of ATI's OEM partners and more serious gamers.
It can also be had for reasonably cheap. Sandwiched between the lacklustre 3D Rage Pro line and the infamous Rage Fury MAXX, Rage 128 cards do not enjoy the same name recognition and are priced to reflect that. In the end I paid $25 CAD for a later Gigabyte GV-AG32S OEM card, spending just a bit more than some of the other offers to buy from an established eBay seller and for 32 MB of video memory. It looked a good place to start.
Carrying on in Part 3: Installing Red Hat Linux 9