Contribute
Register

How to extend the iMac Pro to X99 [Successful Build/Extended Guide]

Status
Not open for further replies.
Joined
Jun 4, 2018
Messages
63
Motherboard
Asus Z390-I
CPU
I7-8700K
Graphics
Vega 56
Mac
  1. MacBook Pro
  2. Mac mini
  3. Mac Pro
Mobile Phone
  1. Android
  2. iOS
Hi KGP. Hope youve had are having a good vacation!

for when you're back :) ->

Can i follow this guide today in 2019 for my below hardware.

Asus X99 DELUXE mobo.
Version 3902 bios
asus gtx 1070 ti

should i also do the microcode - bios date from asus is 2018/04/26

want to install high sierra.

would say this guide is close to vanilla?

thanks again

G
Yes you can follow this guide @kgp that has done. As far as the bios and microcode, I would highly recommend running ubu on it to insert the full microcode into your bios image.
 
Joined
Dec 21, 2011
Messages
28
Motherboard
Gigabyte Z390M Gaming
CPU
i7 8700K
Graphics
UHD 630
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Dear community. Have one more question. I have working rig X99 Deluxe II with High Sierra, and going to update to Mohave. Sometimes, maybe 2-3 times a year I like to play some games. I'd like to buy two gtx1080ti to use my 4k tv at max. Now I have Vega 64. So:
-I can't install 3 video cards
-No web drivers for Mohave

Any suggestions how can I put all 3 cards and use nvidia in Windows gaming and AMD in mac for working? I have ThunderboltEX 3, so maybe I can buy external thunderbolt box for Vega 64 and use it in mac?

Thank you.
 
Joined
Mar 25, 2019
Messages
5
Motherboard
Asus X99 Deluxe II
CPU
i7-6900K
Graphics
GTX 1080 Ti
the bios attached works perfectly on my rig
BUT maybe a new one exists
this one modified is stable ;)
so no problem at all
follow the way to patch it bec use sometimes it is pretty tricky to patch perfectly
(I did it with the button on the back)

Thanks GDS. BTW, if I'm not overclocking, I can just unlocked the mb MSR Register in Clover without patching the bios ya?
 

GDS

Joined
May 23, 2010
Messages
229
Motherboard
X99 Deluxe II
CPU
Xeon 2696 v4
Graphics
Gigabyte Aorus 1080 Ti Waterforce
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
I dont know
I have a 2696v4 so I dont need OC on my CPU: it cannot
just a stable rig



Thanks GDS. BTW, if I'm not overclocking, I can just unlocked the mb MSR Register in Clover without patching the bios ya?
 
Joined
Jun 12, 2014
Messages
22
Motherboard
Asus X99 Deluxe
CPU
i7-5820K
Graphics
GTX 1070 TI
Mac
  1. Mac Pro
Mobile Phone
  1. Android
Hello guys
I managed to updae cpu microcode
next step for the register does not work'
.2) MSR 0xE2 register unlock for OSX Kernel Write

On a real Mac with native OSX XCPM power management, the MSR 0xE2 register is unlocked and therefore writeable. However, on ASUS mobos this register is usually read only. This is also the case for all ASUS X99 mobos. When the kernel tries to write to this locked register, it causes a kernel panic. This panic can happen very early in the boot process, with the result that your system freezes or reboots during the boot process. We can circumvent the MSR 0xE2 register write with a dedicated KernelToPatch entry in the config.plist, namely "xcpm_core_scope_msrs © Pike R. Alpha" and by enabling the "KernelPM" in the config.plist in Section "Kernel and Kext Patches" of the Clover Configurator. See Section E.1) for further details.

However, thanks to CodeRush's Longsoft UEFIPatch distribution and sophisticated MSR 0xE2 Register patches, we are able to successfully patch any ASUS X99 mainboard BIOS distribution and unlock the MSR 0xE2 register. This makes the "xcpm_core_scope_msrs © Pike R. Alpha" KernelToPatch entry obsolete and allows full native read/write MSR 0xE2 register access by the OSX kernel. The patched ASUS mainboard BIOS firmware finally can be uploaded each specific ASUS X99 mainboard by means of the ASUS EZ BIOS Flashback Procedure.

The individual steps for the ASUS X99 BIOS Patching are detailed below:

1.) Download and unzip the CodeRush's UEFI patch to your Desktop.

2.) To unlock the MSR 0xE2 register for kernel write copy the BIOS firmware file modified in section B.1.1) to the "UEFIPatch_0.3.9_osx" directory on your Desktop.

4.) Open a terminal; type "cd " and drag the "UEFIPatch_0.3.9_osx"-folder on your Desktop into the Terminal window and press "Enter". One can also use the terminal command equivalent:

Code:
cd ~/Desktop/UEFIPatch_0.3.9_osx/
Note that this step is important to successfully execute the UEFI-Patch procedure! You must be in the UEFIPatch directory on your terminal, in order to successfully execute step 5.) below!

