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
Return to Part 1: Dumpster Diving
Quoting: scaineLove these articles, Hamish. Keep 'em coming. I remember fondly my first experience of switching from software rendering to... some kind of Voodoo card, but I can't remember which one. It was life-changing. I mean that genuinely - it was the moment that crystallised the potential of PC gaming for me. First I played Deux Ex, then I played Quake. Every so often, I'd switch back to software rendering just to remind myself how muddy and uninteresting these virtual worlds were before hardware acceleration.
Back then, motherboards didn't have built-in sound either. Or network for that matter. Stacking the PCI slots in the right order to avoid contact and maximise airflow is a lost art. These days, you basically have a monster GPU... and that's it.
You forget the jumpers to configure the irq's to avoid conflicts between cards.
Quoting: scaineIt was life-changing. I mean that genuinely - it was the moment that crystallised the potential of PC gaming for me. First I played Deus Ex, then I played Quake.I am actually a good way through playing Deus Ex again from the Windows 98 install. Performance varies quite a bit depending on the complexity of the level but that is likely as much due to running a Pentium III 500 Katmai as a Rage 128 Pro as Deus Ex is notoriously CPU intensive.
Nice little bit of Linux trivia: if you look at the patch notes from the Deus Ex GOTY release you can see that Loki Software is thanked for supplying the OpenGL renderer for the game. Apparently Loki was very close to releasing the Linux port before they went bankrupt.
Quoting: The_AquabatBut I wonder what would this machine achieve with the latest bleeding edge AGP card ever released, a Radeon HD 4xxx I thinkLikely nothing great I would imagine. You would be horribly bottlenecked by both the CPU and RAM and of course not all AGP is created equal. Even my Rage 128 Pro is being held back just a bit by being an AGP 4x card inserted into my motherboard's AGP 2x slot.
Quoting: x_wingBut those game works way better with a Voodoo card?Well, it depends. But that is a subject for a future article, so I will come back to that later.
Quoting: x_wingI still think that there are better alternatives in the market that should give a way better Linux experience for that time period. For example, in my country I can find a Radeon 7000 for around 5 USDNot a huge difference between my Rage 128 Pro and a Radeon 7000 although both can be made to work with later Red Hat Linux releases. If I were to go that route I would either want to max it out with a Radeon 7500 or just install a later Linux with support for my Radeon 9200.
Quoting: x_wingin fact, for the price of one Voodoo card I can actually buy 4 to 5 old PCI/AGP GPUsThat I can believe. Again, I am not rushing to get a Voodoo for this exact reason.
Quoting: whizseActually, The Weather Channel used Linux for some project and demanded FLOSS drivers. ATI payed Tungsten Graphics to develop them.Now that is interesting to find out about. And yeah, Radeon R200 cards were the last to receive Mesa drivers from ATI before they were bought out by AMD.
That being said, things did improve after the AMD buyout as I remember in 2010 I could finally launch both Doom 3 and Penumbra on my Radeon 9200. By that point I had already started using Radeon HD cards though.
Last edited by Hamish on 10 March 2021 at 10:01 am UTC
I think I can make a small fortune and free some space ;)
I know I have a Voodoo Banshee, an Ultra TNT 2, an SLI of ASUS 8800 GTX and their waterblocks, a Zalman reserator 2 and XT with brand new (in sealed boxes) chipset's waterblocks also from Zalman.
Some sound blaster cards (with external modules for audigy series).
At the time all my PC where using SCSI adapters from adaptec (U160, U320) with 10k rpm HDD and Yamaha ODD.
My computer journey is already from 30 years ago and I'm 41 ^^
Quoting: HamishNot a huge difference between my Rage 128 Pro and a Radeon 7000 although both can be made to work with later Red Hat Linux releases. If I were to go that route I would either want to max it out with a Radeon 7500 or just install a later Linux with support for my Radeon 9200.Sorry to quote myself here, but I just realized there actually is a third option which is using the Radeon 9200 with Red Hat Linux 9 and fglrx 8.28.8 which supports XFree86 4.3 as seen here:
https://www.amd.com/en/support/graphics/legacy-graphics/ati-radeon-9xxx-series/ati-radeon-9200-series
By the time I was using the card fglrx had already dropped support for the Radeon 9200 so it might make a fun article later on just to see what I missed by not using the binary blob.
See more from me