In optimal conditions of running Enemy Territory: Quake Wars at 1920 x 1200 with 8x anti-aliasing, two Radeon HD 4870 graphics cards in CrossFire averaged out to 106 FPS while the single card had produced a mere 40 FPS, which results in the CrossFire configuration being 162% faster! This was in an ideal environment for CrossFire, but with less demanding settings there were still modest gains. CrossFire for Doom 3 without AA/AF at 2560 x 1600 resulted in about 20% improvement, Enemy Territory: Quake Wars at 1680 x 1050 with 8x AA had resulted in about a 60% gain, and about a 40% gain when running Quake 4 with 2560 x 1600 and ultra quality settings with 8x AA and 16x AF with the Radeon HD 4850. Percentage wise the Radeon HD 4850 and Radeon HD 4870 had similar gains with CrossFire scaling.
If you don't plan on gaming with high-quality settings and at very high resolutions, the CrossFire benefits for the Radeon HD 4800 series will be minimal. Even when we had run Quake 4 at 1920 x 1200 with ultra quality settings, the CrossFire results for the HD 4850 and HD 4870 were within frames of the single-card results. However, when the RV710, RV730, and RV740 are released later this year, we should see better scaling with these lower-end parts.
Aside from the quantitative performance, the only real problem we experienced when CrossFire was enabled were segmentation faults crashing the game, which is quite unfortunate, but AMD is working to address these issues in a future release. The setup process for CrossFire on Linux isn't exactly hard, but it's currently not as trivial as just running a single command or clicking a button. It's also prone to a few problems such as what we encountered where the Linux driver went as far as looking at a Marvell Gigabit Ethernet Controller as a possible candidate for CrossFire. We imagine most of this should be worked out in the following Catalyst 8.9 and 8.10 releases.
Another shortcoming of this initial multi-GPU implementation is the limited program support. While NVIDIA's driver requires setting an environmental variable for most programs before their SLI technology will be initialized, this allows Scalable Link Interface to be used on most any OpenGL program. The ATI Linux driver relies upon auto-detection of the program's name to determine whether to use CrossFire and that support is currently limited to Doom 3, Quake 4, and Enemy Territory: Quake Wars. When attempting to trick the driver into using CrossFire for other OpenGL programs by faking their program name, we were faced by problems. Hopefully we will see an option for ATI support on other OpenGL programs in the future (of course, we would like to see CrossFire on Unigine, Lightsmark, SPECViewPerf, and even Nexuiz for some of the lower-end cards).
ATI Radeon HD 2000/3000 owners will likely feel miffed with the CrossFire support on Linux yet not supporting these older cards, but this support will hopefully arrive in the future. Hybrid CrossFire and 4-way CrossFireX are also missing in action.
Up until last year ATI/AMD was playing catch up with NVIDIA when it comes to graphics performance on Linux, but since introducing their new OpenGL driver last year the tides have turned. NVIDIA had (now addressed) 3D performance issues with their newer GPUs but are now struggling with 2D performance problems and other bugs. NVIDIA had also dropped support for XvMC video acceleration starting with the GeForce 8 series. With the launch of the ATI Radeon HD 4800 series, they had provided same-day support which was a first for them but it also delivers best in class performance as can be seen from our original ATI Radeon HD 4870 benchmarks. Starting with Catalyst 8.8 we are now in a period where AMD is beginning to push a number of new -- and very exciting -- features into the Linux driver. In Catalyst 8.8 we have OverDrive support, adaptive anti-aliasing, and RV770 CrossFire. In the next few months there are more really great features to be introduced too.
At the end of the day it's great to see CrossFire Technology finally arrive on Linux. It's coming very late compared to when CrossFire was originally introduced (2005) but its arriving at a great time with leveraging the success of the Radeon HD 4800 series. As we have noted throughout this article, there are a few rough edges still with this initial support but we are confident those items will be taken care of soon. Permitting you're running a supported application, have a large display (preferably 2560 x 1600), and crank up the graphics intensity enough, ATI CrossFire for Linux really starts to shine with the Radeon HD 4800 series. CrossFire for Linux though should become a viable option in the coming months once these few bugs are worked out and the lower-end Radeon HD 4000 graphics cards introduced.
Later this week we will publish our Radeon HD 4870 X2 benchmarks where you can see impressive scaling too. Stop by the Phoronix Forums if you have any questions about CrossFire, ATI, or Linux hardware in general.