# GPUZ reports wrong PCI-E version on X58 Mainboard



## Aerpoweron (Dec 18, 2019)

I am running an Asus P6T Deluxe V2 with a X5675 Xeon. FSB overclocked from 133MHz to 166Mhz. Latest Windows 10 version, as well as latest AMD driver version.
I have gone as far back as GPU-Z 2.6.0. It still reports PCI-E 3.0 instead of 2.0. The GPU driver itself shows the correct PCI-E 16 2.0 speed.


----------



## W1zzard (Dec 18, 2019)

Thanks! I found the problem, this will be fixed in next release


----------



## Aerpoweron (Dec 18, 2019)

Nice, thank you


----------



## Naki (Dec 20, 2019)

Same (or similar?) issue here on ASUS H81M2 mobo (Intel Haswell process, socket 1150).

Screenshot:






Official specs say this mobo has PCI Express 2.0 and not 3.0: https://www.asus.com/Motherboards/H81M2/specifications/ 
Will this be fixed in next version too, please?

EDIT: Same issues on my 2nd PC here - older Intel Ivy Bridge process, socket 1155:





NOTE: When loaded with stress test, the newer PC of mine says GPU is running at PCI Express 2.0, which is *correct*.
When loaded with stress test, the 2nd PC INcorrectly lists PCI Express 3.0 being used.
This cannot be, as mobo is this one -- ASRock Z68 Pro3 Gen1.  (there is a Gen2 variant with PCI Express 3.0 too, but mine is not that)

IF you need more proof/screenshots, such as logs from CPU-Z, or screenshots from AIDA64, Speccy/etc, I can provide those too.


----------



## Aerpoweron (Dec 20, 2019)

Hi Naki,

I think GPU-z works correctly.

On the Ivy bridge CPU, with the X68 chipset, it is up to the CPU if it is PCI-E 2.0 or 3.0. Sandy bridge CPUs had PCI-E 2.0, but Ivy bridge had PCI-E 3.0. So your GPU is PCI-E 3.0 as well. And when you put it under load the CPU will go out of power saving and ramp up to PCI-E 3.0.

I am a little confuse about the H81 mainboard tho. Haswell has PCI-E 3.0 too. So it should be at 3.0 when you put your GPU under load. I can only imagine that the H81 board has been built so cheaply, that the signal integrity to the PCI-E 16x slot can't be garanteed. So it falls back to PCI-E 2.0.

So in both cases GPU-Z works correctly. 

Oh, i just noticed there is a new Adrenalin driver 19.12.3 out, thanks to you gpu-z screenshot


----------



## Naki (Dec 20, 2019)

I think you are mistaken. Let's see what W1zzard says.  My GPU cannot be 3.0, as the mobo is only 2.0.

Yes, this ASUS is a budget motherboard - no RAID, no more than 16 GB of RAM, only 4 SATA ports, and several others things are cut down too. 
NO fallback or 'guarantee' issues here - the max is 2.0 and it is documented on ASUS website, 3.0 is simply not possible or present on this ASUS mobo 

RE -- AMD Radeon drivers, you are welcome. 
You can sign up to get notified for any AMD drivers updates via email, as I did.


----------



## Aerpoweron (Dec 20, 2019)

Ok, let's see what W1zzard says.

But keep in mind, since LGA 1156 the PCI-E controller is in the CPU and has 16 lanes. From Ivy Bridge onwards these controllers support PCI-E 3.0. Before that it was 2.0.


----------



## W1zzard (Dec 20, 2019)

Naki your Screenshots show 1.1, which is expected for idle. Any chance you're misinterpreting the field? It's "max supported @(at) currently active"

The issue OP is having is specific to Vega


----------



## R-T-B (Dec 21, 2019)

Ivy bridge cpus have the pcie express root complex in cpu.

It is entirely possible your gpu is indeed running at pcie 3.0, mobo specs mean little in that weird edge case.


----------



## Naki (Dec 21, 2019)

W1zzard said:


> Naki your Screenshots show 1.1, which is expected for idle. Any chance you're misinterpreting the field? It's "max supported @(at) currently active"
> 
> The issue OP is having is specific to Vega


