Introduction

I don’t know if I should admit it. This review could more or less be called an accident. I have most certainly wanted to do hardware reviews under Linux for a long time, but I never really got around to dedicating enough time to it so far. However, the recent inclusion of Linux kernel compilation in our CPU benchmarking portfolio was the first step into the right direction and it’s pretty much the reason for this review.
You might remember the two articles about Intel’s latest processor, the Pentium III at 1.13 GHz. My test sample is an actual faulty part, which I pointed out in the second article about this new processor. Late last week I had finally received Intel’s VC820 motherboard, which happens to be a specially modified platform for the P3 1.13 GHz. I considered it reasonable to give my uncooperative 1.13 GHz sample one last chance and so I tested it on this motherboard as well. It turned out that I ran in less trouble than with my other test platforms, but the system was still far from stable. One of the tests that my 1.13 GHz Uber-Processor could never finish was the Linux Kernel Compilation. To make sure that my configuration was correct I decided to make a new installation of Linux on a new hard drive. While I was at it, I thought I could also install the latest Linux 3D drivers for the GeForce2 GTS card that I am using in the test system. This might give me the chance to run my Linux Quake 3 version as an additional benchmark as well. That’s how the whole thing started. As you can see, I finally decided against writing another negative article about my buggy Pentium III 1.13 GHz processor. Instead, here I am with a positive article about 3D graphics under Linux with NVIDIA graphics cards.
Linux

