Using Gallium3D On AMD FirePro Workstation GPUs
How well do AMD's FireGL/FirePro workstation graphics cards work with the open-source graphics drivers for Linux? It's something we never have really focused on up to this point, since after all, most workstation users are satisfied with using proprietary display drivers on Linux. It is the workstation market that drives the proprietary Linux driver development after all for AMD and NVIDIA, and that is really the focus of development, not Linux gamers or enthusiasts. But curiosity got the best of me, so here's what happens if you try to use an expensive FirePro graphics card with the open-source driver stack and the Mesa Gallium3D driver.
As most enthusiasts know, the AMD FirePro workstation graphics processors designed primarily for DCC and CAD customers are derived from AMD's consumer-grade Radeon graphics processors. The hardware is often very similar to their consumer equivalent, but with upping the video memory capacity. The proprietary driver for FirePro graphics cards is also derived from the same Catalyst/fglrx driver code-base as consumer graphics cards. The monthly Catalyst drivers for Linux/Windows even work just fine on FirePro graphics cards, but the quarterly "FirePro driver" updates are Catalyst drivers that have received additional quality assurance and verification testing. The driver support for these workstation graphics cards though is focused upon image quality and pixel precision rather than brute speed sought after by gamers. The situation is similar on NVIDIA's side with regard to their workstation Quadro GPUs versus the consumer GeForce GPUs and their drivers.
With the similarities between the FirePro and Radeon GPUs, the workstation graphics processors should work just fine with the open-source Linux drivers as long as their PCI IDs are present. However, it really does not make much sense to use open-source drivers on FirePro hardware. FirePro graphics cards easily sell for over $1,000 USD (such as the FirePro V8800) and even near $3000 USD for the AMD FirePro V9800. The performance of the open-source drivers is very limited, OpenGL support is incomplete and far behind the proprietary driver, there is no OpenCL support at this time, and the open-source code lacks support for many of the professional graphics features like 3D Stereoscopic output, Framelock/Genlock, and CrossFire.
Today's testing is just curiosity-driven to see how well FirePro GPUs actually work with the open-source driver relative to the proprietary driver. The open-source driver stack was built from Git on 2011-03-27 with the Mesa 7.11-devel master code using the R600 Gallium3D driver, xf86-video-ati 6.14.99, libdrm, and the Linux 2.6.38 kernel. This was on a 64-bit Ubuntu 10.10 installation with GNOME 2.32.0, X.Org Server 1.9.0, GCC 4.4.5, and an EXT4 file-system. When testing the proprietary driver, Catalyst 11.2 was used on the Linux 2.6.35 kernel.
The AMD workstation graphics cards tested include the AMD FirePro V3800, AMD FirePro V4800, and AMD FirePro V8700 to represent the low, medium, and high-end FirePro products. The AMD FirePro V3800 is derived from a Radeon HD 5000 series "Redwood Pro" GPU, the FirePro V4800 comes from the "Redwood XT" core, and the FirePro V8700 is from the Radeon HD 4800 "RV770XT" core. Thus for this testing a consumer Radeon HD 4770 and Radeon HD 5770 were also tested with the same software.
These graphics cards were tested on a Sandy Bridge desktop with an Intel Core i5 2500K, Sapphire Pure Black P67 Hydra motherboard, 4GB of system memory, and 250GB Seagate SATA HDD.
When running the open-source drivers on the FirePro graphics cards, our OpenGL workstation benchmarks wouldn't even function. Although SPECViewPerf doesn't take advantage of OpenGL 3.x or OpenGL 4.x, none of the tests would successfully finish and in some instances the system would even crash the system. As a result, we were left running the usual OpenGL Linux games that can run on Mesa / Gallium3D. These tests include Nexuiz, Warsow, OpenArena, VDrift, and Lightsmark via the Phoronix Test Suite.
Besides the obvious limitations of using the open-source AMD Linux driver stack and the challenges that face even Radeon graphics cards, the FirePro graphics cards had functioned fine with the open driver. Kernel mode-setting had worked fine as did the Gallium3D driver with OpenGL acceleration and providing a Compiz-powered desktop.