• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

CrossFire doesn't work

Joined
Jun 5, 2014
Messages
40 (0.01/day)
Location
Helsinki
Processor Ryzen 7 3800x
Motherboard MSI MEG X570 UNIFY
Cooling Noctua NH-D15 chromax.black
Memory G.Skill Ripjaws V 2x16GB DDR4 3200MHz
Video Card(s) Asus ROG Strix RTX 2070 Super OC, GPU Boost Clock +70MHz
Storage Samsung 970 Evo Plus 1TB system drive, Samsung 960 Evo 500GB
Display(s) Asus MG279Q
Case Phanteks Eclipse P600S White
Mouse Corsair Nightsword RGB
Keyboard Corsair K65 Lux RGB
Software Windows 10 Pro
Hi all!

I have two identical Radeon HD 7870XT graphics cards, which were installed in PCI-EX16_1/2 slots on this motherboard in CrossFire configuration. Yet in motherboard BIOS, the link speed for one graphics card was x8 and link speed for the other was only x2. For CrossFire configuration to work, both graphics cards should work at the same speed.

These graphics cards worked flawlessly in CrossFire configuration on my old Asus P7P55D Pro motherboard right up to the moment I installed them on this new motherboard. I did everything what end-user would be
expected to do to make it work: reseated graphics cards and switched their places, reseated CPU, cleared CMOS by removing and placing the battery back, updated motherboard's firmware, even changed graphics card connectors on my modular be-quiet Power Zone 850W power supply.

I returned this motherboard to retailer for replacement assuming there might be a problem with lower red PCI-E slot or with CPU socket and PCIX controller wasn't working correctly. The retailer claims their Asus support staff tested my motherboard with two nVidia GTX 780 cards in SLI and AMD Radeon 280 in CrossFire and that both PCI-E slots woked at x8 speed in the following setup (Intel Core i3-4130, 2x4GB G.Skill DDR3 1600Hz, Corsair TX850W, WD Green 2TB, Windows 8.1 x64).

What could be the reason my graphics cards do not work in sync? Could there be compatibility problem between my graphics cards and this particular motherboard? Would it help if I updated graphics cards' firmware. Where I could get newer version of their firmware and how I could do it?

My system:
Motherboard Asus Maximus VII Hero
Graphics cards Club 3D Radeon HD 7870XT (Tahiti LE)
Processor Intel Core i7-4790K
Memory 2x8GB Corsair Vengeance DDR3 1866MHz
Power supply be quiet! Power Zone 850W
Operating system Windows 7 Home Premium x64
Graphics cards and CPU are watercooled.

I would appreciate any help in solving this mystery.
 
I'm assuming the X8 and X2 you saw were power saving features in BIOS. Have you tried loading up GPU-Z, putting load on either GPU and checking what the PCI lane speed is afterwards?
Also, is there a Crossfire tick box in your Catalyst Control Centre?
I'm also assuming you don't have any other PCI cards like sound cards plugged in etc?
 
like rcoon stated make sure you checked the crossfire under catalyst control, under performance. also double check your power cables and make they are seated properly as well as the crossfire bridge.
 
RCoon, thanks for your prompt response.

There are two places in UEFI BIOS where I see any mention of x8 and x2 speeds. First is in Extreme Tweaker\GPU.DIMM Post: PCIe x16/x8 #1 - ATI/AMD GPU, running at x8 Native; PCIe x8/x4 #2 - ATI/AMD GPU, running at x2 Native. And second is in Advanced\System Agent Configuration\NB PCI-E Configuration: PCIEX16_1 x8 - PCI-EX16_1 Link Speed (Auto, Gen1, Gen2, Gen3); PCIEX16_2 x2 - PCI-EX16_2 Link Speed (Auto, Gen1, Gen2, Gen3). Changing Link Speed from Auto to Gen3 has no effect on my problem. Do I misunderstand all this information?