I guess I don’t have to tell the die-hard Linux user that you should probably go ahead and skip this paragraph. I’d like to give a short explanation for the ones who don’t know what Linux is, as well as for those who only ‘heard about it’ so far.
Linux is an operating system. Operating systems are the platform for the software titles you are running on your system. Other well-known operating systems are Microsoft’s Windows98 and Windows 2000, UNIX in all its different flavors, BeOS, OS/2, in case anyone remembers it, MacOS, Apples operating system, and more. Linux is a UNIX-style operating system, initiated and developed by Linus Torvalds and expanded upon by many others today. Linus’ vision was to develop an operating system that is free and that comes with open standards. This is the basic idea that made Linux what it is today.
The fact that Linux is free has made it THE operating system in most universities worldwide. However, characterizing Linux as just a ‘cheap operating system’ wouldn’t do it any justice whatsoever. The really brilliant part of Linux is the open standard. Everybody has access to the source code of Linux and so everyone who fancies it can write his own code for Linux. Linus’ vision of a worldwide community that is together working on creating an excellent operating system has become true. Linux hasn’t got any secrets, it doesn’t claim anything that it isn’t able to deliver and it has become a highly interesting choice for many people who are looking for a reliable, up-to-date and secure operating system.
Let’s now cut the philosophy crap though. Why should you, as a more or less happy Microsoft Windoze user, who couldn’t care less about the worldwide Linux community, be interested in Linux?
Linux, Continued
Well, let me try to give you my opinion on that. Other people may have different reasons. I like Linux because today it has become easy enough to install and use, while offering a huge wealth of free software based on it. It is one of the securest operating systems out there, which is why you’ll find it in many networks or on a very large percentage of web servers that are the permanent target of hackers. It is a pure 32-bit operating system and therefore automatically superior to Windows95, 98 or the upcoming Windows ME. It has turned out to be a lot securer than WindowsNT or Windows 2000. It is available for virtually any platform and processor type, you will find it on any kind of server, cluster system, workstation, PC, notebook and handheld device.
What used to be an operating system for freaks, hackers and geeks has now become a valid platform for everyone. Today’s Linux comes with a GUI (graphical user interface), similar to the Windows desktop and it’s available in several different distributions. You only pay for the process that it took the publisher to compile all the software on various CDROMs, which is significantly less than what you’d have to pay for any Microsoft OS. Included in those distribution packages is often a complete StarOffice Suite, zillions of utilities, games, software for virtually any of your needs and of course a wealth of software development tools for all the ones who want to contribute their own software to the Linux community.
Linux didn’t use to be about money. Linus Torvalds wanted to create a free operating system and free software around it. That’s still valid, but many companies have realized the importance of Linux and so the big bucks are rolling all over Linux now too. Intel is interested in Linux as an OS for their upcoming IA64 architecture, as found in the more or less soon to be released ‘Itanium’ processor. RedHat, a US Linux distribution, went to the stock market last year and has now a scary (or was it ‘impressive’?) market cap. While many people in the Linux community, including myself, didn’t welcome RedHat’s IPO, it shows how valuable Linux has become. Transmeta has based their Crusoe processor completely on Linux and there is much much more.
Nowadays, the usage of a PC goes well beyond letter writing, spreadsheets and web browsing. More and more people enjoy playing 3D games on their systems as well. To make Linux an operating system for the masses it has to offer 3D gaming abilities too. That’s why I finally decided to see if NVIDIA’s recent efforts to supply unified Linux drivers for their 3D cards have made Linux an OS for 3D-gamers as well. I was very pleased with the results.
Installing NVIDIA’s Latest Linux Drivers
One thing I have to give Linux. It’s still not by far as easy to install drivers under Linux as it is under Microsoft’s operating systems. Therefore I will dedicate a rather longish and hopefully detailed enough chapter to this issue. I have seen numerous news group postings of people who had problems installing the NVIDIA drivers, and luckily most of them can be solved.
NVIDIA’s Unified Driver Architecture
I don’t know about you, but I have heard about the wonderful ‘unified driver architecture’ so often from marketing people and out of press releases, that I got almost immune to it. For most Windows users this isn’t really a big deal. We are used to get Windows98 and Windows2000 drivers for our hardware and why would anyone care if those drivers work for other hardware as well?
The story is a lot different for Linux users. Up until recently Linux users had to get used to the fact that drivers for special hardware took quite a while to become available. In many cases someone out of the worldwide Linux community wrote a driver by himself, because the vendors couldn’t be bothered to support Linux. Today things are improving and you’ll find that the Linux distribution package you just bought is already supporting most of your system components. The story is still a bit tough in the fast changing graphics card market though. You might be able to easily get a driver for the 2D-functionality of your card, but once it comes to 3D-support things look rather grim. That’s why NVIDIA’s unified Linux driver model seems like a real blessing. Regardless if you’ve got a TNT2, Vanta, TNT2 Ultra, GeForce SDR, GeForce DDR, GeForce2 GTS, GeForce2 MX, Quadro, Quadro2 or the upcoming new 3D-solution from NVIDIA, they all work with the one driver set. In fact, after the installation you can easily swap one of those cards with another, restart your Linux box and the system will run. For Linux users this is a great advance!
Step One — Install Xfree86 4.0 or 4.0.1
Here we go, we already experience the first big difference between all the different Windows operating systems and Linux. While Windows is one package from one software developer, Linux is a collection of software from various sources. XFree86 is, per definitionem (yeah, that’s how this Latin term is properly spelled), «XFree86 is the underlying software that runs between the video hardware and graphical user interface (aka gui) that people see.» In laymen terms, it’s the ‘thing’ that enables you to see a desktop in Linux, regardless if you are using KDE, GNOME or any other Linux GUI. It talks directly to your graphics card and as such it needs to be of the right version for NVIDIA’s latest driver release.
In July Xfree86.org released XFree86 version 4.0.1 and since NVIDIA supplies drivers for 4.0 as well as 4.0.1 it is advisable to upgrade to the latest version right away. Download it from www.xfree86.org and go ahead and install it. If you are experienced enough you might want to go for the source code and compile it, or you choose the binaries that are already available. In both cases the installation isn’t really too difficult as long as you stick to the readme and install files supplied.
One word of advice. If you want to make sure that you won’t run into too much trouble after the installation of Xfree 4.0.1 and you’ve got a Linux installation from one of the big distributors like Red Hat, Suse, Mandrake, Corel, … you might want to avoid booting right into the GUI. Make sure that you change the line ‘id:3:initdefault‘ if you are using SuSE, or ‘id:5:initdefault‘ if you are using RedHat or similar to ‘id:2:initdefault‘ for SuSE or ‘id:3:initdefault‘ for RedHat et. al. in the file ‘/etc/inittab‘. You can use any text editor you’re familiar with. This will boot Linux to the Linux console. From there you can use e.g. Midnight Commander (command ‘mc’) if you’ve got to edit ‘/etc/X11/XF86Config’, because you’ve got trouble reaching your desktop after the upgrade. With the command ‘startx’ you’ll start the GUI. If it doesn’t start the GUI or if you get a black screen you can press ‘Ctrl-Alt-Backspace’ to quit XFree86 and you’re back at your console prompt.
Step Two — Install The Basic NVIDIA Driver ‘NVdriver’
The driver for your NVIDIA card is actually divided in two. There is the basic part, which is added to the kernel via a module and there is the actual XFree/GLX driver. Let’s first concentrate on the kernel part, which is the one that’s more difficult.
You’ll find all the NVIDIA drivers you need here. Grab whichever version of the kernel driver you prefer. It’s easiest for RedHat users, because NVIDIA supplies the driver in form of a RPM. Non-RedHat users like me (I’m a SuSE-follower) can choose between another RPM or the source code. I recommend the source code file, which is actually less painful to install than the RPM file. I’ll describe the installation procedure for non-RedHat users. RedHat users shouldn’t have any problems.
For this procedure you obviously need to be logged as ‘root’. Either you logged on as ‘root’, or you type ‘su’ and supply your root-password. After you have downloaded the source code file «NVIDIA_kernel-0.9-4.tar.gz» unpack it into a directory of your choice. Before you now ‘make’ the code I recommend you make sure that in /usr/include/linux is the ‘autoconf.h’ file that reflects your actual kernel. This is not always the case! Both installation versions, the source-file as well as the RPM look into ‘/usr/include/linux/autoconfig,h’ or ‘/usr/src/linux/include/autoconfig.h’ to figure out your kernel configuration. Two things are important.
- Are you running an SMP-kernel? Then you should find the line ‘define CONFIG_SMP 1‘ in your ‘autoconf.h’ file. If not, you should find ‘#undef CONFIG_SMP‘ there. Make sure that this one is correct or your driver won’t run!
- Is your kernel equipped with the loadable AGP-module ‘agpgart.o’? If not, you should consider making and installing it. If you don’t have it, don’t want it or can’t make it, you want to make sure that you don’t find either of those two lines in your ‘autoconf.h’: ‘define CONFIG_AGP 1‘ or, more likely, ‘define CONFIG_AGP_MODULE 1‘. The second of the two lines signalizes that you’ve got the loadable module ‘agpgart.o’ installed in your Linux box, the first one is for the case that your system has got the AGP-driver compiled into the kernel, which is not advisable right now, as far as I know. Check if you’ve got the module by typing ‘/sbin/lsmod’. Maybe the module is already loaded (which is rather unlikely) and you find it in the list of the loaded modules. If the list doesn’t include ‘agpgart.o’ you type ‘/sbin/insmod agpgart’. If the module is there you will get the message that it loaded successfully. It is possible you get the error message ‘device or resource busy’. This rather stupid error message wants to actually tell you that ‘agpgart.o’ doesn’t recognize your AGP-chipset. Don’t worry about it and type ‘/sbin/insmod agpgart agp_try_unsupported=1’. Now it should load in the very most cases, unless you’ve got a really exotic AGP-chipset. Should you be unable to get ‘agpgart.o’ to load, you should delete the above mentioned lines from your ‘autoconf.h’ before you install the driver, because otherwise the driver will not work, as it will depend on the resources supplied by the AGP-driver.
After making sure that ‘/usr/include/linux/autoconfig.h’ is indeed showing the configuration of your actual kernel you can finally type ‘make’ in the directory to which you unpacked the NVIDIA driver source code file. If everything went fine the file ‘NVdriver’ should have been loaded in your ‘/lib/modules//video’ directory and it should have been started. Make sure it was loaded with ‘/sbin/lsmod’. It should turn up in the list.
Step Two — Install The Basic NVIDIA Driver ‘NVdriver’, Continued
If you have not followed my advice above you might get one of the following two error messages and NVdriver won’t load (try it again with ‘/sbin/insmod NVdriver’ if you can’t find it in the ‘/sbin/lsmod’ list):
- You get a list of 8 ‘unresolved symbol agp_…‘
This means that the driver is depending on the AGP-driver ‘agpgart.o’ which isn’t loaded. If you can, load it with ‘/sbin/insmod agpgart’ or ‘/sbin/insmod agpgart agp_try_unsupported=1′. If this doesn’t work you need to make your driver again. Erase all AGP stuff out of your /src/include/linux/autoconf.h’, clean your make directory for the driver and ‘make’ again. This time the driver should load, but it won’t have AGP GART support and will therefore perform worse. - You get the error message ‘unresolved symbol tqueue_lock’
The driver has been compiled as SMP-driver, but your system is not a multi-processor system. Change autoconf.h as described above, clean the make directory and make the driver once more. It should load this time.You could see above that many AGP-chipsets need the setting ‘agp_try_unsupported=1’ for the ‘agpgart.o’. This driver is officially only supporting Intel’s 440BX, 440GX, i810, i810e, VIA Apollo Pro and AMD Irongate chipsets. If you’ve got a different chipset you will be pleased to hear that the setting ‘agp_try_unsupported=1’ works in very many cases. I’ve successfully tried Intel’s i815 and i820 chipset, as well as VIA’s Apollo Pro133A, Apollo KX133 and Apollo KT133. To make sure that this setting will always be applied when the driver needs to load, you want to modify ‘/etc/modules.conf’. It should contain the line ‘alias char-major-10-175 agpgart’. Include the line ‘options agpgart agp_try_unsupported=1’ underneath and your AGP driver will load without problems if you’ve got one of the above-mentioned ‘unsupported’ chipsets.
There are two options for NVIDIA’s driver that you might want to include in ‘modules.conf’ as well. I found that the i815 chipset requires the setting ‘NVreg_UseKernelAGP=1’ if you want AGP to be enabled properly. Owners of motherboards with VIA’s Apollo Pro133A chipset might want to try ‘NVreg_EnableVia4x=1’ to enable AGP4x mode. To enable those features permanently find the line ‘alias char-major-195 NVdriver’ and put the line ‘options NVdriver NVreg_UseKernelAGP=1 NVreg_EnableVia4x’. There’s additionally the two options ‘NVreg_ReqAGPSBA=0/1’ (default 1) to toggle AGP side band addressing and ‘NVreg_ReqAGPFW=0/1’ to toggle Fast Writes. So far so good.
Step Three — Install The XFree/glx Driver
Download either the correct RPM for your system or the source code file. In case of XFree 4.0.1 you will require the source code file by all means, since NVIDIA doesn’t supply a RPM for the XFree 4.0.1 driver. The procedure is super easy with the source code file, so there’s no reason not to use it. After the download unpack the file in a directory of your choice.
Before you ‘make’ the driver you need to check a few things. You need to remove or rename several of the possibly installed Mesa files that interfere with NVIDIA’s OpenGL driver:
- /usr/X11R6/lib/modules/extensions/libGLcore.a
- /usr/X11R6/lib/modules/extensions/libglx.a
- /usr/lib/libGL.so
- /usr/X11R6/lib/libGL.so.*
- /usr/X11R6/lib/libGLcore.so.*
After you’ve done that type ‘make’ and almost all things should be taken care of. In my case there was one problem with the file ‘/usr/lib/libGL.so.1’, being a symbolic link to a Mesa file, although I had renamed it earlier. Best you change the symbolic link to the newly installed NVIDIA OpenGL driver file ‘/usr/lib/libGL.so.1.0.4’ and you should be set.
If you can find any ‘libMesaGL.so.*’ or ‘libMesa.so.*’ files in ‘usr/lib’ or ‘usr/X11R6/lib’ make symbolic links out of them, pointing to the NVIDIA OpenGL driver file ‘/usr/lib/libGL.so.1.0.4’.
Finally, you want to modify ‘/etc/X11/XF86Config‘. Replace the line ‘Driver «nv»‘ in the ‘Section «Device»‘ to ‘Driver «nvidia»‘. If it’s not already in there, please add ‘Load «glx»‘ in the ‘Section «Module»‘, to enable 3D!
Now start Xserver (type ‘startx’) and you should happily have your desktop back. If you’ve got ‘ssystem’, the Star System Simulator installed, open a console and type ‘ssystem -bench’. Ssystem should load and you should see a high frame rate. A GeForce2 GTS on an Athlon/Tbird 1000 system scores about 380 fps. If you only see 5-10 fps you have probably forgotten to remove or rename one of the Mesa files or you forgot to make the symbolic links from the Mesa files. Check it again, particularly the symbolic links.
Testing
This is my first major Linux testing, so I hope I got it right for the Linux community out there. I decided to run all the different NVIDIA cards in my lab on one platform and all platforms in my lab with one 3D card. It turned out to be convenient to use my good old and rarely used i820 motherboard, the Asus P3C-L as basic platform for all the cards. I chose the GeForce2 GTS card for the platform tests.
As benchmarks I used the Linux version of Quake 3 Arena, running good old demo001. Then I installed the brand new SPECviewperf 6.1.2 and ran that too. Additionally I did the tiny little Ssystem benchmark too.
For comparison I ran Quake3 and SPECviewperf 6.1.2 under Windows98 on all the cards too. You know that the scores under Windows2000 aren’t any better, rather worse.
Problems
Yes, I encountered a couple of problems too.
- Problem No.1 was the fact that my GeForce MX card didn’t want to work under Xserver. As soon as Xserver started the screen went black and the system froze completely. I am already working with NVIDIA to find the cause of this failure.
- The second problem was completely crazy. On my VIA Apollo Pro133A platform, the Asus P3V4X, SPECviewperf would simply stop in the middle of an animation and only get back to work as soon as I moved the mouse a bit. So far nobody could explain that to me, but it kept me from generating any SPECviewperf scores with the P3V4X.
- The third and last problem was with my Intel OR840 motherboard, which is based on the i840 chipset. Linux preferred to give me a consistent kernel panic at boot up with several different kernels, so I didn’t test this platform.
NVIDIA as well as Asus are aware of the problems and I am working with them to find an urgent fix.
Test Setup
| Platform Information | |
| CPU for i820, 440BX, VIA Apollo Pro133A Platforms | Intel Pentium III 1000/133 MHz, Slot1 |
| CPU for i815 Platform | Intel Pentium 933, FC-PGA, overclocked to 1000/133 MHz |
| CPU for VIA Apollo KX133 Platform | AMD Athlon 1000 MHz, SlotA |
| CPU for VIA Apollo KT133 Platform | AMD Athlon/Thunderbird 1000 MHz, SocketA |
| VIA Apollo Pro 133A Chipset | |
| Motherboard | Asus P3V4X, ACPI BIOS 1006 beta 01, August 2000 |
| Memory | 128 MB, Micron PC133 SDRAM CAS2 |
| Network | 3Com 3C905B-TX |
| Intel 440 BX Chipset | |
| Motherboard | Asus P3B-F, ACPI BIOS July 2000 |
| Memory | 128 MB, Micron PC133 SDRAM CAS2 |
| Network | 3Com 3C905B-TX |
| Intel i815 Chipset | |
| Motherboard | Asus CUSL2, ACPI BIOS July 2000 |
| Memory | 128 MB, Micron PC133 SDRAM CAS2 |
| Network | 3Com 3C905B-TX |
| Intel 820 Chipset | |
| Motherboard | Asus P3C-L, ACPI BIOS August 2000 |
| Memory | 128 MB, Samsung PC800 RDRAM, RDRAM clock adjusted in BIOS |
| Network | Onboard i82559 |
| VIA Apollo KX133 Chipset | |
| Motherboard | Asus K7V, ACPI BIOS July 2000 |
| Memory | 128 MB, Micron PC133 SDRAM CAS2 |
| Network | 3Com 3C905B-TX |
| VIA Apollo KT133 Chipset | |
| Motherboard | Asus A7V, ACPI BIOS July 2000 |
| Memory | 128 MB, Micron PC133 SDRAM CAS2 |
| Network | 3Com 3C905B-TX |
| Graphics Cards | |
| NVIDIA RIVA TNT2 Ultra | Diamond Viper V770, 32 MB, Core 150 MHz, Memory 183 MHz |
| NVIDIA GeForce256 DDR | Reference Board, 32 MB, Core 120 MHz, Memory 300 MHz |
| NVIDIA Quadro | Reference Board, 64 MB, Core 135 MHz, Memory 333 MHz |
| NVIDIA GeForce2 GTS | Reference Board, 32 MB, Core 200 MHz, Memory 333 MHz |
| NVIDIA Quadro 2 | Reference Board, 64 MB, Core 230 MHz, Memory 400 MHz |
| Environment Settings | |
| OS Versions | SuSE Linux 6.4, Kernel 2.2.14, XFree 4.0.1, gcc 2.95 Refresh Rate 85 Hz for all Quake 3 Resolutions Screen Resolution 1280x1024x24x85 for SPECviewperf Windows 98 SE 4.10.2222 A |
| NVIDIA Driver for Linux | Rev. 0.94 |
| NVIDIA Driver for Win98 | Rev. 5.33 |
| Quake 3 Arena | Retail Version command line = +set cd_nocd 1 +set s_initsound 0 Graphics detail set to ‘Normal’, 640x480x16 Benchmark using ‘Q3DEMO1’ |
| SPECviewperf | Rev. 6.1.2 |
Unix Solar System Simulation Benchmark
Let’s start with the program ‘ssystem’, which is a sweet simulation of our solar system, including all planets and many of the larger moons. It has a little benchmark built in that can be started with ‘ssystem -bench’.

