AGP Performance: Installation and Issues

We chose to use the NVIDIA GeForce2 GTS for testing AGP performance in this article. This decision is almost entirely based on the results of our last Linux article, the Linux Video Card Comparison, in which the NVIDIA cards dominated largely due to their well optimized drivers. We believe that their drivers better utilize the AGP bus for both 3D and 2D, in which the standard XFree86 drivers do not currently support AGP acceleration.

The biggest issue getting the GeForce2 GTS working was the kernel version issue. NVIDIA's drivers are only supported on specific kernels, of which the 2.4.0-testXX kernels are not included. However, we wanted the newer agpgart kernel support, the ATA/100 support and the more advanced memory management of the 2.4.0-testXX kernels for testing. Fortunately, we were able to find patches to get the drivers working with our kernel on IRC (#nvidia on irc.openprojects.net). With this patch, the module compiled properly and installed without a hitch.

Note that the newer kernels are required to get off-board video working on the Intel 815 chipset. Previously, the kernel module (agpgart) would only identify the on-board video. We are not aware of when this changed, but we were unable to get it working with 2.2.16 in our last comparison, but off-board agp support worked fine with 2.4.0-test11 in this comparison.

The second issue was that the VIA Apollo Pro 133A board would hang whenever starting X. NVIDIA's README file mentions that most of the time that X locks on startup, it's due to an AGP problem. After a bit of testing and re-testing, we were able to get the card working by disabling AGP 4X mode in the BIOS. That should be considered when examining the following benchmarks because the Intel 815 chipset is the only board with AGP 4X support. The other two boards were tested at AGP 2X (or less -- see below). Further, this suggests either incomplete support for the chipset in the kernel or perhaps an AGP bug that has yet to be addressed. This issue has plagued owners of VIA chipsets under other operating systems as well.

Finally, the BX chipset has been around for quite some time and was not originally intended to be used in conjunction with a 133MHz front side bus. As a result, there is no 1/2 multiplier for the AGP bus (although there is a magical 1/4 multiplier for the PCI bus). As a result, the BX benchmarks listed in the forthcoming pages are somewhat misleading because the AGP bus is actually running at 89MHz while the other two boards are running at 66MHz. The 89MHz bus translates to 712MB/s of bandwidth, a 34% increase over the 533MB/s of "standard" AGP 2X. Note that AGP 4X yields a peak transfer rate of 1.06GB/s. For further discussion on AGP standards and performance considerations, see our article on BX chipsets at 133MHz FSB speeds. We don't consider this to be a major problem, however, as this is still a common setup for gamers wishing to stick with their current BX boards, enjoy the extra performance with minimal overclocking, or take advantage of the tried and true nature of the chipset. Further, most cards work fine at 89MHz. The only exception that comes to mind is Matrox's new G450.

In addition, it is not possible to actually see the active AGP transfer mode with the NVIDIA drivers. While the XFree86 drivers allow specifying the AGP transfer rate (1X, 2X, 4X), the NVIDIA drivers set the mode themselves. Even where the AGP support is coming from is a bit of a mystery. NVIDIA's drivers provide AGP support natively in the kernel module (NVdriver) for many chipsets, but fall back to the kernel's standard agpgart interface for others. There is even a rumor that they use the standard kernel module (agpgart) on newer kernels rather than provide the interfaces themselves regardless of chipset. One should not assume that the bus is running at full spec, but rather take the scores as an indication of what is possible currently with the Linux platform and existing drivers.

Again, the BX chipset is running with an 89MHz AGP 2X bus, the 815 is running with a 66MHz AGP 4X bus (which may or may not be fully taken advantage of), and the VIA Apollo Pro 133A is running with a 66MHz AGP 2X bus. Any of these chipsets may be running at either AGP 1X or 2X due to lack of support. Without the debugging information, it is very difficult to verify.

Index The Test

Log in

Don't have an account? Sign up now