I have ROG GPU-Z installed but strangely it provides very limited information about any of my graphics cards. For primary card it only shows GPU's name and core and memory clocks at two Perf Level1 and Perf Level0. It only shows GPU's name for graphics card in second PCI-E slot. Forgive my lack of experience, but how can I 'put load on either GPU and check what the PCI lane speed is afterwards'?

There was no CrossFire tick box in Catalyst Control Center. It was there when I installed it when I used these graphics cards on my old motherboard. I re-installed graphics drivers and Catalyst and finally installed beta drivers along with Catalyst. Catalyst still does not inform me about CrossFire when I open it after installation and I don't see CrossFire tick box where it should be. In hardware information section, Catalist shows Maximum Bus Setting for Primary Adapter as PCI Express 3.0 x8 and for Disabled Adapter as PCI Express 3.0 x2. In Device Manager Device Status for both display adapters report that 'device is working properly'.

You are correct that I do not have ANY other PCI cards plugged in.

like rcoon stated make sure you checked the crossfire under catalyst control, under performance. also double check your power cables and make they are seated properly as well as the crossfire bridge.
FLmatter, I did ALL that multiple times, even tried other CrossFire bridge that I have.
 
Last edited by a moderator:
I have ROG GPU-Z installed but strangely it provides very limited information about any of my graphics cards. For primary card it only shows GPU's name and core and memory clocks at two Perf Level1 and Perf Level0. It only shows GPU's name for graphics card in second PCI-E slot.

Sounds like you need to run a driver sweeper program, remove all evidence of any drivers from your PC, and then restart and reinstall the latest 14.12 AMD driver in full. Run GPU-Z after having done this, and let me know if the information in GPU-Z is still lacking.

how can I 'put load on either GPU and check what the PCI lane speed is afterwards'?

Run a game level or benchmark, and have GPU-Z open, you can tab out and see if any PCI speed changes are made, and the Sensor tab will tell you what speed everything is running at.

There was no CrossFire tick box in Catalyst Control Center. It was there when I installed it when I used these graphics cards on my old motherboard.

Did you reinstall windows when you replaced your motherboard? It could be your old motherboard drivers are hanging around and messing up your current motherboard drivers. I'd always recommend a fresh installation of windows when installing a new motherboard.
 
Sounds like you need to run a driver sweeper program, remove all evidence of any drivers from your PC, and then restart and reinstall the latest 14.12 AMD driver in full. Run GPU-Z after having done this, and let me know if the information in GPU-Z is still lacking.



Run a game level or benchmark, and have GPU-Z open, you can tab out and see if any PCI speed changes are made, and the Sensor tab will tell you what speed everything is running at.



Did you reinstall windows when you replaced your motherboard? It could be your old motherboard drivers are hanging around and messing up your current motherboard drivers. I'd always recommend a fresh installation of windows when installing a new motherboard.
This is my new build, every component is brand new and none were used with any operating system or drivers before except those two graphics cards. But I assume they only have firmware "imprinted" on them. I'm going to do a clean install of operating system and all the drivers again though I'm not sure it's necessary.
 
This is my new build, every component is brand new and none were used with any operating system or drivers before except those two graphics cards. But I assume they only have firmware "imprinted" on them. I'm going to do a clean install of operating system and all the drivers again though I'm not sure it's necessary.

OS isn't necessary, but drivers are an easy thing to test a reinstall.
 
Sounds like you need to run a driver sweeper program, remove all evidence of any drivers from your PC, and then restart and reinstall the latest 14.12 AMD driver in full. Run GPU-Z after having done this, and let me know if the information in GPU-Z is still lacking.



Run a game level or benchmark, and have GPU-Z open, you can tab out and see if any PCI speed changes are made, and the Sensor tab will tell you what speed everything is running at.