As you see the cards are almost performing identically, which suggests a clear CPU dependency of this benchmark. Only the good old TNT2 Ultra scores significantly less.

Looking across platforms shows that AMD’s Athlon and especially the new Thunderbird-Athlon for SocketA perform particularly well in this benchmark.
Quake 3 Arena Benchmark 640×480 Normal
Quake 3 Arena is also available as a Linux version, which makes it a perfect cross-OS benchmark, besides the fact that it’s a very successful game, which can be fully enjoyed by Linux users as well.

At the low 640×480 resolution the fast cards perform close to identical. The current handicap of NVIDIA’s latest Linux drivers, is the fact that they don’t do page flipping, but ‘Blt’ting. Page flipping is a lot faster at high resolutions, but at lower resolutions the ‘blt’ting has hardly got any impact.

If you look across the different chipsets and CPUs you can see the old story, which of course is just as valid for Linux as well as for Windows. Good old BX133 is faster than the rest, Thunderbird can score almost as well as Coppermine. Only the Apollo Pro133A seems to have a problem that merely appears under Linux.
Quake 3 Arena Benchmark 1024×768 Normal

As the resolution goes up to 1024x768x16 the cards show their performance limitations and NVIDIA’s page flipping Win98 driver can leave NVIDIA’s Linux driver behind. Still the frame rates under Linux are far from shabby though!

