Contribute
Register

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

Status
Not open for further replies.
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.
 
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?
 
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?
 
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
 
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
 
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 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:
This is great. Thanks so much for taking the time to clarify. I dont mind whether its vanilla or not. just wanted to fully understand what i was doing. I booted up my X99 deluxe machine after a while. (2 years). And i had tons of fun setting up el Capitan 2 years ago, but always struggled with aptiomemfix errors, etc. I'm thrilled to have found your page.

So far done :

Bios patched and updated for register unlock as well as CPU microcodes.

My Specs that ive updated on my profile :

CPU - 5820K
MOBO - Asus X99 Deluxe.
GFX - 1070 TI
Ram Corsair Vengence 16GB (2400)
2 SSD's.
Currently running windows 10 on one. and trying to setup High sierra on the other.

Im using this guide but im confused with the D1/D2 steps. Ive managed D1, to create an installer. At the moment it wont boot because im a little confused about the EFI folder preparation.

I see this guide of yours - https://www.tonymacx86.com/threads/...ill-tridentz-aorus-gtx-1080-ti-xtreme.211621/
and reading this i have a little bit more understanding as the step after bios settings details installing clover onto the USB making it bootable etc.

Given my hardware, (the original X99 Deluxe MOBO, not II or V3.1), and i75820K, should i continue with this guide?, im guessing D.1 in this guide and steps thereafter achieve the same as the below section in the customac pro x99 guide :
https://www.tonymacx86.com/threads/...ill-tridentz-aorus-gtx-1080-ti-xtreme.211621/

4.) Download and install the latest Clover distribution on your USB-DISK by verifying the proper Install-location (USB-DISK)
and customizing (don't press "Install" but "Customize" instead) the following options:

a) Install for UEFI booting only
b) Install Clover in the ESP
c) Select the Bootloader Themes you want to install
e) Only select EmuVariableUefi-64.efi in the Drivers64UEFI menu!

I know my confusion may be worsening things, so if not possible to clarify, you could just tell me which guide i should follow thats closer to my hardware and would result in a more stable smoother experience. Also this is a SMBIOS1.1, which i see is Xeon based, and the SMBIOS in the customac pro guide is a SMBIOS 6.1. doing some reading i can see they represent different hardware profiles, what bearing would this have in regards to my current hardware.

I apologize in advance for stupid questions.
 
This is great. Thanks so much for taking the time to clarify. I dont mind whether its vanilla or not. just wanted to fully understand what i was doing. I booted up my X99 deluxe machine after a while. (2 years). And i had tons of fun setting up el Capitan 2 years ago, but always struggled with aptiomemfix errors, etc. I'm thrilled to have found your page.

So far done :

Bios patched and updated for register unlock as well as CPU microcodes.

My Specs that ive updated on my profile :

CPU - 5820K
MOBO - Asus X99 Deluxe.
GFX - 1070 TI
Ram Corsair Vengence 16GB (2400)
2 SSD's.
Currently running windows 10 on one. and trying to setup High sierra on the other.

Im using this guide but im confused with the D1/D2 steps. Ive managed D1, to create an installer. At the moment it wont boot because im a little confused about the EFI folder preparation.

I see this guide of yours - https://www.tonymacx86.com/threads/...ill-tridentz-aorus-gtx-1080-ti-xtreme.211621/
and reading this i have a little bit more understanding as the step after bios settings details installing clover onto the USB making it bootable etc.

Given my hardware, (the original X99 Deluxe MOBO, not II or V3.1), and i75820K, should i continue with this guide?, im guessing D.1 in this guide and steps thereafter achieve the same as the below section in the customac pro x99 guide :
https://www.tonymacx86.com/threads/...ill-tridentz-aorus-gtx-1080-ti-xtreme.211621/

4.) Download and install the latest Clover distribution on your USB-DISK by verifying the proper Install-location (USB-DISK)
and customizing (don't press "Install" but "Customize" instead) the following options:

a) Install for UEFI booting only
b) Install Clover in the ESP
c) Select the Bootloader Themes you want to install
e) Only select EmuVariableUefi-64.efi in the Drivers64UEFI menu!