Once in the UEFIPatch directory on your terminal, drop the "UEFIPatch"-executable into the terminal window; Also drop the actual BIOS CAP file into the terminal window; Press enter to execute the "UEFIPatch"-procedure.

The equivalent terminal command in case of the ASUS X99-A II BIOS firmware is:

Code:
./UEFIPatch X99A2.CAP
For other mobos, please adapt the adequate BIOS CAP-filename in the command!

During the patch procedure, you will see something like the following message, which can be simply ignored:

Code:
parseImageFile: Aptio capsule signature may become invalid after image modifications
parseSection: section with unknown type 52h
parseFile: non-empty pad-file contents will be destroyed after volume modifications
parseSection: section with unknown type 52h
parseFile: non-empty pad-file contents will be destroyed after volume modifications
patch: replaced 6 bytes at offset F69h 0FBA6C24400F -> 0FBA7424400F
Image patched
6.) You will now find a "***.CAP.patched" BIOS-file in the UEFIPatch folder, which is your patched (MSR 0xE2 unlocked) BIOS file.


wheni run./UEFIPatch X99A2.CAP nothiing happens, except an error
 
Joined
Jun 12, 2014
Messages
22
Motherboard
Asus X99 Deluxe
CPU
i7-5820K
Graphics
GTX 1070 TI
Mac
  1. Mac Pro
Mobile Phone
  1. Android
Hello guys
I managed to updae cpu microcode
next step for the register does not work'
.2) MSR 0xE2 register unlock for OSX Kernel Write

On a real Mac with native OSX XCPM power management, the MSR 0xE2 register is unlocked and therefore writeable. However, on ASUS mobos this register is usually read only. This is also the case for all ASUS X99 mobos. When the kernel tries to write to this locked register, it causes a kernel panic. This panic can happen very early in the boot process, with the result that your system freezes or reboots during the boot process. We can circumvent the MSR 0xE2 register write with a dedicated KernelToPatch entry in the config.plist, namely "xcpm_core_scope_msrs © Pike R. Alpha" and by enabling the "KernelPM" in the config.plist in Section "Kernel and Kext Patches" of the Clover Configurator. See Section E.1) for further details.

However, thanks to CodeRush's Longsoft UEFIPatch distribution and sophisticated MSR 0xE2 Register patches, we are able to successfully patch any ASUS X99 mainboard BIOS distribution and unlock the MSR 0xE2 register. This makes the "xcpm_core_scope_msrs © Pike R. Alpha" KernelToPatch entry obsolete and allows full native read/write MSR 0xE2 register access by the OSX kernel. The patched ASUS mainboard BIOS firmware finally can be uploaded each specific ASUS X99 mainboard by means of the ASUS EZ BIOS Flashback Procedure.

The individual steps for the ASUS X99 BIOS Patching are detailed below:

1.) Download and unzip the CodeRush's UEFI patch to your Desktop.

2.) To unlock the MSR 0xE2 register for kernel write copy the BIOS firmware file modified in section B.1.1) to the "UEFIPatch_0.3.9_osx" directory on your Desktop.

4.) Open a terminal; type "cd " and drag the "UEFIPatch_0.3.9_osx"-folder on your Desktop into the Terminal window and press "Enter". One can also use the terminal command equivalent:

Code:
cd ~/Desktop/UEFIPatch_0.3.9_osx/
Note that this step is important to successfully execute the UEFI-Patch procedure! You must be in the UEFIPatch directory on your terminal, in order to successfully execute step 5.) below!

Once in the UEFIPatch directory on your terminal, drop the "UEFIPatch"-executable into the terminal window; Also drop the actual BIOS CAP file into the terminal window; Press enter to execute the "UEFIPatch"-procedure.

The equivalent terminal command in case of the ASUS X99-A II BIOS firmware is:

Code:
./UEFIPatch X99A2.CAP
For other mobos, please adapt the adequate BIOS CAP-filename in the command!

During the patch procedure, you will see something like the following message, which can be simply ignored:

Code:
parseImageFile: Aptio capsule signature may become invalid after image modifications
parseSection: section with unknown type 52h
parseFile: non-empty pad-file contents will be destroyed after volume modifications
parseSection: section with unknown type 52h
parseFile: non-empty pad-file contents will be destroyed after volume modifications
patch: replaced 6 bytes at offset F69h 0FBA6C24400F -> 0FBA7424400F
Image patched
6.) You will now find a "***.CAP.patched" BIOS-file in the UEFIPatch folder, which is your patched (MSR 0xE2 unlocked) BIOS file.


wheni run./UEFIPatch X99A2.CAP nothiing happens, except an error
never mind. Apologies, i see this whole process was to be run from a mac... yet the terminal in windows worked for everything up to the OSX unlock register
My Bad
 
Joined
Jun 12, 2014
Messages
22
Motherboard
Asus X99 Deluxe
CPU
i7-5820K
Graphics
GTX 1070 TI
Mac
  1. Mac Pro