As the 3D cards become the bottleneck the different platforms score almost the same results.
Quake 3 Arena Benchmark 1600×1200 High Quality

The tough resolution of 1600x1200x32 stresses the 3D cards really hard. Good old TNT2 Ultra can’t produce any even slightly playable frame rates anymore. The super expensive Quadro2 is the only card that can supply reasonable frame rates at that high resolution and color depth. The page flipping vs. bit bltting handicap of the Linux drivers has quite a hefty impact here and will certainly keep Linux users from playing at this screen setting.

It’s no surprise that all platforms perform the same. The 3D card and its driver are the bottlenecks here.
SPECviewperf 6.1.2 — Awadvs-04
The brand new SPECviewperf 6.1.2 is a perfect benchmark to stress a system really hard. Especially the memory, AGP and of course the 3D accelerator are under heavy load.

AWadvs doesn’t really make much of a difference between Windows98 and Linux. The btl’ting issue easily explains the slightly lower frame rates under Linux, since this benchmark runs at very high resolution and true color as well.

Athlon can show its muscles here. It may not be a lot faster than Coppermine, but there is certainly a noticeable difference. The scores of the VIA Apollo Pro133A platform are missing due to this mysterious ‘stop until mouse gets moved’ issue. IT seems as if this platform is not exactly a great choice for the 3D savvy Linux user.
SPECviewperf 6.1.2 — DRV-07

