GPU suddenly running on x1

replayed

Distinguished
Jul 4, 2011
48
0
18,530
MB: MSI 990fx-gd80
PR: FX-8350

Since recently I can't turn on 3-way CrossfireX anymore. I found out why. The third card is running at x1 speed (according to GPU-Z) and I've read that Catalyst Control Center cannot turn on the 3-way when 1 card is running too low (x1). I've already tried 2 different drivers, one of them used to work for sure. I've also tried the Clear CMOS button. After re-enabling the RAID I got back into the OS, but still no 3 way option. The card does work on its own, it displays output just fine. Does anyone know how to change the PCIe speed? Any other tips are very welcome. I'm thinking about reseating the cards... They are liquid cooled so that won't be that easy.
 
Solution
Lane assignment is not supposed to be up to the user. It's really up to the motherboard manufacturer and is physically wired on the board. There is a certain amount of flexibility allowed thanks to some auto switching chips, but it's always possible the chips could be misdirected by whatever software, as in your BIOS or UEFI, is telling them how to route the lanes. The last time users had direct control over lane provisioning was in the days where you had the large bridge blocks between your expansion slots that you had to reconfigure when putting in the second graphics card.


I do not recall changing anything before seeing the third card wasn't working. I've been using the RAID setup for quite some time. I only had to set that up again after clearing CMOS, which resets the bios or something like that. I hoped it would reset the PCIe settings but it didn't.
 


ooops
 
x1 isn't the speed so much as the number of lanes assigned or wired to the PCI-e slot. Speed is going to be the number you get when you multiply the number of lanes by the signaling version being used, as in 1.0, 1.1, 2.0, or 3.0. Your board supports 2.0 signaling, but when not actually running graphically intensive software, it's very likely you're going to see the slots use PCI-e 1.1 signaling to reduce power usage over the bus.

For your motherboard, it appears the proper configuration of 3 cards is going to be PCI-e 1, 3, and 4, not 1, 2, and 3. From what I've read of that board, you only want to use the 2nd PCI-e x16 slot for a GPU when four graphics cards are installed. If it's the case that you have used that slot, I would not be surprised if it's running in x1 mode.

On the other hand, are you sure it's in x1 and not 1.1 signaling, and you mixed the two up?
 


It has always worked... The 3 cards have been next to each other since I got the third.

GPU-Z states this: Bus Interface PCI-E 3.0 x16 @ x1 1.1 for the card that won't crossfire.
The first card is @ x16 1.1
The second is @ x8 1.1

EDIT: The PCI-E 3.0 part is probably about the card, since the board doesn't support 3.0. It sais 3.0 at all 3.
 
So, you're using PCI-e x16 slot 1, 2, and 3, instead of 1, 3, and 4?

Prior to having this issue, did you ever verify what your cards were running at? Perhaps your card was always stuck in a x1 configuration and older drivers didn't notice or care, but newer ones do?

Yes, the GPUs are PCI-e 3.0 compliant parts, but happily run at anything below based on needs.

If I had to troubleshoot the issue you are describing, I would start by using a supported configuration of slots 1, 3, and 4, which should yield, x16, x0, x16, and x4.

The other supported configuration I find listed for that motherboard is x16, x8, x8, x4, which would require one more card.
 


Yes the cards have been running in slot 1, 2 and 3 since I got the card. Before that I had 2 of them and used them in 1 and 3 which should have given me x16 on both the slots, according to a unboxing video on LinusTechTips a long time ago.

I haven't verified it before I got the trouble, or I don't recall it. It might have been stuck in x1 but it shouldn't be anyway. I went back to an older driver, which worked before, and tested that. Didn't work. The one that used to work was 14.9. Now I am using 14.12.
 
I will correct myself. You should get x16, x8, x8 in your current configuration of 1, 2, and 3. Here is the relevant quote from the motherboard manual:

"If you intend to install three expansion cards into PCI_E2, PCI_E4 & PCI_E5 slots, these three PCIE x16 lanes will auto arrange from x16/ x0/ x16 to x16/ x8/ x8"

Since you actually are running their recommended configuration, and assignment of the PCI-e lanes is supposed to take place automatically, perhaps it would be best to temporarily uninstall both of the two lower cards and if you can find it, reset the DMI in the BIOS. Basically, it sounds like their may be incorrect hardware configuration stored, and that you need to have the reconfiguration of PCI-e lanes reset itself. I really have no idea if this is going to be done on each boot, or only once a hardware change has been detected. I would certainly explore each possibility and see if booting with the single card, then with the second, gives expected results of x16, then x16 and x16, and then finally adding the third back in after a shut down each time gives x16, x8, and x8.
 


Two of the three cards are running correct, the first one @ x16 and the second one @ x8. The third one is the troublemaker @ x1. Do you have any idea how to get a slot at a different speed?
 
Lane assignment is not supposed to be up to the user. It's really up to the motherboard manufacturer and is physically wired on the board. There is a certain amount of flexibility allowed thanks to some auto switching chips, but it's always possible the chips could be misdirected by whatever software, as in your BIOS or UEFI, is telling them how to route the lanes. The last time users had direct control over lane provisioning was in the days where you had the large bridge blocks between your expansion slots that you had to reconfigure when putting in the second graphics card.
 
Solution


Something like a Crossfire bridge? Those bridge blocks are probably before my time hahah. Do you think reseating them could help? I was thinking about pulling all three out. Booting (won't work without a GPU). Putting them back in. Or could booting without a GPU do harm to the motherboard config?
 
No, the CrossFire bridge handles the inter-card communications of the older style AMD cards. The bridging junctions were like massive jumper blocks which physically changed the routing of the traces on the motherboard between the slots. This is now handled by integrated circuits which you can usually see between the slots, which are a bit wide, with lots of connections on them. A bit like centipedes. 🙂 The automated chip solution just didn't exist when the technology came out, so the easiest solution at the time was to just use large jumper blocks.
 


I'm running 3 7970's, probably one of the last GPU's with the need for a bridge. But what do you think about the reseating?
 
I think reseating may help, not because you have a card that isn't installed correctly, but because I think the BIOS may be booting the computer with the incorrect configuration, and not leaving Windows and it's drivers any choice in the matter.

I would power off entirely, reset the BIOS, pull the two bottom cards, power on, boot into Windows, verify your configuration to be running correctly, then power off. Install the bottom card next, as it's supposed to be installed when only running a 2-way configuration. Power on and verify you have both cards running in x16. Power off again and add back the final card, which should hopefully be detected correctly after having reset the BIOS. Boot into Windows and verify if it's at x8 at this point.

I dread the amount of work involved as you say you have a water loop configuration on the cards, but hopefully you will be able to perform the reseat without having to break any connections. I would think, provided you pull power to both cards if you pull them, you should be able to sufficiently insulate both and just leave them sort of, in the chassis.
 


That would be the best way yeah. The problem is that they are liquid cooled so it's one big piece... They are attached to reach other.