Mobile Phone
  1. Android
I do have one question for the community. And in no way am i taking aim or being negative to anyone's hard work. Quite the opposite! I love the hackintosh community.
1. Would you say this KGP guide is a vanilla guide?
2. I have this worrying feeling about CPU microcode updates. I have an ASUS X99 deluxe. Its last BIOS update I think was 04-20018.

a) Is it really possible that board manufacturers would just skip these vital CPU microcode updates / edits? Seems extremely terrible that they would skip on intels CPU microcodes?
b) If they do, which is worrying, where or how often is this UEFI patcher updated, etc.? No offense to CodeRush, great job...just got worried when I had to download this thing from a Russian .RU file site.
c) I ran UBU and it said a lot of my microcodes were out of date. So I proceeded to patch them all, AND unlock the register. My last question is that if this latest fixed file is flashed via ASUS flashback, and borks something, can I restore my original BIOS file via the same flashback? I guess that's what Flashback enables?
Overall, I'm just wondering how on Earth a major manufacturer like ASUS would skip like 5 microcodes (or however you refer to them), and now were updating them via a 3rd party patch by a developer. (Again no offense meant.) Any thoughts on this?
 

kgp

Retired
Joined
May 30, 2014
Messages
6,784
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Mobile Phone
  1. iOS
I do have one question for the community. And in no way am i taking aim or being negative to anyone's hard work. Quite the opposite! I love the hackintosh community.
1. Would you say this KGP guide is a vanilla guide?
2. I have this worrying feeling about CPU microcode updates. I have an ASUS X99 deluxe. Its last BIOS update I think was 04-20018.

a) Is it really possible that board manufacturers would just skip these vital CPU microcode updates / edits? Seems extremely terrible that they would skip on intels CPU microcodes?
b) If they do, which is worrying, where or how often is this UEFI patcher updated, etc.? No offense to CodeRush, great job...just got worried when I had to download this thing from a Russian .RU file site.
c) I ran UBU and it said a lot of my microcodes were out of date. So I proceeded to patch them all, AND unlock the register. My last question is that if this latest fixed file is flashed via ASUS flashback, and borks something, can I restore my original BIOS file via the same flashback? I guess that's what Flashback enables?
Overall, I'm just wondering how on Earth a major manufacturer like ASUS would skip like 5 microcodes (or however you refer to them), and now were updating them via a 3rd party patch by a developer. (Again no offense meant.) Any thoughts on this?

I can give you my own opinion although I am not asked for and anybody else is free to add his additional comments:

1.) As in contrary to X299 and Skylake-X, X99/Broadwell-E/Haswell-E still requires at least one kext and several XCPM kernel patches to work, the EFI-Folder is not fully vanilla. Respective patches can still change in future macOS versions, as actually under 10.14.5 public betas in case of the xcpm_pkg_scope kernel patch.

2.) Here you start to mix up. UEFI patch is used to unlock the MSR register, and for nothing else. The procedure was valid right from the beginning, never changed so far and will also not change in the future, as there is no further BIOS firmware development for most X99 motherboards.

3.) Why ASUS and other brands did not implement updated microcodes in their last BIOS firmware distributions might have several simple explanations:

a.) There seems not to exist any further BIOS firmware development for X99 mainboards and last versions of available BIOS firmwares are even beta for more than one year. This also simply might explain your last question why you needed to update 5 microcodes by 3rd party patching.

b.) Respective modifications of macOS by Apple that finally required the respective microcode update for Broadwell-E/Haswell-E happened during the 10.13.4 betas, if I remember correctly. This was basically after the last official ASUS BIOS Firmware release 1801 for the ASUS X99-A II and other ASUS X99 motherboards. With the outlined microcode update detailed in my guidelines, everything is working up to now even up to 10.14.5 pubic beta 2. If there will be future macOS modifications that would require further Broadwell-E/Haswell-E microcode updates within not further developed X99 BIOS firmware is the same fictive question like the question at which point in the future X99/Broadwell-E/Haswell-E would stop working under macOS at all.

c.) You should be always able to flash the original BIOS firmware with EZ-Flashback, as long you use the correct EZ-flashback filename convention.

Finally let me clarify some additional things and details. The actual guidelines allow all respective users the continued use of their X99/Broadwell-E/Haswell-E systems and respective hardware, which is largely not anymore officially distributed by respective sellers and is actually also facing the end of its days.

If you want a fully vanilla system that will be fully supported by macOS also the next years and has got rid of all workarounds you actually blame above, you are free to opt for X299/Skylake-X and my respective guidelines or for any other state-of-the-art hardware and methods promoted in this forum, not only by TM.

I hope this clarifies most of your questions.

Finally, in compliance with the board rules, may I kindly ask you to add your system specs (mobs, CPU, GPU) to either your profile or signature, which facilities other users to provide answers in case of questions.

Many thanks in advance and all the best,

KGP
 
Last edited:
Status
Not open for further replies.
Top