Okay, but what/where does GPU-Z read this speed? Do it show the speed depending on *GPU kind/model*? And ignores any actual mobo readings?   

@R-T-B -- no. On a mobo with PCI Express 1.1, a 2.0 GPU will run at 1.1 speed.
Similarly, on a mobo with only PCI Express 2.0, a 3.0 GPU can only run at 2.0 speed, 3.0 speed is impossible.


----------



## R-T-B (Dec 21, 2019)

> @R-T-B -- no. On a mobo with PCI Express 1.1, a 2.0 GPU will run at 1.1 speed.
> Similarly, on a mobo with only PCI Express 2.0, a 3.0 GPU can only run at 2.0 speed, 3.0 speed is impossible.



The exception being when the root complex is on the cpu, ala recent ryzens: We saw this again recently: supporting standards beyond what was issued with the board stock.

It's an edge case but it can happen.


----------



## W1zzard (Dec 21, 2019)

Naki said:


> where does GPU-Z read this speed?


It asks the GPU 1="What's the maximum speed you could run at?" and 2="What's the current speed you are running at?". These properties are defined by the PCI specification and every device must support them.

Then GPU-Z outputs "1 @ 2", ie "maximum @ current"


----------



## Aerpoweron (Dec 21, 2019)

I am still a little confused about the ASUS H81M2 board. It says in the specifications that it supports PCI-E 2.0. But it runs a Haswell processor, so it still should have PCI-E 3.0. At least on the lanes directly coming from the CPU. It even supports the 4790K cpu.
How can a mainboard manufacturer convince a cpu to run below spec? And why whould you do that?

On the AM4 boards, it was done via a bios update for the Ryzen 3k CPUs. They could do PCI-E 4.0 on B350 / 450 boards or X370 / 470 boards. But AMD really didn't like that.


----------



## Naki (Dec 21, 2019)

Please note АМ4 socket is MUCH newer than all of Intel Ivy Bridge & Haswell too.

We are not talking about CPUs - I do have an Intel GPU in my Intel CPU and it is enabled & being used, but discussion is not about that - it is about my AMD Radeon R9 390 GPU. (which is a discrete, add-on card)
Nothing hard to understand here - older Intel/AMD sockets mostly had 2.0, 3.0 being only on medium or high priced mobos.
Then 3.0 became the norm, even for cheaper mobos, but this was on newer sockets/platforms. 
This is similar to the same thing happening with previous transition from PCI Express 1.1 to 2.0. 

@W1zzard - thanks. Do you mean to say GPU-Z ignores any actual mobo/chipset readings, and only queries the GPU about this? 
That would explain the IMHO wrong readings.


----------



## Aerpoweron (Dec 22, 2019)

I still have to disagree. The last Intel platform where the PCI-E root complex was in the chipset was X58 (LGA 1366). For AMD it was AM3+ (9xx chipset).
Since then the PCI-E controller has been inside the CPU. Usually running most lanes to the PCI-E slots, with 4 lanes going towards the chipset. (not sure about FM2 socket boards chipset)

So if you have a Z68 mainboard with a Sandy bridge 2500K, it has PCI-E 2.0. So your PCI-E slot will run at 2.0.
But if you put a Ivy bridge in the same board, your pci-e slot will have 3.0. If the mainboard manufacturer has not messed up the wiring.

LGA 2011 was kind of strange. It was an experimental PCI-E 3.0 on the Sandy bridge based CPUs. AMD cards worked fine on a 3930k with PCI-E 3.0, but Nvidia cards had issues there, but they officially supported PCI-E 3.0.
If you put on a Ivy-bridge 4930K, it worked fine with PCI-E 3.0 and nvidia cards.

This is why i think that GPU-Z shows the correct values on both of your boards. And i find it kind of sad that they force PCI-E 2.0 on the H81 chipset board you have. The Haswell CPUs officially have 16 PCI-E 3.0 lanes.

Oh, and PCI-E gets slowed to version 1 or 1.1 for power saving reasons. And if put under load, as you have pointed out, it will increase it's speed to 3.0 ,if supported. again.

I would like to know what processors you run on those boards exactly?