Did you reinstall windows when you replaced your motherboard? It could be your old motherboard drivers are hanging around and messing up your current motherboard drivers. I'd always recommend a fresh installation of windows when installing a new motherboard.
Well, I did a clean install of the entire operating system even if it was a bit too excessive. ALL the latest BIOS, motherboard and AMD drivers are installed. I still don't get CrossFire tick box in Catalyst Control Center. GPU-Z utility also reports that CrossFire is disabled. I didn't install and run any games yet but I did run GPU-Z's PCI-Express Render Test. The primary card's slot configuration was PCI-Express x8 v3.0 but secondary card's slot configuration was only PCI-Express x2 v1.1. Is it indicative of anything?
 
Well, I did a clean install of the entire operating system even if it was a bit too excessive. ALL the latest BIOS, motherboard and AMD drivers are installed. I still don't get CrossFire tick box in Catalyst Control Center. GPU-Z utility also reports that CrossFire is disabled. I didn't install and run any games yet but I did run GPU-Z's PCI-Express Render Test. The primary card's slot configuration was PCI-Express x8 v3.0 but secondary card's slot configuration was only PCI-Express x2 v1.1. Is it indicative of anything?
If you don't have Crossfire enabled and you don't have any displays connected to the second card, then it will go to PCIe x1 to save power. That behavior, at least, is normal.

I'm inclined to believe this is an issue with Crossfire bridge. Do you have another bridge to try on your configuration? In my experience they are very easy to break and could have gotten damaged during the upgrade.
 
Last edited:
If you don't have Crossfire enabled and you don't have any displays connected to the second card, then it will go to PCIe x1 to save power. That behavior, at least, is normal.

It is definitely not normal. The power saving features of PCI-E lower the version from 3.0 to 1.1, but they don't not reduce the number of PCI-E lanes.

The problem sounds to me like the card is not seated correctly in the slot, or something has damaged the card's PCI-E connector causing it to revert back to x2 operation.

E-one, try flipping the cards around. Put the second card in the first slot, and the first card in the second slot, and use GPU-Z to see what the PCI-E bus speeds are for each card then. If the first card starts running at x2, then there is something wrong with that card. If the first card ends up running at x2 in the second slot, then there is something else wrong. It could even be that the case is preventing the card from fulling seating, even though it feels like it is fully pressed in.
 
It is definitely not normal. The power saving features of PCI-E lower the version from 3.0 to 1.1, but they don't not reduce the number of PCI-E lanes.
You are incorrect; this is normal behavior. My secondary card does the exact same thing when there is no load, as seen below. If the bus interface stays at x1 when there is a display attached or when Crossfire is enabled and a compatible application is running, then you have a problem. In the OP's case, Crossfire is disabled and the card has no displays attached, so the second card is running at x1 to save power.

temp.gif


Now to be clear, I've never seen my secondary card running at PCIe x2, so I think the original issue was different; however, it seems the OP has corrected that issue with the reinstall. Now that the second card is running at PCIe x1, I think the remaining issue preventing Crossfire from being enabled is due to the Crossfire interconnect or AMD's drivers detecting the interconnect. I would start first with trying reseating the Crossfire bridge, and then if that doesn't work, replacing the bridge with another one.
 
Last edited:
Ok, I guess I should have stated that it won't turn of PCI-E lanes when not in Crossfire. When Crossfire is enabled, the second GPU will use ULPS, which basically disabled the second card when it isn't in use, which will drop the PCI-E lanes down to x1.

However, this isn't the OP's situation since he can't enable Crossfire, so ULPS can't be activated. Also, he is still suck at x2 after the reformat, which definitely isn't a power saving.
 
You need a cable for crossfire. Only 290 series dont have the cable
 
Thanks to all for your input. I have to say that I already tried everything you suggested. I have another CrossFire bridge and tried it already. I flipped the cards and problem remains with second PCI-E slot. For some time I've only had one of these graphics cards on my old motherboard. Then I bought the second one and they were working fine right from the start. So in a way I have tested at least one of the cards by itself [on my old motherboard].

The PCI-E and CrossFire bridge connectors on both cards seem to be intact (I even cleaned them of possible oxidation, dirt or grease). The cards seem to be fully seated in the slots (locking mechanism is engaged on one side and cards are fixed to the case on the other).

