1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Don't Look For Open-Source AMD CrossFire Anytime Soon

AMD

Published on 26 February 2014 02:38 PM EST
Written by Michael Larabel in AMD
23 Comments

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.

Don't Look For Open-Source AMD CrossFire Anytime Soon


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.

Don't Look For Open-Source AMD CrossFire Anytime Soon


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.

For hybrid graphics it really doesn't have anything to do with power management per se, and just about everything you need from the driver is already there. You just need a windowing system specific infrastructure to enumerate and select which GPU they want to render with and call down to the kernel and turn the dGPU on/off as needed. You have to teach X or wayland or mir to pick the GPU it wants to render with and make sure it's turned on when they want to use it and turned off when they don't. From the driver's perspective, it just looks like resume and suspend with a little APCI magic thrown in completely power on/off the device. Whether you use vgaswitcheroo or a custom drm ioctl, the driver code is pretty much the same. Once the window system code to handle this is in place any remaining bugs around the edges in the driver can be fixed, but the main effort is device independent.

For crossfire, you'd need some sort of layer on top of the 3D driver what would dispatch to multiple instances of the driver. Once again, largely driver independent.

Anyone interested in either of these features could start working on them without really having to any of the low level hw details. Unfortunately, neither of these features are a high priority for paying Linux customers.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Intel Xeon E5-1680 v3 & E5-2687W v3 Compared To The Core i7 5960X On Linux
  2. Intel 120GB 530 Series SSD Linux Performance
  3. Btrfs/EXT4/XFS/F2FS RAID 0/1/5/6/10 Linux Benchmarks On Four SSDs
  4. AMD's Windows Catalyst Driver Remains Largely Faster Than Linux Drivers
Latest Linux Articles
  1. Mesa 10.5-devel Brings Some Intel Haswell HD Graphics Changes Over Mesa 10.3
  2. NVIDIA vs. Nouveau Drivers With Linux 3.18 + Mesa 10.4-devel
  3. Is The Open-Source NVIDIA Driver Fast Enough For Steam On Linux Gaming?
  4. Linux 3.18 File-System Performance Minimally Changed But Possible Regressions
Latest Linux News
  1. ArrayFire Accelerated Compute Library Open-Sourced
  2. Amazon's Fire TV Stick: A Nice, Affordable Media Center Option
  3. Google Puts Chrome NPAPI Support On Final Countdown
  4. There's New In-Fighting Over The Future Of Compiz
  5. GTK+ Inspector Gains More Features Ahead Of GNOME 3.16
  6. Clang 3.6 Will Hopefully Have OpenMP Support
  7. A Go Front-End Could Soon Be Landing In LLVM
  8. Linux 3.18-rc6 Released, A Worrisome Regression Remains
  9. HandBrake 0.10 Brings H.265 & VP8 Encoders
  10. Gngr: A New Web Browser Focused On Privacy
Latest Forum Discussions
  1. Hurrican SDL Port
  2. Roadmap to Catalyst 14.10 ?
  3. how to configure module phoromatic ?
  4. PulseAudio 6.0 Is Coming & Other Linux Audio Plans For The Future
  5. Debian Developer Resigns From The Systemd Maintainership Team
  6. Updated and Optimized Ubuntu Free Graphics Drivers
  7. Cant get working Kaveri APU - A10-7850k
  8. Script for Fan Speed Control