I know my confusion may be worsening things, so if not possible to clarify, you could just tell me which guide i should follow thats closer to my hardware and would result in a more stable smoother experience. Also this is a SMBIOS1.1, which i see is Xeon based, and the SMBIOS in the customac pro guide is a SMBIOS 6.1. doing some reading i can see they represent different hardware profiles, what bearing would this have in regards to my current hardware.

I apologize in advance for stupid questions.

Don't worry about your questions.

But please don't mix and confuse between my outdated X99 Sierra and my up-to-date X99 HighSierra and Mojave guides. Given your GFX - 1070 TI, Mojave will be useless in your case anyway. Thus you should stay with the X99 HighSierra guide, which is perfectly suited for the hardware you mentioned above and forget about the X99 Sierra guide anyway. After all in-depth testing, SMBIOS ImacPro1,1 seems well suited also for X99 anyway, that's why I changed also my respective guidelines for providing possibilities of a low cost iMacPro system, when compared with X299 and Skylake-X or even XEON and motherboards with respective chipsets.

The use of EMUVarible dates back to Sierra times and has been substituted by AptioMemoryFix.efi long time ago and is also actually implemented such in my X99 EFI-Folder distributions on Github.

Note that for the 5820K you need particular changes in the config.plist of my original EFI-Folder distribution only outlined in README.md of my X99 EFI-Folder Github respository.

Hope this helps.

If you continue facing problems with your current EFI-Folder configuration, upload your EFI-Folder that others can help you with your current configuration.

Good luck,

KGP
 
Hi KGP, thanks, you have been instrumental. This is what a community should be like! very awesome.

- I managed to complete all your steps. (I skipped the section on APFS, and NVME)
- I got to the install after all EFI folder prep. First boot screen was 18 minutes. (Did not get the 34 first.)
- Booted into macOS. Completed the setup. Once I let it update, and reboot, I then got the 34 minutes.


My EFI Folder - https://drive.google.com/open?id=1Y6oJyAnlgvzt0TcKAGPtOUlYbFsXVUAd

I also went to the README.md of your EFI Folder on github. I only enabled bootstrap kext as right at the end you said
"
_xcpm_cpuid_set_info kernel patch is obsolete for Broadwell-E and Haswell-E and can remain disabled

_xcpm_bootstrap kernel patch seems still required for some Haswell-E CPUs, e.g. i7-5820k."

I used the FIRST folder in the list -
Type Name Latest commit message Commit time
EFI-X99-10.13.6-Release-iMacPro1,1-141018.zip Clover_v2.4k_r4706, AppleLC v1.3.2, Lili v1.2.7 6 months ago



Issues -
1. Display flickering artifacts. (I run a gtx 1070 TI.)
So far. I've logged in, tried to install the Nvidia web drivers, they installed, (although it seems broken, as it cant start the Nvidia control panel) but somethings awry with display artifacts and flickering that happens right from the get go, as soon as the login screen.

(I haven't setup the whatevergreen or Lilu kext. (I've done some reading that says Lilu helps. not sure what whatevergreen does, and whether they both need to be applied.) - let me know your thoughts or advice.


2. Mouse lag...Seems to skip some serious steps in motion.
again did some reading so i can play my part in the DIY anti laziness hackintosh movement lol.

These were some of the things i found on ******-

"I had significant artifacts and issues on High Sierra 10.13.5 Nvidia web drivers until I switched my system definition to iMac 18,3. All of my Nvidia web driver issues were immediately resolved. I'm unsure why but it made a huge difference on my configuration. "

Mouse lag - (the below would represent my issue closely"
"Mouse randomly jumps across screen
renderTimingPixel.png

I've been having this issue for a long time now and I think it may be effecting my gaming as well. My mouse will sporadically jump about 150 pixels across the screen. Sometimes it's perfectly smooth but other times it just does it about 10 times within a few minutes and it's really annoying."

Thanks Again to you KGP and anyone who can assist.

some results - / solutions to investigate :-

Wifi / bluetooth interference.... Not sire about this one, i have quite a new capable mouse - Logitec Anywhere 2s ->

Monitor refresh rate? (I have a DELL S2719DGF, its a freesync 144hz monitor.
 
Status
Not open for further replies.
Back
Top