Here a list of the Haswell chipset. Check out the field "CPU-attached PCI Express "
https://en.wikipedia.org/wiki/List_of_Intel_chipsets#LGA_1155

I have taken a look at your other board:
https://www.asrock.com/mb/Intel/Z68 Pro3 Gen3/index.asp

It says there:
*PCIe Gen3 is supported on 3rd Generation of Intel® Core™ i5 and Core™ i7 CPUs.


----------



## Naki (Dec 22, 2019)

No - my motherboard here is NOT the Gen 3 version. It is the older ASRock Pro3 Gen1. 
There are 2 versions of this ASRock motherboard - newer with PCI Express 3.0, older with only 2.0 supported.

My CPUs are -- Intel® Core™ i5-3470 CPU @ 3.20GHz (4 cores) on the ASRock mobo, Intel® Core™ i3-4330 CPU @ 3.50GHz (2 cores) on the budget ASUS mobo.
EDIT: You can easily see my CPUs used in my System Specs here in these forums.


----------



## agent_x007 (Dec 22, 2019)

@Aerpoweron
1) Sandy Bridge for LGA 2011, requires a patch for NV driver to enable PCI-e 3.0 : LINK.
2) Aside from CPU, board itself must have PCIe 3.0 capable switches for "3.0 mode" to be viable (source : LINK).

Prime example of this ?
ASRock Z68 Extreme4 :





vs.

ASRock Z68 Extreme4 Gen3 :





You can check in specs on ASRock website, that non-Gen3 is only listed as PCI-e 2.0 (LINK), while Gen3 version is listed as 3.0 when Ivy bridge is installed (LINK).


----------



## Aerpoweron (Dec 22, 2019)

Ok, i think we can agree that the Asus H81 mainbaord works correctly. Intel has just cut down the H81 platform so much that the Haswell CPUs only allow PCI-E 2.0 on that chipset.

For the Z68 board, are we talking about the AsRock Z68 Pro3?
https://www.asrock.com/MB/Intel/Z68 Pro3/index.asp#Specification

If this is the right board, it says in the specification that there is only support for PCI-E 2.0. But this board does not have any PCI-E switches since it only has one 16x slot. So the whole PCI-E switches argument would not apply here.
I would say that PCI-E 3.0 can work on that board. From My experience AsRock does a lot with older stuff. They have patched in NVME support for most of the Z77 mainboards


----------



## Naki (Dec 22, 2019)

Yes, that is the one. However, you are still mistaken. The specs clearly say: 1 x PCI Express *2.0 x16 slot* (blue @ x16 mode) -- so, no 3.0 mode here.
This other version, which I do not have, does have the 3.0 support: https://www.asrock.com/mb/Intel/Z68 Pro3 Gen3/index.asp
IF PCI Express 3.0 would work on the OLD board, then ASRock would not need to create a new, 2nd version labeled *Gen3*, so this is yet another reason you are very much mistaken. 

I am not sure what the context of "switches" is here, but I do not think it has anything to do with AMD CrossFire or NVidia SLI, as least for these 2 mobos of mine.


----------



## Aerpoweron (Dec 22, 2019)

Switches are in this case parts on the mainboard which can allow to run 2 PCI-E 16x slots at 8x link speed, instead of 1 PCI-E slot to run at 16x link speed.
They switch 8 lanes from the first PCI-E slot to the second one.
But on your board there are no switches, since you only have one 16x slot on there 
And if the wiring isn't too badly done, the PCI-E 3.0 controller from the CPU can reach the 16x slot at full speed.

It was the same on older AM4 boards without switches. So cheaper X370 / B350 boards with only one PCI-E slot could run PCI-E 4.0 from the Ryzen 3000 CPUs, but more expensive ones with 2 PCI-E 16x slots and the switches that come with it, could only run PCI-E 3.0.
But AMD didn't like that, and for stability reasons they blocked that in the later bios versions.

The same applies to your board, but only gen 2 vs gen 3. And it was never patched out.

But at the time of the Z68 chipset, i think intel did not care what the mainboard manufacturers did. Well they don't care today 

I still think that GPU-Z works correctly on that board, and that you got lucky and got a free upgrade from Gen 2 to Gen 3 PCI-E