Am I running out of options here?
 
And by the way, both cards' BIOS versions, BIOS part numbers and BIOS dates are the same. Physically the cards are identical copies of each other.
 
I connected my monitor to the card in second PCI-E slot and ran GPU-Z's PCI-Express Render Test for each card. In the screenshots that I attached you can see that second PCI-E slot is now at x8 v3.0 and first PCI-E slot is at x2 v3.0. I would appreciate if somebody could help me understand all this information that I have collected so far and make a conclusion. Or am I still not getting anywhere?
slot1_enabled.gif
slot2_enabled.gif
 
The problem is definitely the second card running at x2, Crossfire requires at least an x4 connection.

So, we need to figure out why the second card is only running at PCI-E x2. Can you test this whole setup outside the case? Put the motherboard on the motherboard's box, connect the two cards and the hard drive, make sure the hard drive is on a non-conductive surface and see what the second card registers as then.

Also, it might be possible that your waterblock on your CPU is too tight, which can cause the CPU to loose contact with some of the pins. You might try slightly loosening the CPU waterblock. Obviously not enough to make it loose, just enough so it is still tight but not as tight.
 
The problem is definitely the second card running at x2, Crossfire requires at least an x4 connection.

So, we need to figure out why the second card is only running at PCI-E x2. Can you test this whole setup outside the case? Put the motherboard on the motherboard's box, connect the two cards and the hard drive, make sure the hard drive is on a non-conductive surface and see what the second card registers as then.

Also, it might be possible that your waterblock on your CPU is too tight, which can cause the CPU to loose contact with some of the pins. You might try slightly loosening the CPU waterblock. Obviously not enough to make it loose, just enough so it is still tight but not as tight.
Unfortunately, I can't test this setup outside the case because both graphics cards and CPU are watercooled. I can't remove the entire water loop from the case.

I just tried to loosen the CPU block which by the way applies quite gentle pressure on the CPU - no change. I tightened the screw nut controlling the pressure a bit more in order to increase the pressure on CPU - this didn't help either.

Maybe it has something to do with this motherboard's BIOS version or even graphics cards' BIOS version. But I'm not at all sure that problem with these particular graphics cards will be addressed by Asus in the next BIOS release if there will be any at all. And updating graphics card's BIOS is complicated and not meant to be performed by regular user. Besides, it might not solve this problem. I'm still to hear from graphics card manufacturer what they have to say about this particular problem but I no longer expect any miracle. So what am I facing here? Is it possible that my new motherboard is incompatible with 2-year old graphics cards? Should I just accept this fact?
 
