How to Enable SLI and CrossFire Support for OpenGL Applications

SLI / CrossFire Article Index

3 – How to enable CrossFire support

CrossFire (or CF or XFire) is ATI/AMD multi-GPU technology. Thanks to CrossFire you can use several Radeon graphics cards at the same time to speed up the 3D rendering. There are several ways to enable CrossFire with an OpenGL application like FurMark:

3.1 – first thing, like for NVIDIA, be sure that CrossFire is enabled. Just open the CrossFireX panel of the Catalyst Control Center (CCC) and check the Enable CrossFireX checkbox:

CCC - CrossFireX

3.2 – The application has a CrossFire profile provided by AMD: just like for NVIDIA, you have nothing to do. Just start your application in fullscreen, that’s all.

3.3 – The application does not have a CrossFire profile like FurMark. In that case try the following tricks:

3.3.1 – the dirty way: the file renaming trick (part 1): renaming FurMark.exe in etqw.exe is a simple solution to make CrossFire working. Like for NVIDIA, etqw.exe has a CrossFire profile in AMD Catalyst. But in some cases, this does not work and leads to a crash.

3.3.2 – The file renaming trick (part 2): etqw does not work? Then try to rename FurMark.exe in SeriousSam.exe. Serious Sam is also an OpenGL video game and has a CrossFire profile. The SeriousSam.exe trick works fine with ShaderToyMark (OpenGL benchmark based on GeeXLab demotool): thanks to it, my CrossFire of Radeon HD 5770 works like a charm with this hefty pixel shader application.

3.3.3 – Using CrossFire Xtension utility: this tool allows to create customized CrossFire profile your your OpenGL application. Once the profiles are created, you select the application in CrossFire Xtension Profiles list and start the application with Launch button. Works fine:

CrossFire Xtension

CrossFire Xtension

3.3.3 – AMD does not offer a CrossFire visual indicator like NVIDIA, then to be sure your CF system works fine, you can use a GPU tool that display the GPU load like MSI Afterburner:

MSI Afterburner to check the GPU usage
The GPU load for two HD 5770 running ShaderToyMark

3.4 – do you have another trick? Post a comment to share it.

I said that renaming FurMark or another OpenGL application in etqw.exe (or SeriousSam.exe) is dirty. Why? Because a SLI / Xfire profile can use some hidden tricks in the OpenGL code to speed up things like removing some checks. Then, even if OpenGL specifications say that some OpenGL functions can accept NULL pointers as parameters, these functions will crash if NULL pointers are used… This is the case for etqw: some OpenGL functions in id Software engine never take a NULL parameter making it possible for NVIDIA and AMD to remove useless checks… You can rename an OpenGL application with the name of another application that has a multi-GPU profile but don’t be surprised if you have some crashes.

ShaderToyMark is a good example of the problem caused by CrossFire profile that is not intended for ShaderToyMark. Here is the rendering of ShaderToyMark when renamed in etqw.exe:

ShaderToyMark renamed in etqw: bug


Whereas when renamed in SeriousSam.exe, ShaderToyMark rendering is perfect:

ShaderToyMark renamed in SeriousSam: OK

SLI / CrossFire Article Index




11 thoughts on “How to Enable SLI and CrossFire Support for OpenGL Applications”

  1. jammer

    Does anyone know how to “manually” set multiGPU modes (SFR, AFR, SuperTiling etc..) in CrossFire? My simulation application heavily depends on framebuffer objects, so data are changing every frame. Renaming to SeriousSam.exe works, but all simulation goes to hell because of AFR mode used in Sam – I think SFR or SuperTiling mode would be better in this case. Any help would be appreciated!

  2. jammer

    You mentioned CrossFire Xtension v1.2 but this version can only create CF profile from existing ones. Newest version 1.4 (update?) can force CF rendering mode (AFR, SFR, Tiling…) but unfortunately this is not working for me 🙁

    But it works flawlessly with gluxMark2, renaming it to serioussam.exe brings almost 1,9x speedup on Radeon 5970 🙂

  3. Pingback: [GPU Tool] ShaderToyMark 0.2.0 Demomakers’ Benchmark Available with Better SLI and CrossFire Support - 3D Tech News, Pixel Hacking, Data Visualization and 3D Programming - Geeks3D.com

  4. Pingback: Does furmark not work with crossfire - Overclock.net - Overclocking.net

  5. Tony

    I was running a few bench marks recently and decided to go online to compare my scores, and noticed a few of them didn’t look right. Take this score for example: http://www.ozone3d.net/benchmarks/fluidmark_140_score.php?id=1813 I wanted to see if I could match this score so I set my gpu’s at the same memory,shader,& core clock speed, but didn’t even come close. My cards can beat the card mentioned above out of the box. I noticed this issue on the MSI Kumbustor score page as well. I don’t know why someone would hack their score, but it’s pretty lame. Would someone at Geeks3d mind correcting this problem? The whole point of posting scores is to compare and improve, but one can’t do that when there are fake scores posted that are unachievable.

Comments are closed.