----------



## Naki (Dec 22, 2019)

Nope. I repeat - if this was the way you say, which it is not, then ASRock would not need to create a new version of same mobo with 3.0 support, thus you *are mistaken.*

It is NOT the same on AM4 mobos - these are multiple generations ahead of Intel sockets 1155 and 1150 so no reasons to even try to compare them this way.


----------



## Aerpoweron (Dec 22, 2019)

Ok we have a disagreement then. 

And my comparison with the AM4 boards is only because you have boards that officially support gen 3, but the ryzen 3000 CPUs support gen 4. The same applies to yourZ68 board, but the board has gen 2 and the cpu has gen3. So there is one gen difference betwenn cpu and mainboard.

Could you check your AMD driver, what it says on your PCI-E version. As you have seen my second screenshot, it should look the same on yours.
But i think it will say on yours on "current bus setting" PCI Express 3.0 16X


----------



## Naki (Dec 22, 2019)

The AM4 boards you quoted use DDR4. Mine are very old and use DDR3.

Checking out the screenshot you showed in your 1st post, it just confirms what I say. 
On this PC here with the budget ASUS mobo, the parts you wanted me to check say:
Bus Type: PCI Express 3.0 (I think this is read from the GPU)
Current Bus Settings: *PCI Express 2.0 x16 *

EDIT: And on the ASRock is says 3.0, but I think this is a mistake in the readings.


----------



## Aerpoweron (Dec 22, 2019)

I ment the Z68 Pro 3 board you should check.
The Asus one shows up as intented. 

And memory does not matter for the PCI-E specs. The i9 9900K has PCI-E 3.0 and run on DDR4


----------



## Naki (Dec 22, 2019)

That one does show 3.0 as used.
But I think it is just a mistake.

Can I check this another way, such as via AIDA64 or HWiNFO maybe?  
Or somewhere in Windows 10 OS Device Manager, MSINfo32 tool, or maybe via DMI commands in PowerShell?


----------



## Aerpoweron (Dec 22, 2019)

You should be able to check that with HWinfo. Just uncheck the "sensors only" box.
But there is a lot of info, have to find the right one.

I think i found it.


----------



## W1zzard (Dec 22, 2019)

Naki, what do you think the number in front of @ means? What about the number after @?


----------



## Naki (Dec 22, 2019)

You are the low-level programmer and PCI expert, you tell me.  If I knew this, I would not ask you.
I have done lots of Windows GUI programming, but not low-level stuff, nor any drivers programming. The lowest level I have used is some serial port read/write, nothing more. 

I am pretty sure a 2.0 video card cannot run at 2.0 speeds on a 1.1 mobo, and likewise a 3.0 card cannot run at 3.0 speeds on a mobo that only has 2.0.
Why would ASRock and other mobo manufacturers need to make any Gen3 mobos, if Gen1 (with 2.0 support on them) can run 3.0 cards at 3.0 speed?  

Such backward compatibility may work on those new AM4 socket boards, but that is besides the point.


----------



## Final_Fighter (Dec 22, 2019)

Naki said:


> You are the low-level programmer and PCI expert, you tell me.  If I knew this, I would not ask you.
> I have done lots of Windows GUI programming, but not low-level stuff, nor any drivers programming. The lowest level I have used is some serial port read/write, nothing more.
> 
> I am pretty sure a 2.0 video card cannot run at 2.0 speeds on a 1.1 mobo, and likewise a 3.0 card cannot run at 3.0 speeds on a mobo that only has 2.0.
> ...




he actually answered your first question already, he is asking what YOU think.

the first field is the reported maximum link speed the card can run at as reported from the card itself, irrespective of the motherboards capable max speed. the second reports what the current link speed is.



W1zzard said:


> Naki your Screenshots show 1.1, which is expected for idle. Any chance you're misinterpreting the field? It's "max supported @(at) currently active"
> 
> The issue OP is having is specific to Vega



For the second part, this applies to intel cpus only:

boards that support pcie 2.0 should be able to run 3.0 and asrock may have updated the board for other reasons. many manufactures dont update the user manuals and sense ivy bridge was not out yet it may not have gotten updated. btw, Every h61-z77 that i dropped an ivy bridge cpu in supported 3.0 and reported running at said speed. the reason is that the first pcie x16 port is supposed to be wired directly to the cpu and unless the bios tells it to specifically run at less than what the cpu is designed to run at it will always default to the max capabilities of the cpu. some manufactures may have used less than adequate components and wiring for the connection between the cpu and pcie slot but that would not stop the cpu from wanting to communicate at its maximum capable speed. it would result in other problems. so, its also possible that the board manufacturer limited the speed using software because they knew the board might experience problems. the only way for them to limit the max speed is threw the bios and sense that is software, its possible windows and the drivers are ignoring that and running at max possible speed. (cheep programing on the bios).


why would asrock make a gen3 mobos?

the change may have been for marketing and to clear up confusion. just come out with a revision and dont update the old models Manuel so as to make people buy the updated model with a higher price tag. people want to make sure they are getting the best and selling a board that says pcie 2.0 when one of the marketing points of ivy was pcie 3.0 is not good marketing and will probably cause customers to look at other options. 

hope this helps clear things up for you.


----------



## revin (Dec 23, 2019)

Yep ^^ *Intel did the same with the DZ68*, put out a <failed imho> *BIOS patch *to run IvyBridge on them, thus they run *3.0 *but "Tech Spec's" only showed 2.0


----------



## W1zzard (Dec 23, 2019)

Final_Fighter said:


> the first field is the reported maximum link speed the card can run at as reported from the card itself, irrespective of the motherboards capable max speed. the second reports what the current link speed is.


Exactly that, and I suspect Naki is misinterpreting it


----------



## Naki (Dec 23, 2019)

Okay, I will rephrase - "I am pretty sure & think that..." -- rest of it what I said. 

Anyway, no, this did not help any. Thanks for trying. But let's leave it this way.  Yes, I am no engineer - my university degree was in Chinese language, so math & technology was sadly absent during my years at uni. (Actually, we had a few hours of basic computer use - Windows, MS Word, MS Excel and a few other common programs but I already knew all of that and much more anyway.  )

Unless of course somebody from the PCI spec folks or one working in mobo design comes along to explain this, which I doubt can happen here in these forums.


----------



## W1zzard (Dec 23, 2019)

That's what's displayed in front of the @, you are simply expecting it to show something it's not showing.



			http://www.lttconn.com/res/lttconn/pdres/201402/20140218105502619.pdf


----------



## Aerpoweron (Dec 25, 2019)

Naki, you can try to run 3dmark. Especially the PCI-E test. and you can see the real speed you get 

You should get around the speed as shown in the graph.





Source: https://en.wikipedia.org/wiki/PCI_Express#History_and_revisions


----------



## Aerpoweron (Dec 26, 2019)

I have run the tests myself. Here you have PCI-E 3.0 16X vs PCI-E 3.0 8X.

I get 12.6 Gigabyte a second compared to 6.7 Gigabyte a second.

You should get around 6.7GB/s when you run at PCI-E 2.0 16X 

https://www.3dmark.com/compare/pcie/50014/pcie/50011


----------



## Naki (Dec 26, 2019)

Sorry, what? I know in theory PCI Express 2.0 16x is the same as 3.0 x8, but this is not a valid test. 
I do not have the time to test this now, but surely will when I get a chance.


----------



## Aerpoweron (Dec 26, 2019)

I would say if you run the 3d mark pcie-test, and you get above 8GB/s then your board is truely running at PCI-E 3.0 16x 

And how is this not a valid test? It is made to be comparable when you run it on different hardware


----------



## Naki (Dec 26, 2019)

No, 3DMark test is fine!  What I meant your method of testing in 8x mode on a PCI Express 3.0 mobo.  (which I do not have here - only 2.0) 
In theory, using a 3.0 slot in x8 mode should be the same as 2.0 in x16 mode, but I doubt this is true in practice.  

Actually, I think my parents may have 1-2 PCs here with PCI Express 3.0 on them but all of them have no discrete cards, just Intel CPU built-in GPUs.
(Those PCs are used for work + 1 is used as HTPC, so no gaming involved and thus no need for discrete cards)


----------

