[Guide] - How to Bifurcate a PCI-E slot

Just to give you an idea, apparently the Nvidia card, which sits in PCI slot 1, turns out being Root port 3a IOU1
and Root port 2a says it has full x16 bandwidth, but all sub-PCI’s only state x8. Weird design. I’m afraid it’s not going to offer x4x4x4x4 anywhere in this case (especially in this case).
(ignore all currently connected devices, they’re leaving this board, except for the GTi1080…)

The BIOS;

and the board’s diagram indeed seems to tell me I should occupy PCIE1, PCIE5 and PCIE7, and nothing else:



Hello drevilish, thank you for the useful information. I also have this MB (Asus Sabertooth X99). My CPU has 40 PCI-e lanes (core i7-6950X), PCIe 16x slots 1 and 2 are occupied by 2 PCI-e 16x cards (16x + 16x mode). I want to use the 3rd CPU-bound PCI-e slot with the same ASRock NVMe-PCIe adapter as yours with two M.2 PCIe 4x flash drives (Samsung 970 pro). Would it be possible without editing the BIOS? Can you confirm, that the 3rd PCI-e 16x (physical) slot is bifurcated 4x4x on this MB with default BIOS from Asus? My BIOS is 3801, I downloaded it now from Asus (SABERTOOTH-X99-ASUS-3801.CAP) and opened with AMIBCP v. 5.02.0023. It shows "optimal" setting x4x4 for IIO PCIe port 1 (see the picture)


Many thanks in advance!

@iushe618749 - what you see as default/optimal is what is applied when you load optimal defaults, so if you are looking at the correct slot then that is what will be used

Does anyone know how to do something similar for a Ryzen board please?

I opened a thread here Attempting to enable 2x8 bifurcation in MSI B450 ITX Gaming Plus AC