Is it possible that my new motherboard is incompatible with 2-year old graphics cards? Should I just accept this fact?
No, that's not how PCIe works. With a handful of exceptions, PCIe works on the premise of backward- and forward-compatibility, i.e. a PCIe 1.1 card should work fine in a 3.0 slot and vice-versa. Something else is at play here.
Just to confirm: are both cards in the red PCIe slots? The lower red slot is capped at x8, and while the top slot is x16, it has its bandwidth cut to x8 when the lower red slot is in use(they share PCIe lanes from the CPU). Right now, both cards should be running x8 3.0. Make sure you have "GEN 3" set in BIOS just in case.
Something else to consider: which AMD drivers are you using, and are you installing them with both cards installed or just the primary card first? In the past, I have had issues trying to install the driver with multiple GPUs in place. Install the GPU driver with a single GPU in the system/connected(I know you can't pull the card out of the system because of the water loop, but you can disconnect it from the PCIe slot at least), then reconnect the second card and the driver should pick it up on the next boot. As far as the driver goes, I personally recommend the 14.4 drivers for the 7000 series cards. In my opinion, AMD hasn't released another driver good for the 7000 series since then(don't even get me started on their new Omega driver:shadedshu:), and you can always update it later.
 
No, that's not how PCIe works. With a handful of exceptions, PCIe works on the premise of backward- and forward-compatibility, i.e. a PCIe 1.1 card should work fine in a 3.0 slot and vice-versa. Something else is at play here.
Just to confirm: are both cards in the red PCIe slots? The lower red slot is capped at x8, and while the top slot is x16, it has its bandwidth cut to x8 when the lower red slot is in use(they share PCIe lanes from the CPU). Right now, both cards should be running x8 3.0. Make sure you have "GEN 3" set in BIOS just in case.
Something else to consider: which AMD drivers are you using, and are you installing them with both cards installed or just the primary card first? In the past, I have had issues trying to install the driver with multiple GPUs in place. Install the GPU driver with a single GPU in the system/connected(I know you can't pull the card out of the system because of the water loop, but you can disconnect it from the PCIe slot at least), then reconnect the second card and the driver should pick it up on the next boot. As far as the driver goes, I personally recommend the 14.4 drivers for the 7000 series cards. In my opinion, AMD hasn't released another driver good for the 7000 series since then(don't even get me started on their new Omega driver:shadedshu:), and you can always update it later.
Like I said, I couldn't remove second card and leave only the primary card in PCI-E x16 slot. The structure that holds both cards is too stiff, it doesn't have any give so I couldn't bend the second card to the side. Would I achieve the same result just by unplugging the power cable from the second card and removing CrossFire bridge? I did that and checked the speed of PCI-E x16 slot in GPU-Z utility - it was x8 v3.0 (with unpowered second card and without CrossFire bridge). Again, I'm not sure that motherboard doesn't detect the presence of another card in the second PCI-E slot even if it's unpowered and without CrossFire bridge. Device Manager didn't list the second graphics adapter but BIOS second PCI-E slot indicated that device is 'Not present'.

I tried installing AMD drivers (14.4 and 14.12, both versions) the way you suggested with unpowered second card and without CrossFire bridge but after connecting the bridge and powering up the card I still don't get CrossFire tick box in Catalyst Control Center. I think the main reason is because it seems to be a hardware related problem, more specifically, motherboard or BIOS detects second card incorrectly. I still can't change the speed that BIOS detects for second PCI-E slot - x2.
 
Like I said, I couldn't remove second card and leave only the primary card in PCI-E x16 slot. The structure that holds both cards is too stiff, it doesn't have any give so I couldn't bend the second card to the side. Would I achieve the same result just by unplugging the power cable from the second card and removing CrossFire bridge?
I'm not sure, the previous systems I've had this issue with, I just pulled the second card out. Luckily my current system has switches for the PCIe lanes on the motherboard, so I can just flip a switch and the system sees the slot as empty.

I tried installing AMD drivers (14.4 and 14.12, both versions) the way you suggested with unpowered second card and without CrossFire bridge but after connecting the bridge and powering up the card I still don't get CrossFire tick box in Catalyst Control Center. I think the main reason is because it seems to be a hardware related problem, more specifically, motherboard or BIOS detects second card incorrectly. I still can't change the speed that BIOS detects for second PCI-E slot - x2.
Yeah, I'm starting to think it's either a BIOS issue(are you on the latest BIOS?) or a motherboard issue. Seeing as you've formatted, Windows can't be blamed:roll:
 
Pull that board out of the case and shotgun it
 
Folks, you're not gonna believe what the problem was or how I found this out! I remember when I was installing my CPU waterblock that its metal back plate did not make a full contact with CPU socket's metal back plate because it was slightly CONVEXED. I was wondering that perhaps those three screws that hold it to the motherboard are tightened too much. At least one of them that holds the CPU retention bracket was protruding at the back of the motherboard more than others. I unscrewed it a bit and here it was, as soon as I turned the computer on I was presented with an option to activate CrossFire from Catalyst Control Center. So the problem really was with CPU not making a full contact with some of the pins, I suppose. So much for factory quality control...

Thanks to all for your assistance!
 
Glad you got it working!
 
Sucks that you had so much trouble but congrats on getting it figured out! :)
 
Back
Top