In DRV the Windows platform scores quite a bit better than Linux. I guess it has to be explained by the blt-issue once more. Let’s hope that NVIDIA will soon include page flipping into its Linux drivers as well.

Again Athlon is a bit ahead of Coppermine, which scores best on BX133.
SPECviewperf 6.1.2 — DX-06

DX is running at rather similar speeds under Linux as well as Windows. The Microsoft OS has a slight edge, but that will most likely be explainable with NVIDIA’s young Linux driver.

AMD’s Thunderbird is once more leading the pack.
SPECviewperf 6.1.2 — Light-04

Linux lags behind Windows 98 in Lightscape. Let’s wait for NVIDIA’s next Linux driver.

Thunderbird scores best once more. Nothing more to say.
SPECviewperf 6.1.2 — MedMCAD-01

The new included CAD benchmark MedMCAD is the only exception where Linux is scoring better than Windows98. Don’t ask me why. It only shows that Linux is certainly not the slower OS.

Thunderbird best, Coppermine on i820 worst … any more questions?
SPECviewperf 6.1.2 — ProCDRS-03

Finally there is ProEngineer’s CDRS. Again Linux looks rather outperformed by Windows 98. Still the Lnux scores are rather respectable too.

Thunderbird seems to really like ProCDRS. It shows a respectable lead.
Conclusion
Well, this is the first review that I ever dedicated to Linux. I guess that there’s hardly any excuse why I neglected this OS in the 4.5 years of Tom’s Hardware’s existence. Still I hope that the Linux community could get something out of this article. All the ones of you who don’t really know Linux yet and who thought it’s only for crazy cracks might want to reconsider. I do admit that Linux is not by far as comfortable as Windows yet, but it is much more flexible, it is reliable, it’s fast, it’s safe and it certainly can easily force you into a ‘closer relationship’ with you computer.
One thing is a fact, NVIDIA’s new Linux driver philosophy has finally opened up Linux as an operating system for serious 3D-gamers as well. It is certainly true that Linux doesn’t support DirectX games, but there are quite a few Linux ports of OpenGL-based 3D-games available. Those OpenGL 3D games happen to be amongst the most popular 3D action games around. With a GeForce 256 and up you can most certainly play any of those games at high resolutions and high frame rates under Linux as well. The unified driver architecture of NVIDIA’s Linux drivers makes it rather easy to get the right driver for your card and it was surprising enough that one installation ran on almost each platform I tested.
However, there are a quite few hurdles as well. Installing the drivers is far from simple and NVIDIA as well as the Linux developers will have to work on that, unless they want to scare the less technical people off this OS. The same is valid for XFree86. Fighting with ‘modelines’ for you monitor and fiddling around with your mouse installation should be a thing of the past by now. The tools supplied by the Linux distributions, as e.g. SuSE’s new SAX2 left a rather immature impression with me. It also doesn’t help if there is a wonderful new Linux installation tool, which shows you a scrambled screen if you’ve got a new graphics card. It’s e.g. impossible to install SuSE 6.4 with the comfortable YAST2 if you’ve got a GeForce2 card in your system. Not everyone is able to grab an older GeForce256 card and start all over again. Forcing people into installing Linux the ‘traditionally’ hard way will not exactly make it more popular.
I like Linux, but despite my degree as a medical doctor I have a long software developer background. That’s why I don’t only have no problems with Linux, but why I like it so much. The chance to look into the source code of the software you are using is very appealing. I hope that the big bucks that are rolling all around Linux lately won’t destroy Linus Torvalds very idea behind this OS. It’s open source, it’s free and everybody can participate in its development. This stands in direct opposition to Microsoft’s offerings.
This was my first Linux hardware review and it will certainly not be my last. The first time is always supposed to be the hardest, but the most rewarding as well. Please let me know how I performed here. Was I babbling too much about Linux? Weren’t there enough facts in the review? Don’t you care about 3D stuff in your Linux-box? Please give me feed back under tomslinux@tomshardware.com. I will try to live up to the expectations of the Linux community, but first I need to know what they are.