Let's Talk about Drivers

Installing a dozen video cards with various sets of drivers was the largest annoyance for us during the testing of this review. Obviously, due to license restrictions, NVIDIA and ATI drivers must be installed after the initial OS installation, and cannot be packaged with the kernel. For Windows users not familiar with the process, the kernel module or driver wrapper must be completely recompiled for closed source drivers to work.

NVIDIA's drivers are not only supported via SuSE's YOU (the YAST Online Updater), but the drivers easily plug into SuSE without any trouble. We just installed our kernel source, hit init 3, ran the 1.0-6111 binary install, and then followed the instructions on the screen. NVIDIA's drivers provide DRI-like support via SaX2 (the SuSE X configuration tool) as well. Typical video cards us the Direct Rendering Infrastructure (DRI) for 3D accelerated graphics. The DRI acts as somewhat of an abstraction layer between X Windows and OpenGL. NVIDIA actually uses their own DRI-like module outside of the standard DRI module. Without DRI or NVIDIA's modules, we are only running software acceleration.

ATI's drivers came out of the box with several problems. We made the initial mistake of installing and testing the entire suite of video cards with the NVIDIA cards/drivers first. We are not entirely sure why, but even after completely removing the NVIDIA kernel module via NVIDIA's uninstall scripts, we still had persistent errors installing the ATI drivers correctly.

Our first test bed was an nForce3 MSI Socket 939 board. We isolated some of our problems to the agpgart module - for older ATI drivers, we need to load a separate specific AGP module on SuSE 9.1 for DRI to load correctly. On our MSI nForce3 board, this should have been the nvidia_agp module. However, try as we could, we could not get nvidia_agp and fglrx to play well with each other. Some of the issues stem from SuSE 9.1 not recognizing the nForce3 chipset correctly, but some issues may stem from ATI drivers just not recognizing everything correctly. After switching to a Socket 939 VIA motherboard, our problems suddenly disappeared. Of course, we had to re-test our entire NVIDIA suite on the new motherboard (we saved it for last the second time around).

Even by switching to a different motherboard, we were not entirely blessed. Using ATI's driver set from their website yielded some results, but first, we made the mistake of using the fglrx package from ATI's website. ATI's implementation of the X Windows configuration completely upsets SaX2, and X will simply ignore the DRI module when we try to load it. Somewhere between playing with various kernel builds, driver builds and hardware configurations, we finally got it right. Our best success with newest SuSE 9.2-RC3 kernel[1] came from using the RPMs and instructions on the supplement FTP site. The 2.6.8 kernel blew away our boot configuration a few times; for whatever reason, VIA SATA controllers are now recognized as SCSI controllers to the new Linux kernel. Without getting too much into detail, we needed to re-edit our mtab, fstab and grub configuration to a different device; the serial ATA drives suddenly became SCSI drives. We finally no longer had errors on the agpgart driver:

linux:~ # dmesg | grep agpgart
Linux agpgart interface v0.100 (c) Dave Jones
agpgart: Detected AGP bridge 0
agpgart: Maximum main memory to use for agp memory: 941M
agpgart: AGP aperture is 128M @ 0xf0000000
linux:~ #

Footnote
[1] 2.6.8-14-default, you can download it from the SuSE FTP site in the update directory.

Our New Benchmark: FrameGetter More Configuration
POST A COMMENT

30 Comments

