Patreon Logo Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal Logo PayPal. You can also buy games using our partner links for GOG and Humble Store.
We use affiliate links to earn us some pennies. Learn more.

Building a Retro Linux Gaming Computer Part 51: It’s Not Easy Being Green

By -
Last updated: 3 Mar 2026 at 11:42 am UTC

Return to Part 1: Dumpster Diving

Continued from Part 50: Dawn of Civilization

When I first started using Linux full time in 2007, I was still not well versed on how video cards worked. Growing up my brothers and I could not figure out why Quake III Arena would never launch on our Fujitsu LifeBook E362 laptop for instance, unaware of the need to have a compliant 3D accelerator. My initial switch to Linux was cushioned by the fact that we had older ATI cards such as the Radeon 9200, the last generation to have DRI support under Mesa for several years.

This meant that 3D support just worked out of the box for me under Fedora Core, but my white whale would be Doom 3, which refused to run under Mesa at the time. This forced me to actually learn about graphics drivers, and discover that the proprietary ATI fglrx driver needed to run the game had dropped support for my R200 card back in 2006; ATI would go ahead and burn me yet again in 2012 by dropping support for the Radeon HD R600 cards I had upgraded to after that.

What kept me loyal to the brand was the pivot by AMD after they acquired ATI to once again support the development of the free graphics stack, something which proved to be a painful and slow transition at times, but nevertheless paved the way for the now favoured status that Radeon cards enjoy under Linux today. When I first started out though, the received wisdom was that if you were serious about gaming on Linux, you needed to get yourself a Nvidia card and use their proprietary drivers.

I never did, and I still opted against it when building Dianoga, being more curious instead to see the early days of Mesa. Hiding in my father's old home office though was a stack of AGP graphics cards, among them a RIVA TNT2 M64 and a GeForce2 MX 400. It is fair to say I had pushed my ATI Rage 128 Pro about as far as it could go by the time they were found, and the fact that the GeForce 2 MX 400 is comparable in performance to the original GeForce 256 from 1999 made it compelling.

I was not going to go out of my way to switch from "Team Red" to "Team Green", but with the cards just falling into my lap, fate it seemed had made the choice for me. My GV-AG32S ATI card was already a later budget option from 2001, so it was no less feasible to imagine someone upgrading their ageing 1999 computer with the more popular cost reduced alternative pushed by Nvidia at that time. The question after that was deciding on which version of the blob drivers to try.

Nvidia pioneered the use of a unified driver model, meaning it was not a question of matching a driver to the card, but instead settling on a time period. In the end I opted for the 1.0-4191 drivers put out in December 2002 for the arbitrary reason that they were the last distributed through RPM packages as opposed to using a more distribution agnostic shell script installer; the files in question being the NVIDIA_GLX-1.0-4191.i386.rpm and NVIDIA_kernel-1.0-4191.rh73up.i386.rpm packages.

Nvidia also provided the NVChooser.sh script for determining which kernel package to use, and the necessary changes to your XF86CONFIG file are laid out in the README file, all of which should be handled from runlevel 3 outside of an X server. To get it to work I had to fall back to the original kernel shipped by Red Hat as opposed to the one I upgraded to from Fedora Legacy; attempting to roll my own kernel module with the NVIDIA_kernel-1.0-4191.src.rpm always resulted in failure.

What followed was not a revolution but an evolution nonetheless. True to the faustian bargain of having shared code between the Windows and Linux drivers, the performance delta between the two shrunk considerably, and I was able to enable more graphical features with less impact on framerates. The biggest advantage was the absence of some of the bugs and quirks in the r128 drivers, particularly the end of freezes in Unreal Tournament, Rune, Quake 2, and Serious Sam.

I also no longer had drawing errors in Soul Ride or Myth II: Soulblighter when using the OpenGL renderer, even though I do still kind of prefer the crispy textures in software. Detail textures now worked in Soldier of Fortune and I could also use multi-texture in Descent 3, with dynamic lighting no longer hammering the framerate in Heretic II and displaying reflective surfaces no longer causing Serious Sam to stall. Both Cube and Tribes 2 saw significant performance boosts, being far more playable.

With the GeForce2 MX 400 I am now confident that it is my Pentium III 500 MHz Katmai which is my main bottleneck, borne out by the fact that turning down the scalability settings in Soldier of Fortune still improves the framerate, with the GHOUL system being very CPU intensive. It was the same for Rune and Return to Castle Wolfenstein, with CPU performant tasks like debris, gore, decals, and wall marks all dragging things down during intense combat. It is time to take the card for a proper spin.

Carrying on in Part 52: What Am I Going to Do With All This Cheese?

Return to Part 1: Dumpster Diving

Article taken from GamingOnLinux.com.
6 Likes
About the author -
author picture
Hamish Paul Wilson is a free software developer, game critic, amateur writer, cattle rancher, shepherd, and beekeeper living in rural Alberta, Canada. He is an advocate of both DRM free native Linux gaming and the free software movement alongside his other causes, and further information can be found at his icculus.org homepage where he lists everything he is currently involved in: http://icculus.org/~hamish [External Link]
See more from me
All posts need to follow our rules. Please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Readers can also email us for any issues or concerns.
3 comments

dubigrasu 5 hours ago
That Nvidia white splash brings back sweet memories, the first "serious" card that I used for gaming on Linux was a Geforce4 MX, and it was the card I used to play Doom 3 with.
Surprisingly it ran the game better than Windows and I even had surround sound thanks to nforce drivers. Granted, all that at 640x480 resolution, since I didn't had a monitor at the time and I used my TV, which was quite fine for me coming directly from PS1 games.

The AMD side on Linux was quite iffy at the time, even though the cards were superior in Windows, the best one was (I think) Radeon 9000...something and I borrowed one from a friend, only to get something like half of performance with serious graphical bugs, when it worked. Which was somewhat a relief considering they were crazy, crazy expensive, while the geforce was quite affordable.

Anyway, I remember fondly the times when I came back from work, start my Linux computer (he he) see the welcoming Nvidia splash, then the blue glow on my amp confirming I have surround sound and getting immersed in one awesome game. Ah...

Last edited by dubigrasu on 3 Mar 2026 at 10:45 am UTC
Hamish 4 hours ago
Further links and resources can be found on the official website:
[https://icculus.org/~hamish/retro/part51.html](https://icculus.org/~hamish/retro/part51.html)
Jarmer 2 hours ago
User Avatar
Thank you so much for this series :) I love reading these posts!
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon Logo Patreon. Plain Donations: PayPal Logo PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register