Original Link: http://www.anandtech.com/show/1570
Revisiting Linux GPUs: Playing the Driver Gameby Kristopher Kubicki on December 17, 2004 12:49 AM EST
- Posted in
IntroductionMost Windows gamers felt the height of the driver wars between NVIDIA and ATI about 18 months ago - driver "optimizations", rushed releases and performance fluctuation. Linux remained relatively untouched during this process, getting an update once every 4 or 5 months with only the minimum enhancements. It looks, however, that things are about to change - and very soon. When NVIDIA and ATI both released their newest Linux drivers within a couple of days of each other, we started to get the feeling that there was some healthy competition brewing. However, memories of rushed-to-release drivers haunt us - and we hope that trend hasn't spilled over into Linux.
NVIDIA still reigns as the undisputed Linux champ right now. Most of the reports across the web have dubbed this a phenomenal NVIDIA driver release - which would only stake their claim stronger. In almost every instance of our previous GPU roundup, the meager GeForceFX 5700 Ultra had no problems stomping all over the ATI's Radeon X800 Pro. The lack of ATI's commitment to high performance Linux drivers has cost them dearly in the Linux segment and it is no surprise that the Linux crowd tends to brew an "NVIDIA only" mentality. However, ATI's newest drivers seem to pack quite a bit of punch in our preliminary testing, and we will finally have the opportunity to provide some ATI benchmarks on Doom3 as id reports the newest drivers work correctly.
The scope of today's analysis is to run the older driver sets and compare them to the newer ones released last month. While we don't expect miraculous gains in performance, we would like to see if some of the deficiencies that we have noted in past reviews are being corrected. We also will take a slightly revisited look at some 64-bit benchmark numbers from Unreal Tournament. Obviously, NVIDIA's newest driver release doesn't mean much if it only offers improvements on the 32-bit kernel.
Unfortunately today, we are not testing OSS drivers for these graphics cards. The OSS driver development is an excellent project, but the performance of these drivers in gaming situations is so poor - we even had difficulty getting Wolfenstein: Enemy Territory to run.
The TestWe will run a few different configurations of GPUs and operating systems just to give everyone a point of reference. The graphics cards that we have selected today should strongly correlate the same market segments - the Radeon X800 Pro and the GeForce 6800 generally both run at or over $300. Unfortunately, there are very few cards still available today that compete on the 9800 Pro level, so we were limited to including a GeForce 5700 Ultra for comparison (both cards run around $200.
|Performance Test Configuration|
|Processor(s):||AMD Athlon 64 3800+ (130nm, 2.4GHz, 512KB L2 Cache)|
|RAM:||2 x 512MB Mushkin PC-3200 CL2 (400MHz)|
|Motherboard(s):||MSI K8T Neo2 (Socket 939)|
|Video Card(s):||GeForce 6800 128MB
GeForceFX 5700 Ultra 128MB
Radeon X800 Pro 256MB
Radeon 9800 Pro 128MB
|Operating System(s):||SUSE 9.1 Professional kernel 2.6.8-14-default x86
SUSE 9.1 Professional kernel 2.6.8-14-default x86_64
We will try to demonstrate the performance between the 64-bit and 32-bit kernel on Linux with the two driver sets. The NVIDIA driver that we are looking at today is already a month old - but most Linux users take a very conservative approach to inserting binary code into their kernels and we wouldn't be surprised if a strong majority of users have not updated to this release yet. ATI's 3.14.6 driver is also about a month old, which gave us some lead time to test the newest build of Doom3 with the newest drivers.
You will notice the test configuration that we are running looks a little old - SUSE 9.2 has been available for a few weeks now. However, since we had some of these benchmarks completed in October on the SUSE 9.1 platform, we opted to continue this analysis with the same platform to illustrate the differences on a stable platform. Feel free to check out the previous analysis test page here. The kernel used in this benchmark is still fairly current, but the userland is older.
Our test methodology is very straight forward, since we will only be benchmarking three games for this analysis. For Enemy Territory, Unreal Tournament and Doom3, we will run a basic set of timedemos along with two dimensional data from the AnandTech FrameGetter utility that we unveiled several weeks ago. We will be watching for specific fluctuations between the two driver sets on each video card. Furthermore, we will use Unreal Tournament 2004 in 64-bit and 32-bit mode to compare performance between the two sets of drivers in 64-bit mode. Unfortunately, there are still no 64-bit ATI binaries, so those tests are limited to NVIDIA only.
Wolfenstein: Enemy TerritoryWolfenstein: Enemy Territory, based on the original Quake3 engine, has served as our core benchmark for OpenGL games on Linux. The last time that we revisited this benchmark, we saw some very extreme scaling scenarios with regard to the ATI versus NVIDIA benchmarks. If price alone should dictate how video cards scale alone, then we would expect the Radeon 9800 Pro to retail for considerably less than the GeForceFX 5700 Ultra.
Even though ATI was able to pull off some single digit FPS gains, NVIDIA's lead is already so far ahead that NVIDIA's single-digit FPS gains put ATI just about back where they started. We were particularly lucky with Wolfenstein because there has been no version change since the last GPU benchmark. Below, you can see the first graph from two months ago that demonstrated NVIDIA versus ATI performance in the radar timedemo. Once again, feel free to download the CSV file here.
The next graph is the same timedemo using the 1.0-6629 NVIDIA drivers and the 3.14.6 ATI drivers.
Although most of the changes are minute, there are definite performance increases across the board for both cards. Near second 43, the "fire scene" that hurt performance so badly in the first GPU roundup seems less prevalent this time around. Overlays of screen captures from today's benchmark runs revealed no differences in anti-aliasing or anisotropic filtering. It would appear as though the performance gains that we noticed today are not coming from optimizations - both screenshots are identical down to the individual pixel.
|NVIDIA GeForceFX 5700 Ultra 43rd Second|
1.0-6111 (Click to Enlarge)
>Unreal Tournament 2004 32-bit LinuxUnreal Tournament has the unique advantage of being a 64-bit and a 32-bit benchmark. We will use the 3334 demo binaries here - the 3339 demo was installed, but provided no performance benefits. We stayed with the 3334 binaries so that the previous analysis benchmarks were still relevant. Don't forget to check out our previous analysis here.
Things pretty much replicate what we saw in the Wolfenstein benchmark - small to moderate performance gains by both cards with ATI looking at a lot of ground to catch up on. Below, you can see a portion of the Unreal Tournament 2004 "assault" benchmark.
Also, you can see what affect the new driver set had on this same timeframe (the CSV file is available for download here.
Pay very close attention to the local maxima and minima. Comparing the second graph with the first, and not just the two cards against each other, reveals that both cards received some serious gains in performance without losing a step. NVIDIA's performance is very rapidly approaching the Windows performance, and we wouldn't be surprised if NVIDIA could actually pull off symmetric performance on its Linux and Windows platforms should the next few driver updates provide this sort of a performance gain.
Unreal Tournament 2004 64-bit LinuxAs we mentioned before, we are limited to NVIDIA graphics cards for this portion of the test - there are no 64-bit ATI drivers yet. Here is a quick and dirty comparison of the two driver sets on the video cards that we selected for this analysis. The first graph shows the 32-binaries running on the 64-bit kernel. The second graph shows the 64-bit binaries running on the 64-bit kernel.
As expected, we noticed virtually no difference between the 32-bit binaries on the 32-bit kernel or 64-bit kernel. We see an occasional single FPS bump on the higher end cards, but there really isn't much advantage to running the 32-bit binaries on the 64-bit world. The 64-bit binaries yield better results, although there is nothing really outstanding about the performance gains going from the 32-bit binaries to the 64 ones, or going from the August driver set to the November one.
Doom3We are using a slightly newer build of Doom3, since the last time that we ran this benchmark - these benchmarks are based on the 1.1.1286 binaries. You can still view the original benchmarks that we published when Doom3 came out for Linux. However, since these are older binaries, we had to completely redo benchmarks.
You may recall that we had some difficulties during the Doom3 Linux launch to get ATI video cards working correctly. Apparently, these driver issues have been addressed in the 3.14.6 drivers, but unfortunately, we have no old data to compare the new performance.
The jump in performance on the NVIDIA cards is quite awesome. While most of these gains are still in the single digits, Doom3 taxes our machine enough that these gains represent 10% to 20% performance increases.
On 1280x1024, we see even larger percentage gains! The Radeon cards make a stronger stand here than they did in previous games, but the 6629 drivers put NVIDIA so far over the bar that it would be still too difficult to imagine purchasing an Radeon X800 Pro over a vanilla GeForce 6800 on Linux.
Final ThoughtsBoth next generation driver sets add significant performance increases to the ATI and NVIDIA video card lineup on Linux. Unfortunately, just looking at the list of known issues in both readme files tends to give the feeling that there is still a long way to go. NVIDIA's to-do list seems fairly mundane; most issues exist with multi-display desktops. ATI's list, while shorter, looks more menacing - "fix screen corruption problems and crashes". Granted, we did not have any errors with screen corruption or crashes on ATI drivers this time around, but we have experienced some screen corruption issues in the past. Perhaps an even greater accomplishment for both vendors today were that the performance increases in today's analysis came without any crashing or unanticipated rendering behavior.
Still missing from ATI's official to-do list is 64-bit support. Not having a 64-bit driver is cutting into an ever growing portion of the Linux market share. Considering that virtually every main Linux distribution has a 64-bit branch and a 32-bit branch these days, ATI has some ground to catch up on. Virtually every new system that we recommend (and particularly on Linux) revolves around the Athlon 64 bit core. While performance gains between 32-bit and 64-bit distributions on Unreal Tournament 2004 were meager, the code base for most Linux applications has increased to the point where you won't feel any performance decreases going from 32-bit to 64-bit anymore (but that's another article for another day).
As far as measured performance goes, NVIDIA did a lot to increase their lead today. While ATI's drivers (at least in the 32-bit realm) are shaping up to make their hardware much more viable, the newest 1.0-6629 set gave us astonishing performance gains. As we saw (again) in almost every benchmark, NVIDIA continued to build their case as the vastly stronger brand on Linux hardware.