View All Comments

  • - Saturday, October 24, 2009 - link

    http://www.goph3r.com/mh">http://www.goph3r.com/mh
    (air jordan, air max, shox tn, rift, puma, dunk sb, adidas) nike jordan shoes 1-24 $32
    lv, coach, chane bag $35
    COOGI(jeans, tshirts, hoody, jacket) $30
    christian audigier(jeans, tshirts, hoody) $13
    edhardy(shoes, tshirts, jeans, caps, watche, handbag) $25
    Armani(jeans, tshirts,) $24
    AF(jeans, coat, hoody, sweater, tshirts)Abercrombie & Fitch $31
    http://www.goph3r.com/mh">http://www.goph3r.com/mh
    Reply
  • TheWounded - Monday, November 01, 2004 - link

    Its a nice test but i would have loved to see how the XGI volari cards would have done.
    I'm interested if the volari's could be a good choice for linux gamers. But unfortunatly there are no linux benchmarks involving the volaris.
    Reply
  • henca - Thursday, October 07, 2004 - link

    This was a very nice comparision of mid- and high-end cards. It would be interesting to also see a comparision with low-end cards like Matrox G550, Intel Extreme graphics and the Radeon 9200 family.

    The good news about these cards is that they are all supported by the opensource DRI drivers. An up-to-date Linux distribution should support them out of the box without having to download and install any binary drivers.
    Reply
  • MNKyDeth - Tuesday, October 05, 2004 - link

    I am a Linux gamer only so a benchmark comparison like this is great. I really enjoyed reading it. But, imo, there was a lack of games included in the benchmark roundup. I would like to see Savage, NWN, and either quake3 or Heretic 2 shown aswell.

    I also do not like the showing of wineX (Cedega) benchmarks as it defeats the purpose the gaming on linux. The only way I could recomend anyone to use wineX (Cedega) is if they don't own a copy of windows. If you do own a copy of windows do not use wineX for pete's sake, just dual boot, it is the better emulator after all.
    Reply
  • jerrysiebe - Tuesday, October 05, 2004 - link

    For anisotropic filtering, I did a strings search in libGL and came up with something.

    >strings /usr/lib/libGL.so | grep ANISO
    __GL_LOG_MAX_ANISO

    Setting that, I can see a visible difference and get a FPS hit, so I believe it works. On my GF4 4200, I can set __GL_LOG_MAX_ANISO to 1, 2, and 4 and see the difference. Set to anything else I get no anisotropic filtering.
    Reply
  • Thetargos - Monday, October 04, 2004 - link

    Excellent article, just a comment on the NVIDIA uninstaller... it plainly doesn't work as it should. The prlblem is that it substitutes (like the ATi driver) some libraries in the system, but unlike ATi's driver, NVIDIA's driver also makes a change in one library used for the Direct Redering Infrastructure, libdri.a specifically. So uninstalling the drivers with NVIDIA's uninstaller this won't be reverted (re-install of the XFree86 package or Xorg package is required, note only the core package is need).
    In favor of ATi's driver, the uninstallation is much easier and the system is restored to its previous stage, restoring the backup copy of libGL.so.1.2 that is the only system library it overwrites.
    Reply
  • plamalice - Monday, October 04, 2004 - link

    The Nvidia AGPgart driver is causing problems with ATI cards (perhaps other non-nVidia card as well) on both Win and Linux when used on an nForce based mobo (of course). Nforce3 (150, pro150) have both caused me problems when using an ATI card until the gart driver was uninstalled.

    A poor attempt by nVidia to make ATI card appear unstable ? :P

    Anyways, if you have an nForce-based motherboard and an ATI gfx card, do not use nvidia's gart driver.
    Reply
  • KristopherKubicki - Monday, October 04, 2004 - link

    directedition: i just symlink /mnt/cdrom to /media/dvdrecorder

    Kristopher
    Reply
  • mczak - Monday, October 04, 2004 - link

    "Keep in mind that we even run SuSE, a RPM derivative - not too different from Red Hat."
    That really doesn't make sense. RPM is just the package manager! If a dos version which uses rpm would exist, would you say that it is "not too different" too?

    "Below, you can see a screen grab from our ATI frame buffer playing Unreal Tournament at 800x600. The image should not be surrounded by a black border, but rather, stretched to the limits of the screen."
    This looks to me like you did not have configured 800x600 resolution in the Xfree config file (Sax2 will happily do that) - you cannot switch to fullscreen resolutions not configured usually with XFree/Xorg (though maybe the nvidia driver doesn't care).

    btw about aniso not working: I guess you could do that quite easily with framegetter? Just intercept the filter setting calls and replace them?
    Reply
  • mczak - Monday, October 04, 2004 - link

    "On our MSI nForce3 board, this should have been the nvidia_agp module. However, try as we could, we could not get nvidia_agp and fglrx to play well with each other."
    This is a mistake, you do not need (and it will not work) the nvidia-agp module. For all A64 based boards, no matter if the chipset is from sis, via, nvidia or someone else, you need the amd64-agp module instead. It might have just worked with that - suse 9.1 loads it automatically for K8T800 chipset, but I think for some reason it doesn't get automatically loaded for nforce3 chipsets. It might have just worked loading it manually, saving you some time :-).

    "We are not entirely sure why, but even after completely removing the NVIDIA kernel module, we still had persistent errors installing the ATI drivers correctly."
    Removing the kernel module will do nothing. Nvidia drivers replace some of XFree/Xorg libraries, which are incompatible (I think libglx.a is affected by that, but there might be more), and ATI does not have its own version of these files. Uninstalling the nvidia driver with its own installer (which has an uninstall option) should get the original version back in place afaik.
    Reply

Log in

Don't have an account? Sign up now