Linux Video Card Comparison - October 2000by Jeff Brubaker on October 9, 2000 12:10 AM EST
- Posted in
DRI refers to the technologies surrounding OpenGL acceleration under Linux. It is X-Windows specific and thus requires an X server even for full screen games. Typically, drivers consist of a kernel module that provides protected access to the hardware as well as an XFree86 driver module. One nice thing about XFree86 drivers is that they are operating system agnostic. However, they are still architecture specific. The driver loader was donated by Metrolink during the development of XFree86 4.0. Being operating system-independent, they can work on FreeBSD, Solaris or any other operating system running XFree86. This does not mean that 3D acceleration will be supported, as the previously mentioned kernel module is typically required.
Another interesting technology behind our newfound 3D acceleration is that we also got SGI's GLX module, which allows for remote display of OpenGL applications, transparently, like any other X application. While remote display with hardware acceleration is not currently supported by DRI, it is on the list of future features to be added. NVIDIA's drivers (which do not use DRI, but a similar model) are said to already support it, though we did not test this ourselves.
Also, note that both XFree86 and DRI provide CVS access to development code that is often faster or more feature-rich than released drivers (currently in XFree86 4.0.1). For example, 32bpp rendering is now supported by the Matrox driver in DRI's CVS tree (though it is not supported by any of the three released drivers on Matrox's web page).
All tests were conducted in 16bpp for the simple reason that neither the Matrox released subdrivers (the Matrox drivers in DRI's CVS contains drivers that contain support) nor the Intel 815 drivers support 32bpp 3D acceleration at this time. According to DRI's web page, the 815 will never support 32bpp rendering due to hardware limitation.
Note that it is possible to get hardware accelerated OpenGL with XFree86 3.3.x, the previous major version via Utah-GLX. Utah-GLX is not as clean of a solution as DRI for the simple reason that without kernel modules, one must run as root to get hardware acceleration. Still, it is very fast and supports the ATI Rage Pro cards, which are not supported by XFree86. It also supports the G200/G400 cards and is somewhat faster than XFree86/DRI at this time due to the current lack of multi-texturing support in the DRI driver. NVIDIA cards are supported as well, but without hardware specs, it is impossible to support DMA or AGP transfers, thus greatly limiting their speed. Finally, the Intel 810 is supported as well.