Don't Look For Open-Source AMD CrossFire Anytime Soon
While the open-source AMD Linux driver continues gaining ground on Catalyst, one feature you will likely not see from the open-source Linux driver in the foreseeable future is support for AMD's CrossFire technology.
CrossFire is the multi-GPU solution for Radeon graphics cards that's now been through four generations of improvements, plus there's also Hybrid CrossFire / Dual Graphics. CrossFire allows for improved OpenGL performance in some games and other workloads by combining multiple GPUs of the same generation to work together to split the rendering workload. CrossFire support is a very low work item for the open-source AMD Linux driver just as SLI (Scalable Link Interface) support as NVIDIA's equivalent is a very low priority item within the Nouveau camp.
There isn't great demand for SLI/CrossFire by the open-source drivers since there's more pressing items to address first: better performance, newer OpenGL support, and various other features. Even when it comes to the proprietary AMD and NVIDIA Linux graphics drivers, these multi-GPU solutions aren't very common and tend to benefit very few workloads on Linux at this point (hence why SLI/CrossFire is rarely tested at Phoronix; if you are curious you can read about Radeon CrossFire on Linux from a few years back). So while there's been multi-GPU improvements in general for the open-source Linux graphics stack when it comes to Optimus-like situations, DRI_PRIME, and render nodes, don't expect this to carry over into CrossFire and SLI support anytime soon unless some really interested independent contributors magically start working on the support.
The lack of open-source CrossFire support is being brought up today since it was asked about in our forums. Via our forums, AMD's Alex Deucher has commented on a few occasions about this support.
The lack of open-source CrossFire support also isn't due to any missing AMD hardware documentation or similar blocking issues. Alex had written, "There isn't really any magic to crossfire. You just have split work between two gpus in the 3D driver. If anyone is interested, they could start playing with it. Support for the crossfire connectors are just an optimization and are not required for an implementation; in fact a number of crossfire scenarios don't use them at all." Additionally, "you don't really need any hw details to implement it. It mostly sits above the hw specific layers. Unfortunately, there is not much demand for crossfire outside of windows."
Alex had also written at length about the implementation process:
Both hybrid graphics and crossfire require large amounts of driver independent infrastructure. Just about everything you'd need from the drivers is already there. Someone who really wants those features would need to sit down and just do the work and for the most part.
Latest Articles & Reviews
Latest Linux News
Most Viewed News This Week