First of all, thanks t8er8 to run the tests.
Here is the link.
https://forums.macrumors.com/threads/graphical-bugs-in-steam-games-on-rx560.2117893/#post-26040584
2nd, don't be too happy, it's an absolutely useless finding for graphic cards at this moment (but may be useful for other PCIe 3.0 card). So, let's start.
Short version: AMD card can negotiate at PCIe 2.0 speed without resistor mod if there is a PCIe switch in the connection.
Long version: When forum members dealing with the PCIe SSD, we found that there is a strange behaviour that the PCIe 3.0 SSD cannot negotiate at PCIe 2.0 speed when installed in slot 1 or 2 via the DT-120 adaptor (but fall back to PCIe 1,1). However, if installed in slot 3 or 4, it can negotiate at PCIe 2.0 x4.
On the other hand, all PCIe 3.0 SSD installed on the Amfeltec, Highpoint cards can negotiate at PCIe 2.0 in slot 1 or 2.
So, what makes the PCIe SSD can negotiate at PCIe 2.0 speed? The answer is the PCIe switch. For amfeltec / highpoint card, there is a PCIe switch onboard, that's why they are so much more expensive than the DT-120. Not because they have more slot, the PCB itself is cheap, but the PCIe switch is much more expensive.
And why the SSD can negotiate at PCIe 2.0 in slot 3 or 4? Because slot 3 and 4 share use the same x4 lane, and there is a PCIe switch inside the connection.
So, apart from PCIe SSD, how about other PCIe 3.0 device?
Since there is another member doubt about his highpoint 1344A USB card's performance. So, I suggest him install the card into slot 3 (rather than slot 2), let see if the card can properly negotiate at PCIe 2.0 x4. The result is positive.
https://forums.macrumors.com/thread...classic-mac-pro.1501482/page-80#post-26039396
His card is a PCIe 3.0 x4 card. Each controller can negotiate at PCIe 3.0 x2, and there are two controller on board. Each controller handle two ports, therefore, all 4 ports can maintain 1GB/s throughput simultaneously.
If he install the card in slot 2. Despite system info shows the card negotiate at PCIe 3.0 speed (obviously that's wrong), the card was actually fallback to PCIe 1.1 speed. Therefore, only 2.5GT/s x4 for his card. Each controller communicates at PCIe 1.1 x2. So, 500MB/s max, which makes each port can only maintain 250MB/s throughput when under stress simultaneously.
After he moved the card to slot 3, despite the system info still shows 8GT/s, but the card actually negotiated at PCIe 2.0 speed. And makes him can maintain 500MB/s per port simultaneously.
So, is this theory also applicable to graphic card? Obviously yes.
When t8er8 install his RX560 in slot 1, the card negotiate at 2.5GT/s x8. But if he installed the card in slot 3, the system info actually shows the card now negotiate at 5GT/s x2. Not sure why further downgrade to x2, but at least, we know as long as there is a PCIe switch inside the connection. A PCIe 3.0 card should able to automatically negotiate at PCIe 2.0 speed, but not further fallback to PCIe 1.1 speed.
I have no "non Apple" AMD graphic card on hand now. So, can't test the theory by myself. But if anyone has unmodded AMD GPU (prefer x16 card, e.g. HD7950). You may try to install that in slot 3, and see if system info shows 5GT/s x4.
If yes, that means the 2.5GT/s limit on cMP is not graphic card's hardware problem, but more the cMP's problem. And not necessary require resistor mod to fix it.
I don't know if there is a way to add a PCIe switch between GPU and the slot. Even we can, I expect the cost will be abnormally high, and the benefit should be virtually zero for most users. Obviously, resistor mod make more sense if we really want to achieve 5GT/s on the cMP (if we know which resistor to mod).
However, this finding basically confirmed all PCIe 3.0 device will fallback to PCIe 1,1 in slot 1 and 2, but able to work at PCIe 2.0 in slot 3 and 4 natively. So, if you have any card's that are PCIe 3.0 x8 or below. Install that in slot 3 (or 4) is same as in slot 1 (and 2) or even better.
For PCIe 3.0 x8 card, if installed in slot 2. It will negotiate at PCIe 1.1 x8, the throughput equals to PCIe 2.0 x4. So, no penalty to install that card in slot 3 or 4.
But for PCIe 3.0 x4 (or below) card. The card will only negotiate at PCIe 1.1 x4 (or below) in slot 2, but able to negotiate at PCIe 2.0 x4 (or below) at slot 3 and 4. Which means works better in slot 3 and 4.
For mid to low end secondary GPU (assume primary GPU in slot 1), e.g. HD7950, since the card should able to negotiate at 5GT/s x4 in slot 3. So the performance penalty in real world will be virtually zero in most case. Therefore, even without resistor mod, there is no need to install this card in slot 2, which may be good to get the x16 link width, but bad for the primary GPU cooling in some case.
Here is the link.
https://forums.macrumors.com/threads/graphical-bugs-in-steam-games-on-rx560.2117893/#post-26040584
2nd, don't be too happy, it's an absolutely useless finding for graphic cards at this moment (but may be useful for other PCIe 3.0 card). So, let's start.
Short version: AMD card can negotiate at PCIe 2.0 speed without resistor mod if there is a PCIe switch in the connection.
Long version: When forum members dealing with the PCIe SSD, we found that there is a strange behaviour that the PCIe 3.0 SSD cannot negotiate at PCIe 2.0 speed when installed in slot 1 or 2 via the DT-120 adaptor (but fall back to PCIe 1,1). However, if installed in slot 3 or 4, it can negotiate at PCIe 2.0 x4.
On the other hand, all PCIe 3.0 SSD installed on the Amfeltec, Highpoint cards can negotiate at PCIe 2.0 in slot 1 or 2.
So, what makes the PCIe SSD can negotiate at PCIe 2.0 speed? The answer is the PCIe switch. For amfeltec / highpoint card, there is a PCIe switch onboard, that's why they are so much more expensive than the DT-120. Not because they have more slot, the PCB itself is cheap, but the PCIe switch is much more expensive.
And why the SSD can negotiate at PCIe 2.0 in slot 3 or 4? Because slot 3 and 4 share use the same x4 lane, and there is a PCIe switch inside the connection.
So, apart from PCIe SSD, how about other PCIe 3.0 device?
Since there is another member doubt about his highpoint 1344A USB card's performance. So, I suggest him install the card into slot 3 (rather than slot 2), let see if the card can properly negotiate at PCIe 2.0 x4. The result is positive.
https://forums.macrumors.com/thread...classic-mac-pro.1501482/page-80#post-26039396
His card is a PCIe 3.0 x4 card. Each controller can negotiate at PCIe 3.0 x2, and there are two controller on board. Each controller handle two ports, therefore, all 4 ports can maintain 1GB/s throughput simultaneously.
If he install the card in slot 2. Despite system info shows the card negotiate at PCIe 3.0 speed (obviously that's wrong), the card was actually fallback to PCIe 1.1 speed. Therefore, only 2.5GT/s x4 for his card. Each controller communicates at PCIe 1.1 x2. So, 500MB/s max, which makes each port can only maintain 250MB/s throughput when under stress simultaneously.
After he moved the card to slot 3, despite the system info still shows 8GT/s, but the card actually negotiated at PCIe 2.0 speed. And makes him can maintain 500MB/s per port simultaneously.
So, is this theory also applicable to graphic card? Obviously yes.
When t8er8 install his RX560 in slot 1, the card negotiate at 2.5GT/s x8. But if he installed the card in slot 3, the system info actually shows the card now negotiate at 5GT/s x2. Not sure why further downgrade to x2, but at least, we know as long as there is a PCIe switch inside the connection. A PCIe 3.0 card should able to automatically negotiate at PCIe 2.0 speed, but not further fallback to PCIe 1.1 speed.
I have no "non Apple" AMD graphic card on hand now. So, can't test the theory by myself. But if anyone has unmodded AMD GPU (prefer x16 card, e.g. HD7950). You may try to install that in slot 3, and see if system info shows 5GT/s x4.
If yes, that means the 2.5GT/s limit on cMP is not graphic card's hardware problem, but more the cMP's problem. And not necessary require resistor mod to fix it.
I don't know if there is a way to add a PCIe switch between GPU and the slot. Even we can, I expect the cost will be abnormally high, and the benefit should be virtually zero for most users. Obviously, resistor mod make more sense if we really want to achieve 5GT/s on the cMP (if we know which resistor to mod).
However, this finding basically confirmed all PCIe 3.0 device will fallback to PCIe 1,1 in slot 1 and 2, but able to work at PCIe 2.0 in slot 3 and 4 natively. So, if you have any card's that are PCIe 3.0 x8 or below. Install that in slot 3 (or 4) is same as in slot 1 (and 2) or even better.
For PCIe 3.0 x8 card, if installed in slot 2. It will negotiate at PCIe 1.1 x8, the throughput equals to PCIe 2.0 x4. So, no penalty to install that card in slot 3 or 4.
But for PCIe 3.0 x4 (or below) card. The card will only negotiate at PCIe 1.1 x4 (or below) in slot 2, but able to negotiate at PCIe 2.0 x4 (or below) at slot 3 and 4. Which means works better in slot 3 and 4.
For mid to low end secondary GPU (assume primary GPU in slot 1), e.g. HD7950, since the card should able to negotiate at 5GT/s x4 in slot 3. So the performance penalty in real world will be virtually zero in most case. Therefore, even without resistor mod, there is no need to install this card in slot 2, which may be good to get the x16 link width, but bad for the primary GPU cooling in some case.