I tried to open latest bios for msi X99A gaming 7 and I got following error 7885vHH2 (https://download.msi.com/bos_exe/mb/7885vHH2.zip) however if I open old bios version 7885vHF (https://download.msi.com/bos_exe/mb/7885vHF.zip) it is working. Please help in getting latest bios working with AMIBCP tool. I checked online but find info to delete modules, I am not sure if that will be a good idea.

Please correct me if I am wrong that after changing settings the way I want I need to save file with a new name and flash it correct ?

I also get that with ru.exe method we can try changing settings of bifurcation in current bios without flashing until we reset bios settings is my understanding right?


Language name present in the ROM file exceeds 0x08 in length. Setup tab and BIOS Strings tab will not be shown.

@demail2006 - I can possibly make you mod BIOS with IntelRCSetup section visible in BIOS if you want? If you want that, please make a new thread and I will get started helping you on this.

To answer your question, yes, you remove modules until you find the problem one, then you can open in AMIBCP, but this takes hours/days and is not ideal.
No, if you had a working AMIBCP version for that BIOS, you’d make changes you want, then same with same stock BIOS name.extension and then flash with M-Flash.

Thank you for your reply…!! :slight_smile:

I made changes in bios file and saved it and flashed it. When I flash with M-flash it shows my bios with new date and flashes it but when system reboots, It show the original BIOS build date and changes are not there… :frowning: I don’t expect to behave it like that. Please help if you know or have any Idea what can we do here.

I will soon make a new thread for this motherboard pcie bifurcation.

Thank you very much for the guide finally I got the bifurcation working. I got that what BIOS build date it is showing is nothing to do with pcie bifurcation. First tried with all slots set to x4,x4 or x4,x4,x4,x4 modes and in the both optimal and fail safe settings, Then I dialed back to auto for the slot I need bifurcated. I find out that maybe hwinfo and bios tool show cards in reverse order, Hence I was not able to achieve it earlier.

However I done it on old BIOS, I will be grateful if I get Any help to achieve same on newer BIOS. Is there a chance if there is a newer AMIBCP tool available which can open newer BIOS files without error?

I have one request. Please let us know how can we get the setting option bios for set PCIE Bifurcation Support like screenshot in following thread.

https://www.techpowerup.com/forums/threa…eration.240074/



Hello David

I may ask a very stupid question but where I can find those options? I have a Asus x99 deluxe but if only set IOU1 to 00(I want x4x4x4x4 bifurcation) it causes a wired issue. Mostly everytime I boot I can’t see the bios screen(if press del in that case it will just end up with a black screen). The monitor usually only show something in windows or Mac login window(yes, I’m working on hackintosh as well). If I reset the change then the issue disappear. As a result, I would like to play around with the 3 settings you mentioned above.

What I find I’m the text file extracted from PE32 body is:


which seems different from you mentioned above.

And searching Link Retraining retry and Link Training Timeout just return nothing.
As a result, I am totally stuck here. Could you guide me?

Is that possible to use one PCI-e x16 for graphic and another PCI-e x16 like 4x4x and install asus hyper m.2 x16 card with two or four nvme drives in raid0?
I already added nvme booting to Asus Z87 Gryphon (bios 2103) and im wonder if i can use asus hyper m.2 x16 with two or four drives in raid0 using bifurcate on Z87

@Dabman , it is possible to use a PCIe×16 with an Asus Hyper M.2×16 Card or an Asrock UltraQuad M.2 Card.
I have one Asrock running in my C602 System, on a bitfurcated ×16 slot, set to ×4×4×4×4. two m.2 ssds are currently mounted, but in single drive use.
Use in a Raid Array might be possible, but limited tp a software raid only. My CPU does not support Intel VROC.
Additionally, I have an Asus Hyper M.2 running in a X79 system, on a ×8 slot set to ×4×4.
I can make use of the first two m.2 slots only.

But I have no idea if any setup or configuration like the above would work with a Z87 chipset.
Z87 and its respective CPUs support only one PCIe Root Port. That means 16 PCI-Lanes from CPu only.
If your MB features more than one PCIe×16 slot at all, it is very likely that all of the MBs slots are shared or managed by a PCI switch.
As I understand so far, only the Root Port Resource itself can be bitfurcated in Bios.

The enthusiast and server platforms like X79, X99… C602, C612 and the respective CPUs feature 3 Root Ports, two ×16 and one ×8 (later models feature a third ×16).
These can either be linked to MB slots directly or be split or shared to PCIe slots of varying widh.
If you could unlock a BIOS option on a Z87 chipset MB allowing bitfurcation, it would mean that you qould split the sole ×16 Root Port wich also provides for the MB graphic card slot.
To manually bitfurcate the Z87s PCIe root port other than the vanilla layout allows may not be possible at all, but I’m no expert…

@Lost_N_BIOS
@JackSted

I have encountered a new problem concerning the bitfurcation mod bios images I git from you (Don’t know who made the final one anymore):
I had applied the image files for my P9X79-WS and P9X79E-WS boards and looking the options up in the bios setup screens, the modifications seemed to work.

At that time I had set the P9X79E-WS’s IOU Port1 (sole PCIe×8 Slot) from “×8” to “×4×4”.
I had attached a PCIe× USB Card to that slot at that time, so the change would not have a practical use.
However, after apllying the setting and booting to windows, HW Info showed two Instances of the IOU 1 Port both at ×4, one of them being relatet to the PCIe×4 card.
So I was expecting that the mod was functional.

Now, I have had the oppertunity to mount an Asus Hyper M.2 Quad Card to that ×8 slot.
The Card is ×16 wide but fits the slot, which is mechanically ×16.
I had mounted 2 NVME SSDs to the card, on M.2 slots 1 and 2.
After booting up Windows, only the first card was displayed by the System, the Device Mangager, as well as by HWInfo.
The IOU 1 Port was now displayed only once, as a ×16 port linked down to x4.
No sign of the bitfurcation.

I entered the Bios setup menu again and I realized something that was present before, but overseen or misunderstood by me:
Wether I had set one or any of the IOU Ports to bitfurcaton or not, still the link speed options for EVERY sub-port (1A, 1B, 2A, 2B, … 3D) were displayed.
So it became clear that the menu options had been made visible, but to no practial effect.

I looked up the bios setup menu of the “smaller” Board, the P9X79-WS, and it was the same there.
Though it has a different distribution of Ports and Slots, the link speed options for any possible Port were shown, in contradiction to the bitfurcation settings, which were all ×16 or ×8.
The options for Root Ports 2 and 3 were shown as if they had both been split to ×4×4×4×4, disregarding that each of them was still set to ×16.

Guys, I’m calling you for help to look over those files again that we exchanged. Is that possible?

Try all slots on the card, and then also try same on your Asrock card instead, to rule out Asus incompatibility with it’s own hardware Also, confirm on other board, or this one, that all slots work on your hyper card one at a time.
Link speed has nothing to do with lane width, link speed will always remain what you set it to (PCIE 2/3 etc)

Further than this, JackSted will have to help, I don’t have any of these boards to figure this out on, but I assume it has to be some confusion on slots/settings and what’s what (or what I mentioned above)

@Lost_N_BIOS

I wil try out the Asrock and Asus Card vice versa in both boards.

Why I was suspicius about the apperaing “Link Speed” options:
In the Z9PED8-WS’s setup, these options are made available only for activated ports.
So, if I have set Root Port 2 to ×16, Only One sup-option for Link Speed is available:
"PORT2 LINK SPEED"
If i set Root Port 2 to 4×4×4×4, additional sup-options appear:
PORT2A LINK SPPED
PORT2B LINK SPEED
PORT2C LINK SPEED
PORT2D LINK SPEED

In X79E-WS’s modded bios setup, all these options appear by default for every port, no matter if bifurcation options are set or not.
That’s what I found a bit distracting and made me think that the whole mod would have no function.

Hi David,
Here is the Asrock X99 OC Formular/USB3.1 latest BIOS.

X99OCF33.part1.rar (5 MB)

X99OCF33.part2.rar (1.67 MB)

Hi All,

I hope you all are well. I wanted to give some feedback and ask for assistance with regards to having both my gpu and m.2 operational at the same.

Thanks @Fernando for all the help.

It seems that my rev 1.1 ga-z77m-dh3 mATX motherboard has a pcie link for the pxie 3.0 x16 and the pciex4 (2.0) which causes the issue when using both these slots at the same time due to the auto enabled crossfire pcie link which links both the slots when they are used by an amd VGA.
It’s been literal hell wasting hours on this only to realise its something else. I have now gone through many intel 7 series, DMI and intel fdgma forums/docs.

I wanted to find out what would it take to have the entire pciex4 running through the chipset and having the gpu running at x16 pcie 3.0 .

It seems like i need to do the changes mentioned on page one by changing the intel RCSsetup, however this may still link the two pcie slots due to the crossfire ability being actively applied whenever any amd VGA is on either slot. I only have two R9380s to test/make it work with.

Does anyone know how to delink the two pcie slots and completely remove crossfire from bios so that i have two independent slots which do not look for a master slave due to enable pcie linking?

Thanks in advance, Any suggestions/help is appreciated!

Hallo,
i have an ASRock X99 Extreme 6/3.1 and ASRock X99X Fatility Killer 3.1. On my Extreme I am trying to use bifurcation and followed this guide. It also seems to work to the extent that the PCIe lanes are split and I can address two NVME SSDs on the x8. HWINFO64 also shows it like this. But if both are accessed with 3.0 standard (8GB/s) I get bluescreens and WHEA errors under Windows. Or the second NVME SDD is only accessed with the 1.0 standard (2.5GB/s). Where can be the problem?

Hello everyone, i have been through all the posts on this forum in order to get my Asus Hyper M. 2 X16 CARD V2 working on Asus X99 A II board, no success. First it took me ages to even get bios flashback working - i think it was the Thunderbolt Header connected to the motherboard that prevented it to work even with original CAP files. Then i had to get it working with my bios modified with AMIBCP as it would read and write to CAP but changed the header (fixed using hex editor to copy header of the original cap to the modded one).
Now, does not matter wich settings i bake into the bios, i can only see one out of 4 SSDs. I just edited all the slots to 4x/4x/4x/4x just to be sure, enabled Extended sync mode, set Link Retraining retry to 5 (max value) and Link Training Timeout: to 10000 (with these values i was not able to boot with the GPU in the CPU PCIe lanes, i needed to move it to PCIEx16_2 wich is PCH controlled).

Every other bios setting i edited shows up fine (at least this is very useful as i run hackintosh on the machine and i need less configuration when i clear cmos now).

The funniest part? With my previous Shark x99D8 cheap chinese motherboard i had the raid card working flawlessly. Funny, being the card Asus made.

Cpu is the same 1650 v4 (40 pcie lanes).

I have the first PCIEx16_1 with GPU, second slot (from pch) empty, third slot with Asus Hyper M. 2 and fourth slot running Thunderbolt EX card (working fine in macos). I tried swapping the GPU and Hyper card in different position and taking the Thunderbolt card out.

Any suggestion left?

How would I know which IOU/PCIe Port corresponds to which physical PCIe slot?

And what are IIO 0 through 3? Under each branch the subkeys are same:
> IOU2 (IIO PCIe Port 1)
> IOU0 (IIO PCIe Port 2)
> IOU1 (IIO PCIe Port 3)
but their values differ from one IIO to another

Can anyone help me interpret the data?

I got this:

AMIBCP.PNG



and this (MoBo block diagram):

server_manual_md70hbx_e_1202.pdf (173 KB)