Jump to content
slurpi

MSI X299 SLI Plus and Intel 7820X: installation and post installation steps

197 posts in this topic

Recommended Posts

Sleep, USB 2.0 and USB 3.1 work after installation.
 
USB3.0 needs post installation steps, although some ports are recognized.
 
Audio also needs some post installation work.
 
This is just a guide on how to install the OS. The post installation setup follows on a post below.
 
 
Hardware:
 
Motherboard: MSI X299 SLI Plus
 
 
RAM: 4x 8GB Corsair Vengeance DDR4 @ 3200MHz (32GB total, quad channel mode).
 
Storage: Samsung EVO 960 M.2 250GB (for OS)
          Crucial MX300 1TB (for data)
 
Network: WiFi TP-LINK Archer T9E AC1900 (PCI, supported by macOS)
 
Bluetooth: Broadcom BCM20702 (USB, supported by macOS)
 
Video: MSI GT 710 2GB (supported by macOS)
     Asus ROG Strix GTX1 070 8GB (needs NVIDIA Web Drivers)
 
 
BIOS:
 
I used version 140, the latest at the time. I am running version 150 now, with no differences.
 
Disable "CFG Lock":
  • Enter BIOS
  • Load defaults (F6)
  • Expert mode (F7)
  • OC  and then CPU Features (last item)
  • Disable "CFG Lock".
  • Save and reboot (F10)
You have to disable CFG Lock, otherwise the kernel does not boot. The system restarts after "+++++" from Clover.
 
In addition, I advise to disable legacy mode in the UEFI, to avoid booting in legacy mode and get confusing errors from Windows or Disk Utility.
 
 
Clover installation on the USB:
  • Install for UEFI booting only
  • Install Clover in the ESP
  • drivers64UEFI all selected (more on this below)
  • all rest is off
 
Clover drivers:
 When the Clover installation finishes, you have to manipulate a few efi drivers.
  • Navigate to <USB ESP partition>/EFI/CLOVER
  • Create a folder called drivers_disabled
  • Move the following drivers from drivers64UEFI to drivers_disabled:
    • OsxAptioFix2Drv-64.efi
    • OsxLowMemFixDrv-64.efi
  • You will have to add an extra driver from here:
    https://nickwoodhams.com/x99-hackintosh-osxaptiofixdrv-allocaterelocblock-error-update/
    Download Test2-2016.efi and save it in drivers64UEFI.
    Without this fix, you'll have the memory allocation problems described in the link above.
    If you still get that problem, don't just reboot but really turn the computer off and then on between tries.
  • I also had to install apfs.efi.
 
Clover config.plist:
 
I used Clover Configurator to load the default clover.plist and then:
  • ACPI: disable everything.
  • Boot: npci=0x2000. I also added -v.
  • SMBIOS: iMac18,3
    Any iMac18 should work (I tried with 18,1 and 18,3). I also tried with iMac14 and iMac17, and they gave me problems. For example, iMac17,1 could not initialize the graphic screen properly.
  • Leave all the rest as default. Save.
All these changes can also be done at the clover menu during boot.
Note that I am not claiming this is the best configuration for a running machine. It is the simplest that allowed me to finished the installation and reboot successfully.
I think it is possible to handle the efi Clover drivers installation using Clover Configurator, but I have never done that.
 
Kexts:
  • FakeSMC.kext. I used the one from Rehabman, but I think the official one will work as well.
  • VoodooTSCSync.kext. This is mandatory, otherwise the system does not boot properly. It needs to be configured as follows: open VoodooTSCSync.kext/Contents/Info.plist and change the line under
    <key>IOCPUNumber</key>
    to:
    <integer>15</integer>
    This is the number of threads of your CPU minus 1.
Place both kexts in EFI/CLOVER/kexts/Other.
 
 
Video:
 
I used the MSI GT 710 for installation and all post-installation steps. The 1070 only works with NVIDIA's Web drivers. Don't use it during installation. Check the post-installation post below to make it work.
 
 
And this is it. Installation should work without a problem. Remember to use always the USB during the several installation reboots.
 
I did not activate iCloud and my Apple account during installation. I wanted to generate a real fake machine UUID and serial number, so that I can use all the Apple services. This was done after installation, while booting from disk.
 
What needs to be done during post-installation:
  • Fix USB3.
  • Fix audio.
  • CPU ID recognition, although this might be fixed by Apple on a new iteration of the OS.
  • Confirm that the CPU is working properly with all cores and different power states.
  • Install NVIDI's Web Drivers for the Asus GTX 1070.

Share this post


Link to post
Share on other sites
Advertisement

Post installation steps:
 
 
Clover
 
Update Clover regularly.
 
The installation was done with Clover 4200, and most post-installation steps were done with 4220. I found out that 4220 does not need the Test2-2016.efi  driver to fix Clover's memory allocation problems at boot. So at the moment I am using stock Clover (with the apfs.efi driver).
 
Note that Clover does not install in the ESP of a NVME disk. Instead, it install in the macOS partition. I have to mount the ESP partition and move the EFI folder to it. This happens with 4220 too.
 
Since I have also a SSD disk and Clover installs there without any issues, I keep disks ESP in sync, so I can boot from any disk. Sometimes this gets Windows a bit confused.
 
 
Ethernet:
 
Use the fork of Mieze's Intel Mausi Network Driver by RehabMan. I placed the kext in Clover, and it works fine.
 
 
Audio:
 
I am using VoodooHDA. I wanted to try Toleda's Audio CloverALC, but I couldn't make it work. VoodooHDA has a few problems (it disables Apple's kext and needs a bit of tune up after each reboot), but at least it works ok. If I can make Toleda's audio work, I'll report it here.
 
Get VoodooHDA from here. Also get the PreferencePane, so that you can tweak the settings. Install both the kext and the pane and reboot. 
 
After reboot, HDMI should work ok. I got several HDMI outputs, bot only one really works. Sound level can't be setup by macOS, it has to be changed in the monitor.
 
The audio from the jacks is very noisy. To fix this, you have to go to the VoodooHDA preference pane and tweak it:
 
1. Select the correct PCI path: the shortest (see screenshot).
2. Now different outputs are available. Select the one you want to change.
3. Move the "Input Gain" slider. I simply move it all the way to the left.
4. Select the PCI path again.
 
This should remove the noise. It works on my headphones.
 
Besides this issue, VoodooHDA gives a loud crack when it loads, so it is recommended to boot with speakers off or not wearing headphones. Note that there is no issue with HDMI out, besides not being able to control the volume level with the OS, only with the monitor.
 
I used VoodooHDA in my two previous hacks (a laptop and a desktop from 2012) and both had similar issues: sound cracks at boot and needing to fiddle with the Voodoo Prefpane at each reboot. There is a Voodoo app that should save/load the prefpane settings at boot, but I never understood how it works. I used it for a while without it doing anything, and then one day it worked and the Voodoo settings were loaded properly at boot. At the moment it hasn't work for me on this system...
 
 
Power management
 
Get Intel Power Gadget to be able to check the power and frequency of your CPU. See how it behaves at idle. Ideally it would idle at 1.2GHz using 10W. Probably if you are using my default config, it is oscillating a bit above this value. I got an average of 15W and lots of frequency oscillations.  
 
The trick here is to create a custom SSDT using ssdtprgen and to enable XCPM in Clover.
 
Download ssprgen from here. Then run it from the terminal with "-x 1" to enable XPCM. Here's my output:
 
 



[size=4][font=verdana,geneva,sans-serif]Paulos-iMac:X299 pabreu$ ./ssdtPRGen.sh -x 1
 
ssdtPRGen.sh v0.9 Copyright (c) 2011-2012 by † RevoGirl
  v6.6 Copyright (c) 2013 by † Jeroen
  v21.5 Copyright (c) 2013-2017 by Pike R. Alpha
-----------------------------------------------------------
Bugs > https://github.com/Piker-Alpha/ssdtPRGen.sh/issues <
 
System information: Mac OS X 10.13 (17A365)
Brandstring: "Intel(R) Core(TM) i7-7820X CPU @ 3.60GHz"
 
Override value: (-x) XCPM mode, now set to: 1!
 
Version: models.cfg v171 / Skylake.cfg v195
 
Generating ssdt.dsl for a 'iMac18,3' with board-id [Mac-BE088AF8C5EB4FA2]
Skylake Core i7-7820X processor [0x50654] setup [0x0705]
With a maximum TDP of 140 Watt, as specified by Intel
Number logical CPU's: 16 (Core Frequency: 3600 MHz)
Number of Turbo States: 7 (3700-4300 MHz)
Number of P-States: 36 (800-4300 MHz)
Injected C-States for CP00 (C1,C3,C6,C7,C8,C9,C10)
Injected C-States for CP01 (C1,C2,C3,C6,C7)
Warning: Model identifier (iMac18,3) not found in..: /S*/L*/CoreServices/PlatformSupport.plist
 
Warning: 'cpu-type' may be set improperly (0x0705 instead of 0x0905)
- Clover users should read https://clover-wiki.zetam.org/Configuration/CPU#cpu_type
Error: board-id [Mac-BE088AF8C5EB4FA2] not supported by Skylake – check SMBIOS data / use the -target option
 
Do you want to continue (y/n)? y
Warning: 'system-type' may be set improperly (1 instead of 2)
- Clover users should read https://clover-wiki.zetam.org/Configuration/ACPI#acpi_smartups
Compiling: ssdt_pr.dsl
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20140926-64 [Nov 6 2014]
Copyright (c) 2000 - 2014 Intel Corporation
 
ASL Input: /Users/pabreu/Library/ssdtPRGen/ssdt.dsl - 469 lines, 14213 bytes, 121 keywords
AML Output: /Users/pabreu/Library/ssdtPRGen/ssdt.aml - 3470 bytes, 52 named objects, 69 executable opcodes
 
Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
Do you want to open ssdt.dsl (y/n)? n
[/font][/size]

 
 
 
Copy the ssdt.aml file to your Clover installation, to EFI/CLOVER/ACPI/patched.
 
Reboot.
 
You should now have the ideal power management.
 
 
System stability
 
After installation my system was very unstable. It would randomly reboot without any warning. Sometimes it would reboot at login, other times during normal usage. First I was convinced it was Google Chrome, but then it also occurred with Safari. Then I thought it had something to do with 3D acceleration, because it would reboot when I ran a 3D program in OpenGL I am working on. But I ran Unigine's Valley and Heaven without trouble.
 
Finally I got a suggestion that the default core voltage in BIOS might not be adequate, and that solved the issue. I set the core voltage to 1.12V with no overclocking and to 1.21V with some mild overclocking, and the system is solid. I am able to run Prime95 for 8 hours with no crashes.
 
Before adjusting any voltage, I advise you to do some stability tests. Perhaps my problems are related with bad luck in the silicon lottery, and not some specific fault of the motherboard.
 
Download Prime95 and Geekbench 4, both for Windows and for macOS, and run them both with standard BIOS settings. In my case, Prime95 crashed the system in macOS but ran fine in Windows 10, and Geekbench 4 was the opposite: it ran fine under macOS but crashed under Windows 10. If you find that both programs run fine, perhaps there is no need to set the voltage.
 
To run these tests, keep Intel Power Gadget running in the background, so you can check the CPU's power consumption,  temperature, and frequency.
 
In Prime95, go to the Options menu and choose "Torture Test". Press OK and let it run for some time. The test goes over some different configurations over a period of several minutes. If after say 15min you have no crashes, then you can stop the test (in the Test menu) and try Geekbench. Geekbench CPU test only lasts a few minutes. If you system passes both tests (10-15 min of Prime95 and the CPU test in Geekbench), then you might consider a full torture test of Prime95. In my case it lasted for about 8 hours (I let it run during the night).
 
If your system crashes during one of these tests, then consider booting into the UEFI and changing the Core Voltage (under the OC menu). Set it at 1.2, reboot and redo the tests again. Keep lowering the voltage until they fail, and use the last known good voltage to do the full Prime95 torture test.
 
I was able even to do a very minimal overclocking to 4.4GHz with core voltage at 1.21V. The system is fine.
 
 
 
USB 3.0:
 
To be done. Note that USB 2.0 and 3.1 work without any post-installation work. But USB 3.0 (XHCI) need a few steps. I need to rename the XHCI entries in ACPI, then run USBInjectAll, etc, but I just haven't done it yet...
 
 
NVIDIA Web drivers:
 
You should start by installing NVWebDriverLibValFix.kext. This kext is necessary if you have any extra kext installed in /S/L/E. Then macOS will detect this folder as tainted and will not load the NVIDIA drivers from there. The result is boot stuck at "at gIOScreenLockstate 3 I". You can log in remotely, but you have no graphics. Simply place this kext in Clover, reboot, and you can start the NVIDIA drivers installation.
 
I used the MSI GT 710, which is supported my macOS, to download latest NVIDIA Web Drivers. Then:

  • Install the Web drivers. Reboot without making them the default.
  • Edit config.plist and activate the NVIDIA Web drivers.
  • Use the NVIDIA Preference Pane to use the NVIDIA drivers.
  • Reboot.

You should now be using the Web drivers instead of the built in. In that case, you can now install the NVIDIA card (in my case, the GTX 1070).
 
Each time you update the macOS, the Web drivers stop working and you need to download the adequate ones from NVIDIA again. Only update your system when the NVIDIA drivers for the new system are available.

Share this post


Link to post
Share on other sites

Update to 10.13.1:

 

Update was straightforward. I used Clover 4289 However, there are a few pitfalls that are worth remembering.

 

1. Make sure your Clover inject kexts are in

kexts/Other

and not in

kexts/10.13

otherwise the 2nd phase of the installation (after reboot) hangs.

 

2. If you reboot into your previous system by mistake, and then try to boot into the 2nd phase of the installation, you'll get an error about some BaseSystem.dmg not found. Simply reboot into the previous system and start the upgrade again.

 

 

Updating the NVIDIA drivers

 

The most straightforward way is to use a supported card for the macOS upgrade (like the GT 710). Install the card, do the macOS upgrade, upgrade the NVIDIA Web Drivers, and replace the cheap card with a more recent one.

 

However, I found a way to use the unsupported card (the GTX 1070):

 

1. In the old macOS system, make sure you have Remote Login enabled in System Preferences -> Sharing. And make sure you can login remotely with another computer using SSH.

 

2. Download the NVIDIA Web Drivers for the system you are going to upgrade to. Check here to see what you need:

http://www.macvidcards.com/drivers.html

 

3. Do the macOS upgrade. On the 2nd phase, after reboot, you will be in VGA mode.

 

4. After the second reboot, make sure you select to disable the NVIDIA drivers in Clover. Press the space bar at the Clover menu and select the option.

 

5. The system will boot into a black screen. If you have verbose mode on, you'll see a repeating message on the screen. Don't worry, the system is up, only the graphics can't be initialised.

 

6. Login remotely to your system.

 

7. Go to the place where the WebDriver is and install it with the command:

sudo installer -pkg WebDriver-378.10.10.10.20.107.pkg -target /

8. Reboot with

sudo shutdown -r now

You should now have the new WEBDriver working.

 

I also tried doing this under single user mode (booting with -s). It would avoid the complication of remote login. However the installer command failed because it could not understand the "/" as root.

Share this post


Link to post
Share on other sites

So you didn't do something special to enable sleep mode? No use of custom dsdt?

No custom dsdt, But I enable XCPM in Clover and I use the SSDT created with ssprgen. Sleep/wake work fine, but Power Nap does not work: the system restarts when it tries to wake up by itself. So it is disabled in System Preferences -> Energy Saver.

Share this post


Link to post
Share on other sites

OsxAptioFixDrv: starting overrides for \.IABootFiles\boot.efi

 

Using reloc block: yes, hibernate wake: no

 

+++++++++++++++++++++++++++++++++++++++++++

 

 

Do you have any idea what i did wrong? I tested wirh the test-2016 and others but i keep getting this problem. 

 

Hi:

 

Between ++++ and the macOS kernel boot is where most of the Clover magic happens. So I suspect something is not right with your Clover configuration.

 

Since you are already in +++, this is not a OsxAptioFix issue, which happens before. Also note that since yesterday I am able to boot with OsxAptioFixDrv from the latest Clover (4369), no need for Test2.efi and its variations. (I am waiting for 10.13.3 to update this guide with iMacPro1,1 SMBIOS, I'll put this update there too.)

 

Some things that come to mind:

 

Do you have VoodooTSCSync.kext correctly configured? 

 

Do you have a good FakeSMC from Rehabman?

 

Do you have the latest Clover (now is 4369)?

 

Did you disable all stuff except Windows 7 in the ACPI/DSDT fix mask in Clover?

 

Also, if you boot Clover in verbose mode, it might help: when you boot Clover, go to Options/System Parameters and select Debug.  There, I have everything off except AppleIntelCPUPM Patch. There is a 10 sec pause at the end, you might want to make a pic of the screen then to show us here.

 

Good luck.

Share this post


Link to post
Share on other sites

Thanks for your quick reply!

First of all... are there different High Sierra version numbers? I have downloaded one version using my Macbook Pro. Is it possible i have a newer version than requested?

I also have a GTX 1080i but for the installation i am using the GT 710 2GB from MSI. This should work without a problem? Can i install the GTX 1080 ti after installation?

 

I will awnser the questions here:
 

  • Do you have VoodooTSCSync.kext correctly configured? 
    I think i did. I updated the info.plist with IOCPUNumber set to 15
     
  • Do you have a good FakeSMC from Rehabman?
    I used the download link you told me so i guess it is the same (or the download has been updated?)
     
  • Do you have the latest Clover (now is 4369)
    I will check this later (i'm not at my mac now) but i thought i downloaded the latest version
     
  • Did you disable all stuff except Windows 7 in the ACPI/DSDT fix mask in Clover?
    This part is really new for me. I unchecked all checkboxes. This is what i need to do? Uncheck everything? I guess the Windows 7 option is in the DSDT? I need to disable everything there except the Windows 7 option?. I didn't think i saw a windows 7 option. My clover screen looks similar to this (again, i can't post a screenshot since i don't have my Mac with me now)
    01.png

 

 

Thank you for your help! I really appreciate it!

Share this post


Link to post
Share on other sites

Also You might want to try a previous version of clover or at least it’s AptioFix. They are working on it at the moment and I’m not sure if the changes have been released yet. Maybe the new version doesn’t fit you.

 

Concerning your screenshot: try to UNCHECK most fixes. In your Screenshot almost all are checked :)

 

You can keep your gtx 1080 ti during installation. At least this worked for me. After installing the drivers check clover configurator for NVIDIA web drivers.

Share this post


Link to post
Share on other sites

Like @UcaUca said, you have most everything checked. I meant uncheck, disable. The windows 7 thing is in the Clover boot menu, when you go to options. Apparently it is not in Clover Config, so don't worry about that.

 

About the AptioFix thing: If you see the +++, you are already past that problem. So I suggest you keep what you have now, since it is working for you. However, it is true that updating Clover might change the way AptioFix works (it sure changes a lot with me). 

 

About the Clover version: you don't need to have the latest version. If you used the one I linked, it should be fine.

 

About the macOS versions: Apple updates the installer image when it releases a new macOS update. The installer available now is for 10.13.2, while I did the installation with 10.13.0 (or 1, I don't remember anymore). I do keep a 50GB partition available just for testing installations, but I haven't done that in a while, I want to do it again for 10.13.3 and iMacPro1,1. At the moment people are testing that SMBIOS and it looks promising.

 

And about the card: I installed using the GT710, and it went smoothly. @UcaUca says he was able to install using 1080, but I was not able to do that with my 1070. Perhaps I missed some Clover option. In addition, I got no GUI while doing the update, as I reported in a post above. Since you already have the GT710 in place, I suggest you keep it there until you get over the +++ issue. After installation, do a macOS update and then install the Web Drivers adequate for the macOS. And then change the card. And remember to never update the OS without being sure that there are the new webdrivers available from Nvidia. Otherwise you have to use the GT710 again, or use some Terminal magic to make things work again ;-)

 

Good luck and keep us posted. I have been enjoying the system immensely. It is fast powerful and stable. My performance values are even better in macOS than Windows ;-)

Share this post


Link to post
Share on other sites

Thanks for both your replies! The clover screenshot was from  internet, not mine but just as an example. I will try tonight when i am home again. I can imagine this works pretty good.. The hardware must be capable of doing great things.

 

I will definately keep you updated!

 

Thanks again

Share this post


Link to post
Share on other sites

u can use a native audio, in x299 device is CAVS

use it in config.plist

CAVS to HDEF

43415653 

48444546 

+ AppleAlc + Lilu and inject id with Clover

Share this post


Link to post
Share on other sites

u can use a native audio, in x299 device is CAVS

use it in config.plist

CAVS to HDEF

43415653 

48444546 

+ AppleAlc + Lilu and inject id with Clover

Thanks for the tip. This has been bothering me, the VoodooHDA isn't really satisfying, too many bugs to work around. 

 

I spent several hours this evening, but I was not able to make this work.

 

First implemented the DSDT patch replace CAVS with HDEF. MacIASL showed that there was no CAVS, only HDEF. So it seems this is good.

 

Then I installed Lilu and AppleALC, tried several IDs in Clover (1, 5, 7, 11) and no result.

 

I then installed the debug version, but the output messages aren't really useful.

 

So I gave up and went back to VoodooHDA...

Share this post


Link to post
Share on other sites
I now get the following error:

IMG_8495.png

 

 

I think i will try to create a completely new usb stick because i might have messed up some things.

I'm not sure why i get the errors.

 

 

I first tried with the GTX 1080 ti and i also got a "Does printf work?" message.

 

After seeing these ++++ for a second or 2 my pc just restarts. Nothing happens anymore.

I will try to reinstall my usb stick and then try again, or is this a normal error message which i can fix?

 

BTW: I'm using Clover 4369

Share this post


Link to post
Share on other sites

use only OsxAptioFix2Drv-64.efi from Clover 4369 and calculate ur slide, u can test with slide=128

Share this post


Link to post
Share on other sites

use only OsxAptioFix2Drv-64.efi from Clover 4369 and calculate ur slide, u can test with slide=128

 

I tried this. I got the same error. How can i calculate my slide? 

 

BTW, i'm using a SIGMA 64gb USB stick... can this be a problem?

Share this post


Link to post
Share on other sites

wow, i tried to understand it but i can't figure out how that works. I tried memmap. I get a lot of values (available or other values) but i have no idea how to calculate the slide from that (even with reading the forum).

It is also to much for my screen so half of it goes away. I have no idea how to save the results

But thanks again for your help.

Share this post


Link to post
Share on other sites

Hi:

 

This is my experience with OsxAptioFix:

 

* I don't use slide, just npci=0x3000

 

* Before Clover 4369, the best combination was OsxAptioFixDrv.efi + Test2.efi. This allowed me to boot without any problems all the time.

 

* With Clover 4369, I can boot all the time just with OsxAptioFixDrv.efi, no need for Test2.efi.

 

* Notice that OsxAptioFix2Drv.efi also works, but only when booting from a full off machine. When I "warm" restart, I get the "printf works" message.

 

So my suggestion is to try just OsxAptioFixDrv.efi. If that doesn't work, go for OsxAptioFixDrv.efi + Test2.efi. And remember to fully shutdown the machine before booting, to increase the chances of success.

 

Hey, thanks for the link, that looks like something to try.

 

@bbuster, that's some calculations in hexadecimal (perhaps that's why it seems strange to you). The macOS calculator has a mode that works in hex, if you want to give it a try. Just leave the trailing "0x" out. I'm going to try doing that, but I suspect that each machine is different, because it depends on the hardware you have connected to the MB. So my result might not ne useful to you.

 

To save the memmap output, you can direct it to a file in the ESP with:

memmap > fs0:\m.txt

(I can't check now that fs0 is the ESP, but I think it is).

You'll find the file m.txt in the ESP with the output of the memmap command.

(The ESP is the partition where you boot Clover from = EFI System Partition)

Share this post


Link to post
Share on other sites

@bbuster:

 

If you still can't pass the OsxAptio issue, I just did the calculations of slide using my memmap. I haven't tested the result yet (can't access the UEFI of the machine during work hours) but here are my calculations:

 

My memmap:

Type       Start            End              # Pages          Attributes
BS_Code    0000000000000000-0000000000007FFF 0000000000000008 000000000000000F
Available  0000000000008000-000000000005EFFF 0000000000000057 000000000000000F
BS_Data    000000000005F000-000000000005FFFF 0000000000000001 000000000000000F
BS_Code    0000000000060000-000000000009FFFF 0000000000000040 000000000000000F
Available  0000000000100000-000000000FFFFFFF 000000000000FF00 000000000000000F
BS_Code    0000000010000000-000000001000AFFF 000000000000000B 000000000000000F
Available  000000001000B000-0000000015068FFF 000000000000505E 000000000000000F
LoaderCode 0000000015069000-0000000015201FFF 0000000000000199 000000000000000F
LoaderData 0000000015202000-0000000015202FFF 0000000000000001 000000000000000F
BS_Data    0000000015203000-0000000023190FFF 000000000000DF8E 000000000000000F
Available  0000000023191000-0000000023E9EFFF 0000000000000D0E 000000000000000F
BS_Code    0000000023E9F000-0000000024990FFF 0000000000000AF2 000000000000000F
Reserved   0000000024991000-0000000026190FFF 0000000000001800 000000000000000F
Available  0000000026191000-0000000027FCEFFF 0000000000001E3E 000000000000000F
ACPI_NVS   0000000027FCF000-0000000028DD0FFF 0000000000000E02 000000000000000F
RT_Data    0000000028DD1000-000000002A7D0FFF 0000000000001A00 800000000000000F
RT_Code    000000002A7D1000-000000002A900FFF 0000000000000130 800000000000000F
BS_Data    000000002A901000-000000002AA01FFF 0000000000000101 000000000000000F
Available  000000002AA02000-000000003A427FFF 000000000000FA26 000000000000000F
BS_Data    000000003A428000-000000003A8FDFFF 00000000000004D6 000000000000000F
Available  000000003A8FE000-000000004FFFFFFF 0000000000015702 000000000000000F
Available  0000000100000000-000000089FFFFFFF 00000000007A0000 000000000000000F
Reserved   00000000000A0000-00000000000FFFFF 0000000000000060 0000000000000000
Reserved   0000000050000000-000000005FFFFFFF 0000000000010000 0000000000000000
MMIO       0000000060000000-000000006FFFFFFF 0000000000010000 8000000000000001
MMIO       00000000FE000000-00000000FE010FFF 0000000000000011 8000000000000001
MMIO       00000000FEC00000-00000000FEC00FFF 0000000000000001 8000000000000001
MMIO       00000000FED00000-00000000FED00FFF 0000000000000001 8000000000000001
MMIO       00000000FEE00000-00000000FEE00FFF 0000000000000001 800000000000100D
MMIO       00000000FF000000-00000000FFFFFFFF 0000000000001000 800000000000100D
 
  Reserved  :         71,776 Pages (293,994,496 Bytes)
  LoaderCode:            409 Pages (1,675,264 Bytes)
  LoaderData:              1 Pages (4,096 Bytes)
  BS_Code   :          2,885 Pages (11,816,960 Bytes)
  BS_Data   :         58,726 Pages (240,541,696 Bytes)
  RT_Code   :            304 Pages (1,245,184 Bytes)
  RT_Data   :          6,656 Pages (27,262,976 Bytes)
  ACPI_Recl :              0 Pages (0 Bytes)
  ACPI_NVS  :          3,586 Pages (14,688,256 Bytes)
  MMIO      :         69,652 Pages (285,294,592 Bytes)
  MMIO_Port :              0 Pages (0 Bytes)
  PalCode   :              0 Pages (0 Bytes)
  Available :      8,244,265 Pages (33,768,509,440 Bytes)
  Persistent:              0 Pages (0 Bytes)
              -------------- 
Total Memory:         32,487 MB (34,065,743,872 Bytes)

To select the largest free area, look for a row that starts with "Available" and that has the largest hex number in the 4th column (# pages). In my case, the value is
0x 7A 0000,
starting at
0x 1 0000 0000
(I'm grouping the digits in groups of 4 to make numbers easier to understand; I'm also adding 0x to make clear they are hex numbers).

 

Now the calculation of the slide value goes like this: subtract 0x 10 0000 to the start and divide the result by 0x 20 0000. I get 0x 7FF.

 

This is not an exact division. In fact, my hex calculator shows an hex float, like this: 0x 7FF.8. So I'm guessing that 0x 7FF is too short and 0x 800 is the right value. Let's check:

 

( 0x 7FF * 0x 20 0000 ) + 0x 10 0000 = 0x FFF0 0000 

which indeed is smaller than the original 0x 1 0000 0000

 

( 0x 800 * 0x 20 0000 ) + 0x 10 0000 = 0x 1  0010 0000

which is above 0x1 0000 0000

 

So 0x 800 is my slide value. Converted to decimal is 2048.

 

I'll try it this evening and see how this goes. I'll just use OsxAptioFix2Drv during a reboot, this usually gives me a printf error.

 

No luck. Trying slide=2048 or slide=0x800 with OsxAptioFix2Drv gives exactly the same result: Does printf work?? 
 
So I'm leaving this for now, since  OsxAptioFixDrv works fine, without any need for slider.

Share this post


Link to post
Share on other sites

Thnx. I have absolutely no idea what i do wrong, but i use the OsxAptioFixDrv-64.efi and i don't get a printf error. I see the many + characters but after that it just reboots.

 

I tried slide=0 but that didn't help either. Why doesn't this work? I'm using the exact same hardware as you do...

 

 

 

 

edit:

owhno!!! can i be so stupid???

During all my tries i resetted my bios... 1 thing i could forget to do was to lock CFG... guess what i forgot...

It goes on now... let's see if it works

 

Thanks for all the help so far!

Share this post


Link to post
Share on other sites

Hmm... i have another problem.

I tried to format my partition to install Mac OS on. It is a Samsung 960 evo. I formatted it as MacOS Journaled but it can't install on this drive. The error message is:

 

Guid partition table partitioning scheme is required

 

What can i do about this?

 

 

// Edit:

 

I did it, using my windows setup disc i formatted the ssd to gpt. Now it works.

The only stupid thing is that i erased my windows boot partition trying to format it using the Mac Installer... apperently i selected the wrong disk or partition, but yeah... it is installing!  :thumbsup_anim:  

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By crazybirdy
      Patched OSInstaller.framework to allow macOS 10.13 installation on MBR partition.
       
      To use those patched files you must follow HowTo to create an USB installer. You can't just run the app downloaded from Mac App Store.
      The patch is made base on 落下爱@pcbeta 10.10.x MBR patch method, and more patch for 10.13 Firmware check by crazybirdy.
       
      What is this patched OSInstaller doing?
      1. Patch the MBR check, allow macOS 10.13 installation on MBR partition.
      2. Patch the Firmware check, bypass the error of "An error occurred while verifying firmware".
      3. This patched MBR OSInstaller method works with both MBR and GPT partition (GPT+recovery).
      No longer need to set new SMbiosversion, FirmwareFeatures, and FirmwareFeaturesMask with this MBR-patch.
       
      What's the difference between createinstallmedia method, MBR-Manual-Method, and MBR-Automatic-Method?
      As the following....
      1. createinstallmedia method,
          needs stage 1, stage 2 installation process, which is worked with GUID partition only.
      2. MBR-Manual-Method (same as 10.12),
          install via stage 2 manually, which is worked with both MBR and GUID, HFS+ and APFS.
          We can manually format as MBR or GPT, HFS+ or APFS on installation screen like as 10.12.
          We can manually select MBR HFS+ partition to install 10.13 and 10.14 on installation screen now.
          Needn't to update the MBR-Manual-Method files, it will still work on 10.13, and 10.14 future versions, I think so.
          It can be installed as Fresh installation on formated blank partition only, but can't be installed as update from previous version.
      3. MBR-Automatic-Method (new for 10.13+),
          install via stage 2 automatically, which is worked with both MBR and GUID, HFS+ and APFS.
          It can be installed as Fresh installation on formated blank partition, and can be installed as update from previous version.

      How to make 10.13 installer for MBR (MBR-Manual-Method)?
      Just use MBR-EasyInstallerMaker to make installer, it works with both MBR and GPT.
      Read HowTo inside the dmg first, same as 10.12.
      Read HowTo Q/A Q6. How to download the full installer app via swscan.apple.com, instead of App Store?
      Read HowTo Q/A Q7. How to update 10.13.x combo-update to MBR and GPT with installScript directly?

      How to make 10.13 installer for MBR (MBR-Automatic-Method)?
      Just use 13MBRinstallerMaker to make installer, it works with both MBR and GPT.
      Read HowTo inside the dmg first, new for 10.13+.
      Read HowTo Q/A Q9. How to update 10.13.x combo-update to MBR and GPT with installScript directly?
       
      And, need a SMBIOS supported with /System/Library/CoreServices/PlatformSupport.plist.
       

       

       
    • By KGP-iMacPro
      Up and running macOS Mojave 10.14.4  (18E226) on iMac Pro Skylake-X/X299 Hackintosh!
       

       
       

       
       
       
      Abstract and Introduction: 

      This originating post constitutes a new macOS 10.14 Mojave Desktop Guide for Skylake-X/X299, which certainly will further grow not only thanks to your estimated feedback and contributions. It is the logical continuation of my successful iMac Pro Skylake-X/X299 Build and Desktop Guide published for macOS High Sierra 10.13. To avoid jumping back and forth, I will make this guide as consistent as the former, which however implies also some redundancy.    
       
      As everybody already might now, my Skylake-X/X299 Desktop Guide bases on the ASUS Prime X299 Deluxe. However, also other X299 ASUS mainboard models or X299 mainboards of other brands might be compatible after likely considering and implementing few mandatory modifications. The same states for guide compatibility with all Skylake-X/299 CPUs different form the i9-7980XE employed here. I recently changed from the ASUS Prime X299 Deluxe to the ASUS WS X299 Sage 10G. While the default EFI-Folder distribution remains the same, very few differences in the post installation process for the ASUS WS X299 Sage 10G will be added to my guidelines during the next days.
       
      Before starting with all detailed instructions, please find a Table of Content that provides an overview of the individual topics addressed within this guide:   ---------------------------------------------------------------------------------------------------------------------------------------------------------------   Table of Contents   A.) Hardware Overview Details about the build configuration that states the baseline of this guide.   B.) Mainboard BIOS B1.) ASUS BIOS Firmware Patching B2.) ASUS BIOS Configuration B3.) Gigabyte BIOS Configuration   C.) Important General Note/Advice and Error Prevention Hardware and System Configuration recommendations. Make sure you've read all of this before complaining that something does not work.   D.) iMac Pro macOS 10.14 Mojave System Setup This chapter includes a general guideline how to perform the initial setup of your iMac Pro with macOS Mojave 10.14. D.1) iMac Pro EFI-Folder Preparation D.2) iMac Pro macOS Mojave 10.14 Installer Package Creation D.3) iMac Pro macOS Mojave 10.14 USB Flash Drive Installer Creation D.4) iMac Pro macOS Mojave 10.14 Clean Install on Skylake-X/X299 D.5) Direct iMac Pro conversions of a functional Skylake-X/X299 system with a SMBIOS System Definition different from iMacPro1,1 and a standard macOS build implementation D.6) iMac Pro macOS 10.14 Mojave Update Procedure   E.) Post Installation Process E.1) HWP (Intel SpeedShift Technology) CPU Power Management Configuration E.2) Graphics Configuration General ATI and Nvidia GPU advices including a detailed guideline for Nvidia Web Driver Installation and Black Screen Prevention E.3) Audio Configuration Use only one of the following, where E.3.1 is recommended by the author. E.3.1.) AppleALC Audio Implementation E.3.2) VoodooHDA Audio Implementation E.3.3) cloverALC Audio Implementation E.4) USB Configuration including some initial benchmarks E.5) NVMe compatibility E.6.) SSD/NVMe TRIM Support E.7) GC-Titan Ridge / GC-Alpine Ridge /Asus TBEX 3 PCIe Add-In Implementation Extend the life of your SSD and maintained its normal speed E.8) Gbit and 10-Gbit Ethernet Implementations E.8.1) ASUS Prime X299 Deluxe on-board Gbit Ethernet Functionality E.8.2) 10-Gbit LAN Implementations E.8.2.1) ASUS XG-C100C Aquantia AQC107 10-Gbit NIC E.8.2.2) Intel X540-T1 10-Gbit NIC E.8.2.3) Onboard Intel X550-AT2 10-Gbit NICs of the ASUS WS X299 Sage 10G E.8.2.4) Small-Tree P2EI0G-2T 10-Gbit NIC E.8.2.5) NetGear ProSave XS508M 8-port 10-Gbit Switch E.8.2.6) QNAP TS-431X2 Quad-core 4-Bay NAS tower E.8.2.7) 10-GBit Ethernet Optimisation E.9) ASUS Prime X299 Deluxe PCI Device Implementation E.9.1) ACPI DSDT Replacement Implementation E.9.2) System SSDT PCI Device Implementation
      E.9.2.1) - HDEF - onboard PCI Audio Controller PCI Implementation
      E.9.2.2) - GFX0, HDAU - GPU and HDMI/DP Audio PCI implementation
      E.9.2.3) - PMCR - onboard Power Management Controller (PMC) PCI Implementation
      E.9.2.4) - USBX - fixing XHCI USB Power errors during Boot
      E.9.2.5) - XHCI - onboard Extended Host Controller Interface (XHCI) PCI Implementation
      E.9.2.6) - XHC2,3,4 - ASMedia ASM3142 USB 3.1 Controller PCI Implementation
      E.9.2.7) - ANS1, ANS2 - Apple NVMe Controller PCI Implementation
      E.9.2.8) - SAT1 - Intel AHCI SATA Controller PCI Implementation
      E.9.2.9) - THSS - Intel Thermal Subsystem Controller Implementation
      E.9.2.10) XGBE - 10GBit NIC Implementation
      E.9.2.11) - ETH0/ETH1 - onboard LAN Controller PCI Implementation
      E.9.2.12) - ARPT - OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 AirPort Controller PCI Implementation
      E.9.2.13) - GC-Titan Ridge / GC-Alpine Ridge / Asus TBEX 3 Thunderbolt HotPlug System Implementation
      E.9.2.14) - DTGP Method
      E.9.2.15) - Debugging Sleep Issues E.10) iMac Pro Boot Splash Screen Cosmetics E.11) iMac Pro Desktop Background cosmetics E.12) iStatMenus Hardware Monitoring   F.) Benchmarking F.1) Sylake-X Intel I9-7980XE CPU Benchmarking F.2) Gigabyte AORUS GTX 1080 Ti Waterforce EB 11GB Extreme Edition Benchmarking   G.) Summary and Conclusion  
      ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
      A.)  Hardware Overview
       
      Mainboard: ASUS WS X299 Sage 10G, former Asus Prime X299 Deluxe
      CPU: i9-7980XE (18 core, 4.4Ghz)
      RAM Memory: Corsair Dominator Platinum 128GB (8x16GB) DDR4 3200 MHz C16 Kit @3600MHz OC
      GPU: Sapphire Nitro+ Radeon RX Vega 64 8GB
      GPU Water-Blocking: Bykski Sapphire Nitro+ Radeon RX Vega 64 8GB water block from Aliexpress
      System Disks: EVO 970 PRO NVMe M.2 1TB (MacOS); EVO 960 NVMe M.2 1TB (Windows 10)
      Thunderbolt 3: GC-Titan Ridge 40GB/s Intel Thunderbolt 3 Certified Add-in PCIe Adaptor
      Power Supply: Corsair AX1500i
      Monitor: LG 34WK95U-W 34" 21:9 Ultra Wide 5K2K Nano IPS LED Monitor with HDR600 and DP1.4/TB3
      WebCam: Logitech C930e
      Mouse: Apple Magic Mouse 2
      Keyboard: Apple Magic Keyboard Wireless
      Bluetooth + Wifi: PC/HACKINTOSH - APPLE BROADCOM BCM94360CD - 802.11 A/B/G/N/AC + BLUETOOTH 4.0
      Internal USB2.0 HUB: NZXT AC-IUSBH-M1T (Prime X299 Deluxe)
      Case: Lian Li PC-D888WX 8Pack Limited Edition (WS X299 Sage 10G), fromer: Thermaltake Core X71 Tempered Glass Edition Full Tower Chassis (Prime X299 Deluxe)  
      10Gbit Ethernet components:   - 1x ASUS XG-C100C AQC107 PCIe x4 10GBit LAN Adapter (Prime X299 Deluxe)
      - 1x Intel X540-T1 single port 10GBit LAN PCIe Adapter (Prime X299 Deluxe, now installed in my X99 rig)
      - 1x Small-Tree P2EI0G-2T 2-Port 10GBit LAN PCIe Adapter (Prime X299 Deluxe)
      - 2x Intel X550-AT2 (onboard WS X299 Sage 10G)
      - 1x NetGear ProSave XS508M 8-port 10GBit switch
      - 1x QNAP TS-431X2 Quad-core 4-Bay NAS tower with Built-in 10GbE SFP+ Port and 4x 12 TB Seagate IronWolf in RAID 0 configuration.   Let me express once more my gratitude to @gxsolace at this place for providing me with 1x Intel X540-T1, 1x Small-tree P2EI0G-2T and 4x 12 TB Seagate IronWolf hardware.   CPU/GPU Cooling: Water Cooling main components:   - 1x EK-Velocity D-RGB - Nickel + Plexi (WS X299 Sage 10G); former: 1x EK-FB ASUS Prime X299 RGB Monoblock - Nickel (Prime X299 Deluxe)
      - 1x EK-CoolStream PE 360 (Triple, 39 mm, Roof - TT Core X71, Roof - right chamber - Lian Li)
      - 1x EK-CoolStream Ce 280 (Dual, 45mm, Front - TTCore X71); 2x Alphacool NexXxos XT 45 240mm (Dual, 45mm, back side - right chamber -Lian Li)
      - 2x EK-CoolStream XE 360 (Triple, 60 mm, Cellar - TT Core X71, top and front - left chamber - Lian Li)
      - 1x XSPC Twin D5 Dual Bay Reservoir/Pump Combo
      - 15x (TT Core X71), 18x (Lian Li) Thermaltake Riing 12 High Static Pressure LED Radiator Fan (120mm)
      - 5x Thermaltake Riing 14 High Static Pressure LED Radiator Fan (140mm, TT Core X71)
      - 3x Phantek PMW Fan Hub (up to 12 fans or 30W power consumption)
      - 1x Alphacool Eisflügel Flow Indicator Black G1/4 IG
      - 1x Phobya Temperatur Sensor G1/4 + C/F Display
       
      Most of the components purchased at Amazon.de, Caseking.de, Mindfactory.de, Alernate.de
       
       
      B.) Mainboard BIOS
        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 was usually read only for ages.  When the kernel tried to write to this locked register, it caused a kernel panic. This panic could happen very early in the boot process, with the result that the system freezes or reboots during the boot process. We could 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.   Thanks to recent modifications in CodeRush's Longsoft UEFIPatch distributions and thanks to three sophisticated MSR 0xE2 Register patches provided by @interferenc (partly former work of CodeRush, Pike Alpha and Adrian_dsl), we were able to successfully patch any ASUS X299 mainboard BIOS firmware distribution and unlock the MSR 0xE2 register. The patched ASUS mainboard BIOS firmware finally has been uploaded to the specific ASUS X299 mainboard by means of the ASUS EZ BIOS Flashback Procedure. This made the "xcpm_core_scope_msrs © Pike R. Alpha" KernelToPatch entry obsolete and allowed full native read/write MSR 0xE2 register access by the OSX kernel.   Since ASUS Prime X299 Deluxe BIOS firmware 1301, ASUS now allows upon my user request for the first time to manually unlock the MSR 0xE2 register within the most recent BIOS settings. This makes the ASUS BIOS firmware patching obsolete. MSI and ASRock X299 mainboards allowed  the manual unlock of the MSR 0xE2 BIOS Register right from the beginning and the MSR 0xE2 BIOS Register of all Gigabyte mainboards is anyway unlocked by factory default. However, yet we witness some TSC desynchronisation of the Skylake-X threads at boot and wake from S3. Until further microcode updates are performed by the mainboard manufacturers, we therefore have to use  the TSCAdjustRest.kext provided by @inteferenc (see error prevention C.4 of this guide) to circumvent this TSC desynchronisation issue.    By this we achieve fully native HWP (Intel SpeedShift Technology) CPU Power Management for all Skylake-X processors on all X299 mainboards with unlocked MSR 0xE2 BIOS Register, resulting in absolutely brilliant and top-end CPU performance (see Section E.1).   Before summarising all necessary ASUS and Gigabyte BIOS settings,  let me provide X299D.CAP, the best working ASUS Prime X299 Deluxe BIOS Firmware 1503 with an iMacPro Splash Screen Image (see Section E.10), which can be flashed by means of the well known ASUS EZ BIOS Flashback procedure. You should stay away from subsequent BIOS firmware versions 1603 and 1704, as they can either introduce XHCI related issues or prevent GPU firmware load at boot. Thus please, stay with 1503 as the best firmware implementation for the ASUS Prime X299 Deluxe! For the ASUS WS X299 Sage 10G, I also attach below BIOS Firmware version 0905 with the iMacPro Splash Screen Image, i.e WSXTG.CAP, also to be flashed with the ASUS EZ BIOS Flashback procedure.    B2.) ASUS BIOS Configuration   After Updating System time and System Date, enable X.M.P for your DDR4 modules. Don't forget to enable the EZ XMP Switch previously to this step on your ASUS Mainboard! Subsequently switch form the easy to the advanced ASUS BIOS Setup mode by pressing F7.   I use all optimized BIOS settings (OoB, no OC yet) despite a few changes listed in detail below:   1.) /AI Tweaker/ a.) ASUS MultiCore Enhancement: Auto  b.) AVX Instruction Core Ratio Negative Offset: "3"  c.) AVX-512 Instruction Core Ratio Negative Offset: "2"  d.) CPU Core Ratio: Sync All Cores e.) CPU SVID Support: Enabled  f.) DRAM Frequency: DDR4-3200MHz (in my particular case)   2.) /Advanced/CPU Configuration/ a.) Hyper Threading [ALL]: Enabled b.) MSR Lock Control: Disabled   3.) /Advanced/CPU Configuration/CPU Power Management Configuration/ a.) Enhanced Intel Speed Step Technology (EIST): Enabled b.) Autonomous Core C-States: Enabled c.) Enhanced Halt State (C1E): Enabled d.) CPU C6 report: Enabled e.) Package C-State: C6(non retention) state f.) Intel SpeedShift Technology: Enabled g.) MFC Mode Override: OS Native   4.) /Advanced/Platform Misc Configuration/   a.) PCI Express Native Power Management: Disabled b.) PCH DMI ASPM: Disabled d.) ASPM: Disabled e.) DMI Link ASPM Control: Disabled f.)  PEG - ASMP: Disabled   5.) /Advanced/System Agent Configuration/ a.) Intel VT for Directed I/O (VT-d): Disabled/Enabled   6.) /Boot/ a.) Fast Boot: Disabled b.) Above 4G Decoding: Off (must be ON with Prime X299 Deluxe BIOS firmware 1603 and 1704 in case of GPU firmware load issues at boot and also ON in case of XHCI ACPI implementation issues with BIOS Firmware 0905 for the WS X299 Sage 10G). c.) Set your specific Boot Option Priorities   7.) /Boot/Boot Configuration a.) Boot Logo Display: Auto  b.) Boot up NumLock State: Disabled c.) Setup Mode: Advanced   8.) /Boot/Compatibility Support Module/ a.) Launch CSM: Disabled   9.) /Boot/Secure Boot/ a.) OS Type: Other OS   With F7 and F10 you can save the modified BIOS settings.   Note the important additional comments to the above BIOS settings provided in Section B.2) of my iMac Pro Syklake-X/X299 macOS 10.13 High Sierra Build and Desktop Guide.    B.3) - Gigabyte BIOS Configuration   Please find below the BIOS settings for the Gigabyte Designare EX kindly provided by @jyavenard and @DSM2.   1.) /M.I.T/Advanced Frequency Settings/ a.) Extreme Memory Profile: (X.M.P): Profile1   2.) /M.I.T/Advanced Frequency Settings/Advanced CPU Core Settings   a.) Active Cores Control: Auto b.) Hyper-Threading Technology: Enabled c.) Intel Turbo Boost Max Technology 3.0 : Enabled d.)  Intel Speed Shift Technology : Enabled e.) Enhanced Multi-Core Performance: Enabled/Disabled  f.) CPU Enhanced Halt (C1E): Enabled g.) C6/C7 State Support: Enabled h.) Package C State limit: C6 i.) CPU EIST Function: Enabled j.)  Energy Efficient Turbo : Disabled   3.) /M.I.T/Advanced Memory Settings/ a.) Extreme Memory Profile (X.M.P): Profile1   4.) /BIOS/ a.) Boot Numlock State: Disabled/Enabled  b.) Security option: Setup c.) Full Screen Logo Show: Enabled d.) Fast Boot: Disabled e.) CSM Support: Disabled   5.) /BIOS/Secure Boot/ a.) Secure Boot Enable: Disabled   6.) /Peripherals/USB Configuration/ a.) XHCI Hand-off: Enabled   7.) /Peripheral/Thunderbolt Configuration/  a.) Security Level : SL0 - No Security   8.) /Chipset/ a.) VT-d: Disabled/Enabled   9.) /Save& Exit/ a.) Save & Exit  
      C.) Important General Note/Advice and Error Prevention
       
      Please note the following important General Note / Advice and Error Prevention, when implementing macOS Mojave on your Skylake-X/X299 System.
       
      1.) My actual respective X299 EFI-Folder distribution contains by default AptioMemoryFix.efi thanks to @vit9696. Note that already with Clover_v2.4k_r4392, AptioMemoryFix.efi has become an official Customization Option of Clover and can now be selected and therefore also just easily implemented in the frame of the Clover Boot Loader Installation.
       
      For native NVRAM implementation, Clover's RC Scripts have to be omitted during the clover boot loader installation. If already previously installed, remove Clover's RC Scripts from the /etc directory of your macOS USB Flash Drive Installer or System Disk:
      sudo rm -rf /etc/rc.boot.d sudo rm -rf /etc/rc.shutdown.d  
      Also the "slide" boot flag needs to be disabled.
       
      2.a.) Most ATI GPUs, e.g. RX Vega 64, RX Vega Frontier, RX 580, RX 560 are supposed to be "natively" implemented. It is commonly recommended not to use RX 560 and RX 580 GPUs due to the lacking iGPU implementation when using SMBIOS iMacPro1,1.

      By means of my Vega SSDT PCI device implementation outlined in Section 9.2.2, all available ports on the Gigabyte Vega 64 (3x HDMI, 3x DP), including multi-monitor support and display hot plug are automatically and successfully implemented. However, it seems that DP-port issues (black screen) remain, when employing the respective Vega SSDT PCI device implementation on Sapphire Nitro+ Vega 64 (2x HDMI, 2xDP) or ASUS Strix Vega 64 (2x HDMI, 2x DP, 1x DVI) GPUs, which only can be removed by adding Whatevergreen.kext v.1.2.2. Within such configuration, multi-monitor support and display hot plug can be fully achieved also in case of the latter custom Vegas (both 10.13.6 SU and 10.14.1). A fall-back to the formerly used Kamarang frame buffer SSDT implementation of @apfelnico does not provide any valuable solution for these kind of custom Vegas. Also note that Whatevergreen.kext only seems required for all Vegas possessing less than 6 physical ports (including the original Vegas like Frontier and Vega 64), else the current Vega SSDT PCI device implementation does pretty well it's job, including successful system sleep/wake..

      Important additional comment for all Vega users with 4K monitors though: when connecting a Vega with e.g. the LG 38UC99-W (WUHD, 3840 pix x 1600 pix) via one of the Display Ports (DPs), the screen resolution is fine under both Windows 10 and macOS High Sierra but is totally at odd during boot (VGA like boot screen resolution). The VEGA DP 4K boot screen resolution issue is neither related with the fact that the LG 38UC99-W is an ultra-wide (3840x1600) and not a true UHD (3840x2160) monitor nor related to any likely apparent issue with the ASUS Prime X299 Deluxe firmware. It is definitely a Vega firmware problem in combination with most 4K displays, as the DP 4K boot screen resolution issue is totally absent with my Nvidia GPU and the problem also does not only affect the ASUS Splash Screen but also spreads over the entire boot process until the login screen is reached (Windows and macOS). Splash Screen, Apple logo or verbose boot messages are not stretched but rather have VGA like resolution. Any fix of the AMD vBIOS would be highly appreciated. It is more than disappointing to witness such issues with 600-1000$ GPUs... Fortunately, the 4K boot screen issue is restricted to the Vega DP ports and likely due to the fact that the LG 38UC99-W only supports DP 1.2. Solution: Connect your Vega and your 4K display via the HDMI port. The 30 Hz HDMI monitor frequency issue under 10.13 is successfully removed under Mojave: monitor frequency of 60 Hz with the display connected via HDMI (in contrary to 75 Hz via DP).

      b.) Also Nvidia Kepler Graphics Cards are natively implemented.

      c.) All Users with Nvidia Maxwell and Pascal Graphics Cards Users still have to wait for the official release of 10.14 Web Drivers. I was actively requesting Web Driver development for macOS 10.14 Betas from Nvidia, which has been rejected. I really hope that Nvidia will not leave again the respective community without Web Driver support . In the meanwhile, Nvidia GPU users have to live with e.g. patched Web Driver xxx.40.105 for macOS High Sierra 10.13.6 after a simple patching procedure detailed in Section E.2), although the latter Web Driver is not really suited for 10.14 and just works with strong limitations.
       
      3.) The /EFI/Clover/drivers64UEFI/-directory of all former EFI-Distributions contained a patched version of the actual apfs.efi. The actual apfs.efi can be obtained by following the respective guideline detailed below:
       
      Right-click with your mouse on the "Install macOS High Sierra.app" and select "Show Package Contents" -> click with the mouse on "Contents" and subsequently on "Shared Support" -> double-click with the mouse on "BaseSystem.dmg" for mounting.   Go to "usr" -> "standalone" -> "i386". Drop the apfs.efi to your Desktop.   To patch the apfs.efi for non-verbose boot, follow THIS LINK. Credits to @PMheart and @ermac.   Note however, that the entire apsf.efi approach detailed above recently has become totally obsolete. Thanks to the ApfsSupportPkg developed by @acidenthera & Co. and thanks to it's recent implementation to Clover (thanks to @Slice, @Philip Petev & Co.) in form of ApsfDriverLoader.efi, there is no further need of the former apsf.efi in the /EFI/Clover/drivers64UEFI/ directory.       The actual Clover distribution package including the ApsfDriverLoader.efi can by build by means of the Build_Clover.command available on Gitub. Since Version 4.8.8, the latter script also can be used with 10.14 and Xcode 10 +Xcode 10 Command Line Tools thanks to @vector sigma.    4.) To avoid Skylake-X thread TSC desynchronisation errors during boot and wake from S3 with unpatched X299 mainboards, likely induced by yet erroneous Skylake-X BIOS microcode implementations, we need to use TSCAdjustReset.kext provided by @interferenc in the /EFI/CLOVER/kexts/Other/ directory of both USB Flash Drive and System Disk.    To access TSCAdjustRest.kext, download primarily its source distribution from Github with the following terminal command: git clone https://github.com/interferenc/TSCAdjustReset Subsequently copy the TSCAdjustRest source distribution to your Desktop using the following terminal command:
      mv /TSCAdjustReset ~/Desktop Now change in the terminal to the TSCAdjustReset source distribution on your Desktop with the following terminal command:
      cd ~/Desktop/TSCAdjustReset/ Now compile the source distribution with Xcode by using the following terminal command:
      xcodebuild After successful compilation, you will find the TSCAdjustRest.kext in ~/Desktop/TSCAdjustReset/build/Release/
        Please note that the TSCAdjustRest.kext by default is configured for a 8-core CPU (16 threads) like the i7-7820X. To adopt the kext for Skylake-X processers with more or less cores than 8 cores, apply the following approach:   a.) Right-click with the mouse on the TSCAdjustRest.kext file and select "Show Packet Contents".   b.) Double-click with the mouse on /contents/ . After a right-click on the "Info.plist" file, select "Open with /Other". Select the TextEdit.app and edit the "Info.plist" file.   c.) Use the "find"-function of TextEdit.app and search for the term "IOCPUNumber"   d.) Note that the adequate IOCPUNumber for your particular Skylake-X processor is the number of its threads -1, by always keeping in mind that the number of it's threads is always 2x the number of it's cores.   Thus in case of the 8 core i7-7820X, the IOCPUNumber is 15 (16 threads - 1).   <key>IOCPUNumber</key> <integer>15</integer>   By following this methodology, the correct IOCPUNumber for the 10-core i9-7900X would be 19 (20 threads -1)   <key>IOCPUNumber</key> <integer>19</integer>   and the IOCPUNumber for the 18-core i9-7980XE would result in 35 (36 threads -1).   <key>IOCPUNumber</key> <integer>35</integer>   e.) After adopting the IOCPUNumber for your particular Skylake-X processor, save the info.plist file and copy the modified TSCAdjustRest.kext to the /EFI/CLOVER/kexts/Other/ - directories of both USB Flash Drive Installer and System Disk and you are save and all done!  
      5.) Like under macOS 10.13 High Sierra also with macOS 10.14 Mojave, Apple forces all users to use the new Apple file system APFS in case of a Clean Install.     In case that you want to remain with the HFS+ file system, use @Brumbear's Unsolid.kext in the /EFI/Clover/kexts/Other/ directory.   Note that there is no way to convert an APFS disk back to HFS+ without the loss of all data, but one can easily reformat an APFS formatted disk to HFS+ under OSX by using either Apple's Disk Utility App or "diskutil" commands. All you need to do is to previously unmount the APFS volume before erasing it with a journaled HFS+ file system and a GRUB Partition Table (GTP). If you want to maintain the disk's content, perform a backup before erasing the disk with a HFS+ format.   The application of Apple's Disk utility is straight forward. The  "diskutil" equivalent is detailed below:   In the Terminal app, type: diskutil list In the output which you can read by scrolling back, you will find all internal disks named /dev/disk0, /dev/disk1, depending upon how many physical disks are present in your system.
        Make a note of the disk identifier for the disk you intend to format (you can eliminate risk by removing all disks but the intended target).   In the Terminal app, type: diskutil unmount /dev/diskX where diskX is a place holder for the disk to be unmounted.
        Now delete the APFS container of diskX: diskutil apfs deleteContainer /dev/diskX Subsequently, you can erase the entire disk with HFS+ and a GPT by typing the following terminal command:
      diskutil partitionDisk /dev/diskX 1 GPT jhfs+ "iMacPro" R where /dev/diskX is again a place holder for disk to be erased and iMacPro would be the label for the single partition created. The remaining 1 GPT jhfs+ and R arguments tell diskutil to create a single partition, within a GUID partition table, formatted as Journaled HFS+ and using the entire disk, respectively.
        Alternatively one can also use the following terminal command: diskutil partitionDisk /dev/diskX GPT JHFS+ iMacPro 0b where /dev/diskX is again a place holder for disk to be erased and iMacPro is again the label for the disk partition created. The GPT HFFS+ and 0b arguments again tell diskutil to create a single partition, within a GUID partition table, formatted as Journaled HFS+ and covering the entire disk, respectively.
        In the Terminal app, type now: diskutil mount /dev/diskX where diskX is again a place holder for the disk to be remounted.
        Note, that by means of the "diskutil approach", brand new unformatted or not compatibly formatted system NVMe, SSD and HDD system drives can be also directly formatted within the macOS Clean Install procedure. When presented with the initial install screen where you are presented options to Restore From Backup or Install, select Terminal from the Utilities menu bar item;   The "diskutil" terminal approach is also able to convert a HFS+ macOS 10.14 Mojave System Disk to APFS. To do so enter the following terminal command: diskutil apfs convert /dev/diskX where diskX is again a place holder for the HFS+ disk to be converted to APFS. The same procedure again can also be directly performed by means of Apple's Disk Utility.
        Important recommendation: If you opt for an APFS System Disk implementation, try to also implement all other disks of your system with APFS file format. On systems with APFS disks and non-APFS disks, the boot duration will increase, as apsf.efi will perform a fsck check of non-AFPS disks (like HFS+ or Fat32) during boot. However, dual boot APFS Systems with an NTFS Windows System Disk are not effected by the apsf.efi issue, as OSX does not know how to properly deal with NTFS.  
      6.) All ASUS Prime X299 Deluxe users, who enabled the second LAN controller in the ASUS Prime X299 Deluxe BIOS, are advised to download, unzip and copy the SmallTree-Intel-211-AT-PCIe-GBE.kext  to the EFI-Folders of both USB Flash Drive Installer and 10.14 System Disk, or to disable the second LAN port in the BIOS during the MacOS Installation. In case of the ASUS WS X299 Sage 10G, remove both IntelMausiEthernet.kext and SmallTree-Intel-211VA-PCIe-GBE.kext from your respective EFI-Folder.  
       
      7.) All Gigabite mainboard users need to add the "npci=0x2000" boot flag to their config.plist by checking the latter in Section "Boot" of Clover Configurator under "Arguments".
       
       
      D.) iMac Pro macOS 10.14 Mojave System Setup   Below, one finds a detailed description for the Installation/Update of/to macOS Mojave 10.14 . This also includes the EFI-Folder Preparation (D.1), the macOS Mojave 10.14 Installer Package creation (D.2), the macOS Mojave 10.14 USB Flash Drive Installer Creation (D.3) and the macOS Mojave 10.14 Clean Install. One also finds instructions for a direct iMac Pro conversion of a functional Skylake-X/X299 system with a SMBIOS System Definition different from iMacPro1,1 and standard macOS build implementation (D.5) of any former macOS distribution. D.6 finally provides details to the future iMac Pro macOS Mojave Update Procedure.     D.1) iMac Pro EFI-Folder Preparation    In order to successfully boot a macOS USB Flash Drive Installer or System Disk on a Hackintosh system, both drives must be equipped with an EFI-Folder in their EFI partitions. In this Section we will prepare a fully equipped EFI-Folder with SMBIOS iMacPro1,1 System definition.   1.) Download and unzip my actual respective X299 EFI-Folder distribution  and copy the therein contained EFI-Folder to your Desktop.   2.) Open the config.plist in /EFI/Clover/ with the latest version of Clover Configurator (>/= v.4.60.0), proceed to the "SMBIOS" Section and complete the SMBIOS iMacPro1,1 Serial Number, Board Serial Number and SMUUID entries. These details are mandatory to successfully run iMessage and FaceTime on your iMac Pro System. Note that all other iMacPro1,1 SMBIOS Details  are already implemented in the config.plist of my actual respective X299 EFI-Folder distribution.   Press several times the "Generate New" Button next to the serial number text field to generate a serial number and board serial number.

      With SMBIOS of an iMacPro1,1 it is not currently possible to verify the validity of the serial number on everymac.com.
      Therefore, verify the validity of your serial number on appleserialnumberinfo.com instead.   Open the https://checkcoverage.apple.com site, paste your Serial Number and confirm that the serial number is not in use yet.

      Finally press several times the "Generate New" button next to SmUUID.   Users of mainboards with locked MSR Register (disabled MSR OSX Kernel write access) have to enable the xcpm_core_scope_msrs © Pike R. Alpha Kernel patch in their config.plist under "KernelToPatch" in Section "Kernel and Kext Patches" of Clover Configurator and also check "KernelPM".   Enable "PluginType" in your config.plist under SSDT/Generate Options/ in Section ACPI of Clover Configurator for a fully working XCPM implementation. Note that by this, Pike Alpha's former ssdt.aml XCPM implementation becomes totally obsolete.

      Enable USB port limit patches:

      Valid USB port limit patches for 10.14.4 provided by @PMHeart (hardwired but yet disabled in my respective EFI-Folder distribution) by following initial USB port limit patch approach for 10.14.3 by @ydeng :   kext : com.apple.iokit.IOUSBHostFamily Find : 83FB0F0F 870B0400 00 Replace : 83FB3F0F 870B0400 00 Name : USB Port Limit Patch 1 ©PMHeart kext : com.apple.driver.usb.AppleUSBXHCI Find : 4183FF0F 0F839404 0000 Replace : 4183FF3F 0F839404 0000 Name : USB Port Limit Patch 2 ©PMHeart kext : com.apple.iokit.IOUSBHostFamily Find : 83E30FD3 E34109DF Replace : 83E33FD3 E34109DF Name : USB Port Limit Patch 3 ©PMHeart  
      Finally save the modified config.plist.   3.) Now copy the appropriate TSCAdjustRest.kext, which has been modified in error prevention C.4), to the /EFI/CLOVER/kexts/Other/ directory of the EFI-Folder.   You know have a fully equipped EFI-Folder for subsequent implementations as detailed below.   D.2) iMac Pro macOS Mojave 10.14 Installer Package Creation    If you are not able to successfully download the macOS Mojave 10.14.4 full package installer (6.04 GB) from the Appstore, follow the individual steps detailed below:

      1.) Open a terminal and create a "041-49229" directory on your Desktop. Subsequently change to the newly created directory. All this can be done with the following terminal commands:   mkdir ~/Desktop/041-49229/ cd ~/Desktop/041-49229/  
      2.) Download the following files from the Apple server (public links) to your ~/Desktop/041-38914/ directory by a copy & paste of the following terminal commands:
      curl https://swdist.apple.com/content/downloads/57/19/041-49229/2djabx33nlymwl0cfgagnk2ytst22y9byp/041-49229.English.dist -o 041-49229.English.dist curl http://swcdn.apple.com/content/downloads/57/19/041-49229/2djabx33nlymwl0cfgagnk2ytst22y9byp/InstallAssistantAuto.smd -o InstallAssistantAuto.smd curl http://swcdn.apple.com/content/downloads/57/19/041-49229/2djabx33nlymwl0cfgagnk2ytst22y9byp/AppleDiagnostics.chunklist -o AppleDiagnostics.chunklist curl http://swcdn.apple.com/content/downloads/57/19/041-49229/2djabx33nlymwl0cfgagnk2ytst22y9byp/AppleDiagnostics.dmg -o AppleDiagnostics.dmg curl http://swcdn.apple.com/content/downloads/57/19/041-49229/2djabx33nlymwl0cfgagnk2ytst22y9byp/OSInstall.mpkg -o OSInstall.mpkg curl http://swcdn.apple.com/content/downloads/57/19/041-49229/2djabx33nlymwl0cfgagnk2ytst22y9byp/BaseSystem.chunklist -o BaseSystem.chunklist curl http://swcdn.apple.com/content/downloads/57/19/041-49229/2djabx33nlymwl0cfgagnk2ytst22y9byp/InstallESDDmg.chunklist -o InstallESDDmg.chunklist curl http://swcdn.apple.com/content/downloads/57/19/041-49229/2djabx33nlymwl0cfgagnk2ytst22y9byp/BaseSystem.dmg -o BaseSystem.dmg curl https://swdist.apple.com/content/downloads/57/19/041-49229/2djabx33nlymwl0cfgagnk2ytst22y9byp/RecoveryHDMetaDmg.pkm -o RecoveryHDMetaDmg.pkm curl http://swcdn.apple.com/content/downloads/57/19/041-49229/2djabx33nlymwl0cfgagnk2ytst22y9byp/RecoveryHDMetaDmg.pkg -o RecoveryHDMetaDmg.pkg curl https://swdist.apple.com/content/downloads/57/19/041-49229/2djabx33nlymwl0cfgagnk2ytst22y9byp/InstallAssistantAuto.pkm -o InstallAssistantAuto.pkm curl http://swcdn.apple.com/content/downloads/57/19/041-49229/2djabx33nlymwl0cfgagnk2ytst22y9byp/InstallAssistantAuto.pkg -o InstallAssistantAuto.pkg curl http://swcdn.apple.com/content/downloads/57/19/041-49229/2djabx33nlymwl0cfgagnk2ytst22y9byp/InstallInfo.plist -o InstallInfo.plist curl https://swdist.apple.com/content/downloads/57/19/041-49229/2djabx33nlymwl0cfgagnk2ytst22y9byp/MajorOSInfo.pkm -o MajorOSInfo.pkm curl http://swcdn.apple.com/content/downloads/57/19/041-49229/2djabx33nlymwl0cfgagnk2ytst22y9byp/MajorOSInfo.pkg -o MajorOSInfo.pkg curl https://swdist.apple.com/content/downloads/57/19/041-49229/2djabx33nlymwl0cfgagnk2ytst22y9byp/InstallESDDmg.pkm -o InstallESDDmg.pkm curl http://swcdn.apple.com/content/downloads/57/19/041-49229/2djabx33nlymwl0cfgagnk2ytst22y9byp/InstallESDDmg.pkg -o InstallESDDmg.pkg  
      The full list of package files can be found within the following catalog URL, searching for key "2djabx33nlymwl0cfgagnk2ytst22y9byp":
       
      https://swscan.apple.com/content/ca...ion-snowleopard-leopard.merged-1.sucatalog.gz
       
      3.) Create the installer.pkg on your Desktop with the following terminal command:
       
      cd .. productbuild --distribution ./041-49229/041-49229.English.dist --package-path ./041-49229/ installer.pkg  
      4.) Create the "Install MacOS Mojave" in the /Applications folder of your System Disk with the following terminal command:
       
      sudo /usr/sbin/installer -pkg installer.pkg -target /  
      In case that you receive an error message, ignore the latter and proceed with 5.)

      5.) Now add the following files to your "Install macOS Mojave.app" with the following terminal commands:
       
      sudo cp ./041-49229/InstallESDDmg.pkg /Applications/Install\ macOS\ Mojave.app/Contents/SharedSupport/InstallESD.dmg sudo cp ./041-49229/AppleDiagnostics.dmg /Applications/Install\ macOS\ Mojave.app/Contents/SharedSupport/ sudo cp ./041-49229/AppleDiagnostics.chunklist /Applications/Install\ macOS\ Mojave.app/Contents/SharedSupport/ sudo cp ./041-49229/BaseSystem.dmg /Applications/Install\ macOS\ Mojave.app/Contents/SharedSupport/ sudo cp ./041-49229/BaseSystem.chunklist /Applications/Install\ macOS\ Mojave.app/Contents/SharedSupport/  
      Verify your "Install Mojave.app" for completeness. You should now have a complete macOS Mojave 10.14. Installer package in your /Applications Folder.

      The entire "Install macOS Mojave.app" creation procedure has been also fully automatised within one single script, as already implemented for macOS High Sierra with the help off @macandrea. 

      createInstaller-10.14.4.sh will automatically create on any MacOS System the "Install macOS Mojave.app" for macOS Mojave 10.14.4 in the /Applications folder.

      Just download und unzip createInstaller-10.14.4.sh.zip and run the following terminal commands:
       
      cd ~/Downloads chmod +x createInstaller-10.14.4.sh ./createInstaller-10.14.4.sh  
        D.3) iMac Pro macOS Mojave 10.14 USB Flash Drive Installer Creation    Follow the individual steps detailed below to successfully create a bootable iMac Pro macOS Mojave 10.14 USB Flash Drive Installer.   1.) Format a USB Flash Drive of your choice (source, named USB) with HFS+ [(Mac OS Extended (Journaled)] and a GUID partition table by means of Apple's Disk Utility on any other Hackintosh or Mac of your choice. This will create an empty HFS+ Partition and a yet empty EFI-partition on your iMac Pro macOS USB Flash Drive Installer.   2.) With the macOS Mojave 10.14 Installer Package in your /Application Folder,  connect your USB Flash Drive (named USB) and run the following terminal command: sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --nointeraction Alternatively, one can create the iMac Pro macOS USB Flash Drive Installer also by means of the Install Disk Creator.app.
        3.) For successfully booting your iMac Pro macOS USB Flash Drive Installer, the latter must however also contain a valid EFI- Folder with an SMBIOS iMacPro1,1 system definition. Thus, copy the EFI-Folder you prepared in Section D.1) to the yet empty EFI Partition of yourmacOS USB Flash Drive Installer.   You now have a fully functional and bootable macOS Mojave 10.14 USB Flash Drive Installer.     D.4) iMac Pro macOS Mojave 10.14 Clean Install on Skylake-X/X299   Follow the individual steps detailed below to successfully setup macOS Mojave 10.14 on a virgin system drive of your choice (NVMe, SSD or HDD).   1.) In order to perform a clean install of macOS Mojave 10.14, prepare a virgin NVMe, SDD or HDD destination drive for the iMac Pro macOS installation by formatting the drive with HFS+ [(Mac OS Extended (Journaled)] and a GUID partition table by means of Apple's Disk Utility on any other Hackintosh or Mac of your choice. This will create an empty HFS+ Partition and a yet empty EFI-partition on the drive.   2.) Copy the EFI-Folder you prepared in Section D.1) to the yet empty EFI Partition.   3.) Now connect the Destination Drive to your Hackintosh System and boot the latter with the plugged macOS Mojave 10.14 USB Flash Drive Installer, your created in Section D.2)   4.) While booting your system, press the F8 button to enter the BIOS boot menu. Select to boot from your macOS USB Flash Drive Installer.   5.) Subsequently, click on the USB Flash Drive Installer Icon in the clover boot menu to boot the respective macOS Installer partition on your macOS USB Flash Drive Installer   6.) After successful boot, pass the individual steps of the macOS 10.14 Mojave installation menu and finally select the destination drive of your macOS 10.14 Mojave  Installation, which should be logically the system disk you successfully configured above. In the next step, the Installer will create a macOS Mojave 10.14 Installer Partition on the system disk and subsequently reboot your system.   7.) During system reboot, just press again the F8 button to enter the BIOS boot menu. Select again to boot from your USB Flash Drive. In contrary to 6.), click this time on the "Install MacOS.." Icon in the clover boot screen to boot the newly created macOS Mojave 10.14 Installer Partition on your system disk.   8.) After successful boot, you will enter now the macOS Mojave 10.14 Installer Screen with a progress bar starting at about 34 minutes.   9.) After another reboot, press again the F8 button to enter the BIOS boot menu. Select to boot with your System Disk EFI-folder. Click on the "MacOS Mojave" icon on the clover boot screen to boot the new macOS Mojave  partition of your system disk.   10.) After successful boot do the requested iCloud registration and you will have your first iMac Pro macOS Mojave 10.14 system.   Proceed with Section D.6) - iMac Pro macOS High Sierra Build Updates (if necessary) or E.) - Post Installation Process.     D.5) Direct iMac Pro conversions of a functional Skylake-X/X299 system with a SMBIOS System Definition different from iMacPro1,1 and a standard macOS build implementation  1.) Replace the EFI-Folder of your System Disk by the EFI-Folder you created in Section D.1)   2.) Copy /System/Library/CoreServices/PlatformSupport.plist to your Desktop, add BoardID "Mac-7BA5B2D9E42DDD94" under SupportedBoardIDs by means of Xcode as suggested by user Griven from the German Hackintosh-Forum and copy back the modified PlatformSupport.plist to System/Library/CoreServices/.   3.) If not already in your /Applications folder after performing Section D.2), copy the iMac Pro macOS Installer Package ("Install macOS Mojave.app") to your /Applications folder.   4.) Double click on the "Install macOS Mojave.app" in the /Applications Folder to start the macOS Mojave 10.14 installation.    5.) After reboot, click on the "Install MacOS.." Icon in the clover boot screen to boot the newly created macOS Mojave 10.14 Installer Partition on your system disk.   6.) After successful boot, you will enter now the macOS Mojave 10.14 Installer Screen with a progress bar starting at 43 minutes.   7.) After another reboot, click on the "MacOS Mojave" icon in the clover boot screen to boot the updated macOS Mojave 10.14 on your system disk.   8.) After successful boot you have to register at iCloud at the end of the macOS installation, and you will now have your first iMac Pro macOS Mojave 10.14 build.   Proceed with Section D.6) - iMac Pro macOS High Sierra Build Updates (if necessary) or Section E.) - Post Installation Process.   D.6) iMac Pro macOS 10.14 Mojave  Update Procedure   If you already used my 10.13 iMacPro Skylake-X/X299 guide to setup a 10.13 iMac Pro macOS build, you simply have to update your EFI-Folder and directly perform the update to macOS 10.14 Mojave from System Disk by else following steps 4.) to 8.) of D.5) above. Any future macOS Mojave update can be directly performed fully vanilla via "Software Update" under "System Preferences".   E.) Post Installation Process   E.1) HWP (Intel SpeedShift Technology) CPU Power Management Configuration   On Skylake-X/X299 Systems with unlocked mainboard BIOS MSR 0xE2 BIOS register and SMBIOS iMacPro1,1 we gain fully native HWP (IntelSpeedShift) Power Management after disabling the last remaining XCPM KernelToPatch entry "xcpm_core_scope_msrs" in the config.plist under Section "Kernel and Kext Patches" of Clover Configurator, which by default is still implemented but disabled in the config.plist of my actual respective X299 EFI-Folder distribution.     Users with locked mainboard BIOS MSR 0xE2 register, still have to use the "xcpm_core_scope_msrs" XCPM KernelToPatch entry to successfully boot their systems. Otherwise the OSX Kernel will write to that BIOS register and cause KP at boot!     HWP is a way for the processor itself to manage the power consumption, with minor input from OSX on what it thinks it needs. In contrary, XCPM is the OSX power management part. It directly controls older hardware like Broadwell-E/EP or Haswell-E/EP and enables HWP on newer hardware like Skylake-X. It also sets some HWP variables, like the desired frequency at the maximum.   XCPM is enabled by default.   For it's complete configuration, XCPM still requires the CPU "plugin-type" injection to properly load the required XCPM frequency vectors from the iMacPro.plist, which can be directly achieved within the config.plist by checking "PluginType" in Section "ACPI" of Clover Configurator.     How to verify a working xcpm configuration?   a.) Typically the command "sysctl machdep.xcpm.mode" reveals 1, which means that XCPM is active.   b.) Verify that in the IORegistryExplorer you have now under CP00@0 the following entry: Property:         Type:         Value: plugin-type       Number        0x1 c.) Also verify with the terminal command:
      kextstat|grep -y x86plat that the "X86PlatformPlugin.kext" is now loaded. If the command returns something like
      112    1 0xffffff7f822bc000 0x17000    0x17000    com.apple.driver.X86PlatformPlugin (1.0.0) FD88AF70-3E2C-3935-99E4-C48669EC274B <111 19 18 13 11 7 6 5 4 3 1> 146    1 0xffffff7f822d3000 0x7000     0x7000     com.apple.driver.X86PlatformShim (1.0.0) DCEA94A4-3547-3129-A888-E9D5C77B275E <112 111 13 7 4 3> d.) Verify with the following terminal command:
      kextstat|grep -y appleintelcpu that you got rid of the Apple Intel CPU power management. If the result is empty you are fine.
        e.)  Verify with the following terminal command: sysctl -n machdep.xcpm.vectors_loaded_count If this command returns "1", the XCPM FrequencyVectors are properly loaded and you are all set.
        E.2) Graphics Configuration   Most ATI GPUs, e.g. RX Vega 64, RX Vega Frontier, RX 580, RX 560 are supposed to be "natively" implemented. It is commonly recommended not to use RX 560 and RX 580 GPUs due to the lacking iGPU implementation when using SMBIOS iMacPro1,1.   By means of my Vega SSDT PCI device implementation outlined in Section 9.2.2,  all available ports on the Gigabyte Vega 64 (3x HDMI, 3x DP), including multi-monitor support and display hot plug are automatically and successfully implemented. However, it seems that DP-port issues (black screen) remain, when employing the respective Vega SSDT PCI device implementation on Sapphire Nitro+ Vega 64 (2x HDMI, 2xDP) or ASUS Strix Vega 64 (2x HDMI, 2x DP, 1x DVI) GPUs, which only can be removed by adding Whatevergreen.kext v.1.2.2. Within such configuration, multi-monitor support and display hot plug can be fully achieved also in case of the latter custom Vegas (both 10.13.6 SU and 10.14.1). A fall-back to the formerly used Kamarang frame buffer SSDT implementation of @apfelnico does not provide any valuable solution for these kind of custom Vegas. Also note that Whatevergreen.kext only seems required for all Vegas possessing less than 6 physical ports (including the original Vegas like Frontier and Vega 64), else the current Vega SSDT PCI device implementation does pretty well it's job, including successful system sleep/wake..   Important additional comment for all Vega users with 4K monitors though: when connecting a Vega with e.g. the LG 38UC99-W (WUHD, 3840 pix x 1600 pix) via one of the Display Ports (DPs), the screen resolution is fine under both Windows 10 and macOS High Sierra but is totally at odd during boot (VGA like boot screen resolution). The VEGA DP 4K boot screen resolution issue is neither related with the fact that the LG 38UC99-W is an ultra-wide (3840x1600) and not a true UHD (3840x2160) monitor nor related to any likely apparent issue with the ASUS Prime X299 Deluxe firmware. It is definitely a Vega firmware problem in combination with most 4K displays, as the DP 4K boot screen resolution issue is totally absent with my Nvidia GPU and the problem also does not only affect the ASUS Splash Screen but also spreads over the entire boot process until the login screen is reached (Windows and macOS). Splash Screen, Apple logo or verbose boot messages are not stretched but rather have VGA like resolution. Any fix of the AMD vBIOS would be highly appreciated. It is more than disappointing to witness such issues with 600-1000$ GPUs... Fortunately, the 4K boot screen issue is restricted to the Vega DP ports and likely due to the fact that the LG 38UC99-W only supports DP 1.2. Solution: Connect your Vega and your 4K display via the HDMI port. The 30 Hz HDMI monitor frequency issue under 10.13 is successfully removed under Mojave: monitor frequency of 60 Hz with the display connected via HDMI (in contrary to 75 Hz via DP).   Also Nvidia Kepler Graphics Cards are natively implemented.   All Users with Nvidia Maxwell and Pascal Graphics Cards Users still have to wait for the official release of 10.14 Web Drivers. I was actively requesting Web Driver development for macOS 10.14 Betas from Nvidia, which has been rejected. I really hope that Nvidia will not leave the respective community again without Web Driver support. In the meanwhile,  Nvidia GPU users have to live with e.g. patched Web Driver xxx.40.105 for macOS High Sierra 10.13.6 after a simple patching procedure detailed below, although the latter Web Driver is not really suited for 10.14 and just works with strong limitations.   How to patch an Nvidia WebDriver:   Download the Nvidia WebDriver-Payload Repackager from InsanelyMac. Credits to @Chris111 and @Pavo.    The patch procedure is simple and fully described in the implemented Readme.txt and will reveal a Repackaged-WebDriver.pkg, which can be used for installing e.g. the patched Nvidia Web Driver xxx.40.105 under macOS Mojave 10.14.   Nvidia Web Driver Installation and Black Screen Prevention:   Apparently with SMBIOS iMacPro1,1, the Nvidia Black Screen Prevention has become obsolete. Thanks to @fabiosun for this finding. Thus, Whatevergreen.kext, subverting AppleMobileFileIntegrity banning the driver can be theoretically removed from the /EFI/CLOVER/kexts/Other/ directory of your macOS Flash Drive Installer and 10.13 System Disk. However, the actual releases of Whatevergreen.kext and Lilu.kext apparently help in fixing the Nvidia HDAU implementation and sporadic black screen issues while wake from sleep. Thus, the latter kext combination might still represent potential workarounds for few likely remaining Nvidia GPU system issues.   a.) Install the patched Nvidia 10.13 Web Driver Package.   b.) Now perform the following additional steps:   i.) Copy /L/E/NVDAStartupWeb.kext to your Desktop.   ii.) Right-click on NVDAStartupWeb.kext and select show package content.   iii.) Change to "Contents" and edit the "Info.plist" with Xcode.   iv.) Go to IOKitPersonalities -> NVDAStartup -> change "NVDARequiredOS" from "17G65" to "18D45", the corresponding build number of MacOS Mojave 10.14.3.   v.) Save the "Info.plist" file and copy the modified "NVDAStartupWeb.kext" to /L/E/ with root permission.   vi.) Open a terminal and enter the following commands: sudo chmod -R 755 /Library/Extensions/NVDAStartupWeb.kext sudo chown -R root:wheel /Library/Extensions/NVDAStartupWeb.kext sudo touch /System/Library/Extensions && sudo kextcache -u / sudo touch /Library/Extensions && sudo kextcache -u /  
      vii.) Reboot.
        viii.) The patched Web Driver might not be active yet. Therefore, open the Nvidia Driver Manager and select "Nvidia Web Driver".   ix.) Now reboot as requested and you will have a Web Driver implementation for MacOS Mojave 10.14.   E.3) Audio Configuration   Note that my actual respective X299 EFI-Folder distribution does not contain any default audio configuration. You have to implement the audio approach of your choice during the Post Installation process! Please select between one out of three possible audio implementations detailed below. To avoid the loss of analogue onboard audio (S1220A in case of the ASUS Prime X299 Deluxe) on Wake from Sleep, please download, unzip and copy the latest CodecCommander.kext distribution of [USER=429483]@RehabMan[/USER] from bitbucket.org to the /EFI/Clover/kexts/Other directory in the EFI-Folder of your System Disk: https://bitbucket.org/RehabMan/os-x-eapd-codec-commander/downloads/.   E.3.1.) AppleALC Audio Implementation   The actual AppleALC audio implementation traces back to the extensive efforts and brilliant work of @vit9696  and @apfelnico. This new AppleALC audio approach requires latest versions of AppleALC.kext and Lilu.kext in the /EFI/CLOVER/kexts/Other/ directory of your System Disk.   Provided that you use my actual respective X299 EFI-Folder distribution, you need to open the config.plist in the /EFI/CLOVER/ directory of your System Disk with the Clover Configurator and add the CAVS -> HDEF ACPI replacement patch in Clover Configurator Section "ACPI" under "DSDT Patches".   Comment:          Find*[Hex]     Replace [Hex] CAVS -> HDEF      43415653       48444546 When implementing the SSDT in Section 9.2), we will perform the  CAVS -> HDEF ACPI replacement directly within the SSDT. We then have to remove again the CAVS -> HDEF ACPI replacement from the config.plist!
        Note that opposite to the alternative VoodooHDA and CLoverALC approach detailed below, the AppleALC audio implementation requires an Audio ID in injection of "7" instead of "1". Implement the latter Audio ID in the config.plist of your System Disk under "Audio" and "Injection" in the Section "Devices" of the Clover Configurator.   The correct HDAU HDMI/DP digital Audio PCI implementation will be detailed in Section E.9) in line with the HDEF and GPU PCI device implementation.   To remove the AppleALC Audio Approach Implementation perform the following steps:   1.) Remove AppleALC.kext from the /EFI/CLOVER/kexts/Other/ directory of your System Disk.   2.) Disable in the config. plist the CAVS -> HDEF DSDT Replacement Patch in Clover Configurator Section "ACPI" under "DSDT Patches".   3.) Adopt the Audio ID Injection in your respective config.plist in Clover Configurator Section "Devices" for the alternative audio approach you intent to use.   4.) Reboot   E.3.2) VoodooHDA Audio Implementation   1.) Provided that you use my actual respective X299 EFI-Folder distribution, you need to open the config.plist in the /EFI/CLOVER/ directory of your System Disk with the Clover Configurator and enable the CAVS -> HDEF ACPI Replacement Patch in Clover Configurator Section "ACPI" under "DSDT Patches". Comment                         Find*[HEX]      Replace*[HEX] Rename CAVS to HDEF      43415653        48444546 When implementing the SSDT in Section 9.2), we will perform the  CAVS -> HDEF ACPI replacement directly within the SSDT. We then have to remove again the CAVS -> HDEF ACPI replacement from the config.plist!
        2.) Download VoodooHDA.kext v2.9.0d10 to your Desktop. Mouse Right-Click on VoodooHDA.kext -> select "Show Package Contents" -> click on "Contents" -> Right-Click on "Info.plist" -> "Open With" -> "Other" -> select "TextEdit.app"   3.) a.) In the TextEdit.app select in the menu "Edit" -> "Find" -> "Find..." -> search for  "IOPCIClassMatch" and   replace <key>IOPCIClassMatch</key> <string>0x04020000&amp;0xfffe0000</string> with
      <key>IOPCIPrimaryMatch</key> <string>0x43831002</string>  
      b.) Download, unzip and run IORegistryExplorer.   Search for HDEF and write down the "IOName"-entry under e.g. PC00@0/AppleACPIPCI/HDEF@1F,3 which can slightly deviate on mainboards different from the ASUS Prime X299 Deluxe.     The HDEF-IOName on the ASUS Prime X299 Deluxe is "pci8086,a2f0"   Concert the IOName as shown below in case of the HDEF-IOName of the ASUS Prime X299 Deluxe:   "0xa2f08086"   c.) Now replace in the "Info.plist" of "VoodooHDA.kext"   "0x43831002"   by   "0xa2f08086"   and save the "Info.plist".   d.) Copy the modified "VoodooHDA.kext" to the /EFI/Clover/kexts/Other/ - directory of your System Disk.   4.) Download and copy the VoodooHDA.prefPane v1.2 attached below to ~/Library/PreferencePanes/   5.) Note that the VoodooHDA audio approach requires an Audio ID in injection of "1". The corresponding modification of the config.plist has to be implemented by means of the Clover Configurator by modifying the respective entry in Section "Devices".   6.) Reboot   To remove the VoodooHDA audio implementation, perform the following steps:   1.)  Disable in the config. plist the CAVS -> HDEF ACPI Replacement Patch in Clover Configurator Section "ACPI" under "DSDT Patches".   2.) Remove VoodooHDA.kext  from the /EFI/CLOVER/kexts/Other/ directory of your System Disk.   3.) Remove VoodooHDA.prefPane from ~/Library/PreferencePanes/   4.) Adopt the Audio ID Injection in your config.plist in Section "Devices" of the Clover Configurator for the alternative audio approach you intent to use   5.) Reboot   E.3.3) cloverALC Audio Implementation   @toleda 's cloverALC audio approach has been implemented thanks to the respective advices and help of user @Ramalama. Note that in contrary to the AppleALC and VoodooHDA approaches, the cloverALC audio approach detailed below will patch the native vanilla AppleHDA.kext in the /S/L/E directory of your System Disk! This before implementing the cloverALC audio approach, backup your native vanilla AppleHDA.kext from the /S/L/E directory on your System Disk! You will have to reinstall the native vanilla AppleHDA.kext from the /S/L/E directory on your System Disk with the appropriate permissions during a removal of the cloverALC Audio Implementation! Thus you need a backup of the latter native vanilla kext in any case!      CloverALC audio approach installation:   1.) Provided that you use my actual respective X299 EFI-Folder distribution,  you need to open the config.plist in the /EFI/CLOVER/ directory of your System Disk with the Clover Configurator and enable the CAVS -> HDEF ACPI Replacement Patch in Clover Configurator Section "ACPI" under "DSDT Patches". Comment                  Find*[Hex]    Replace[Hex] Rename CAVS to HDEF      43415653      48444546 When implementing the SSDT in Section 9.2), we will perform the  CAVS -> HDEF ACPI replacement directly within the SSDT. We then have to remove again the CAVS -> HDEF ACPI replacement from the config.plist!   2.) Change the Audio ID Injection in the config.plist on your System Disk in Section "Devices" under "Audio" and "Inject" to "1".   3.) Add the following cloverALC related KextToPatch entries to your config.plist on your System Disk in section "Kerneland Kext Patches" of Clover Configurator in the "KextsToPatch" listing: Name*         Find*[Hex]         Replace* [Hex]    Comment AppleHDA      8a19d411           00000000          t1-10.12-AppleHDA/Realtek ALC... AppleHDA      8b19d411           2012ec10          t1-10.12-AppleHDA/RealtekALC1220 AppleHDA      786d6c2e 7a6c      7a6d6c2e 7a6c     t1-AppleHDA/Resources/xml>zml  
      4.) Download, unzip and copy the realtekALC.kext v2.8  to the /EFI/CLOVER/kexts/Other/ directory on your System Disk   5.) Download and execute audio_cloverALC-130.sh, which will patch the native vanilla AppleHDA.kext in the /S/L/Edirectory of your System Disk   6.) Reboot   To remove the cloverALC audio implementation, perform the following steps:   1.) Remove realtekALC.kext from the /EFI/CLOVER/kexts/Other/ directory on your System Disk   2.) Remove all cloverALC related KextToPatch entries from the config.plist on your System Disk  in the "Kernel andKext Patches" section of Clover Configurator.   3.) Disable in the config. plist the CAVS -> HDEF ACPI Replacement Patch in Clover Configurator Section "ACPI" under"DSDT Patches".   4.) Delete the patched AppleHDA.kext in the /S/L/E/ Directory on your System Disk   5.) Reinstall the original vanilla AppleHDA.kext with the appropriate permission in the /S/L/E/ directory on yourSystem Disk using Kext Utility   6.) Adopt the Audio ID Injection in your config.plist in Section "Devices" of the Clover Configurator for the alternative audioapproach you intent to use   7.) Reboot     E.4) USB Configuration:   Since 10.13 SU and with AppleIntelPCHPMC, Apple implements IOPCIPrimaryMatchID "a2af8068" and AppleUSBXHCISPT also for the ASUS Prime X299 Deluxe. Until 10.14.0, by this all external and internal XHC USB 3.0 (USB 3.1 Gen 1 Type-A) and USB 2.0 (USB 2.0 Gen 1 Type-A) connectors of all X299 mainboards where fully implemented, always provided that one uses a working USB port limit patches.
       
      Valid USB port limit patch for 10.14.4 provided by @PMHeart (hardwired but yet disabled in my respective EFI-Folder distribution) by following USB port limit patch approach for 10.14.3 by [USER=1614363]@ydeng[/USER]:
       
      USB port limit patch for 10.14.4 provided by @PMheart:
      kext : com.apple.iokit.IOUSBHostFamily Find : 83FB0F0F 870B0400 00 Replace : 83FB3F0F 870B0400 00 Name : USB Port Limit Patch 1 ©PMHeart kext : com.apple.driver.usb.AppleUSBXHCI Find : 4183FF0F 0F839404 0000 Replace : 4183FF3F 0F839404 0000 Name : USB Port Limit Patch 2 ©PMHeart kext : com.apple.iokit.IOUSBHostFamily Find : 83E30FD3 E34109DF Replace : 83E33FD3 E34109DF Name : USB Port Limit Patch 3 ©PMHeart  
      Former USB port limit patches for 10.14.3 provided by ©ydeng:
      kext : com.apple.iokit.IOUSBHostFamily Find : 83FB0F0F 871604 00 Replace : 83FB3F0F 871604 00 Name : USB Port Limit Patch 1 ©ydeng kext : com.apple.driver.usb.AppleUSBXHCI Find : 83FB0F0F 838F0400 00 Replace : 83FB3F0F 838F0400 00 Name : USB Port Limit Patch 2 ©ydeng kext : com.apple.iokit.IOUSBHostFamily Find : 83E30FD3 E34109DF Replace : 83E33FD3 E34109DF Name : USB Port Limit Patch 3 ©ydeng  
      However, it is strongly recommended to use board-specific XHC USB kexts in addition. Such board-specific XHC USB kexts can be easily created for any motherboard of any brand by following my respective XHC USB Kext Creation guideline. Being mainboard specific, a XHC USB kext is only valid for one particular mainboard model although users of the same mainboard model naturally can share the same XHC USB kext, if complete and properly implemented without any additional efforts.
       
      KGP-iMacPro-ASUS-PX299D-XHCI.kext would be the XHC USB kext for the Prime X299 Deluxe with all 20 ports implemented.   However, it is strongly recommend to keep respective USB port limit patches disabled and to use a truncated 15-port kext instead, which might avoid buffer overruns and makes your system more vanilla with respect to future macOS updates.
      For the truncated 15-port kext, we have to drop some of the 20 HS and SS ports implemented from the kext to stay within Apple's 15 USB port limit. For truncating a fully implemented XHC USB kext (all 20 HS and SS ports implemented), I usually recommend to drop one out of usually two internal USB3.0 connectors (which already reduces the number of implemented ports to 16 for the ASUS Prime X299 Deluxe):     To remain within the 15 USB port limit, I also recommend to drop one of the four USB2.0 ports at the backside of the mainboard from the kext (HS09, HS10, HS11 or HS12), which further reduces the number of implemented USB ports by one.     Thus, in total we have now 15 implemented HS and SS ports and we just stay within the 15 USB port limit. In the truncated  KGP-iMacPro-ASUS-PX299D-XHCI-15port.kext, I removed HS03, HS04, SSP3, SSP4 (assigned to the internal USB3.0 header U31G1_34) and HS12 (assigned to the most left USB2.0 connector on the back panel of the mainboard) from the kext. By this, all other USB2.0 and USB3.0 ASUS Prime X299 Deluxe onboard connectors remain fully functional. Alternatively, one could also drop e.g. HS01, HS01, SSP1, SSP2 (assigned to the internal USB3.0 header U31G1_12) or either HS09, HS10 or HS11 from KGP-iMacPro-ASUS-PX299D-XHCI.kext. Up to your personal taste.   All experienced users are kindly invited to provide their fully implemented XHC USB kext and truncated 15-port XHC USB kext for a motherboard not yet being part of the respective XHC USB Kext Library with an implemented port-layout.rtf and by else following the correct kext nomenclatures defined in my XHC USB Kext creation guidelines in line with full motherboard and SMBIOS denominations.   Respective XHC USB kexts for the ASUS WS X299 Sage 10G have been kindly provided by @Djlild7hina and are available in the Github repository. However note that DJ7-iMacPro-ASUS-WSX299S10G-XHCI.kext.zip and DJ7-iMacPro-ASUS-WSX299S10G-XHCI-15port.kext.zip are identical as HS/SS ports assigned to the USB3.0 connectors/header of the ASUS WS X299 Sage 10G do not exceed Apple's 15-port Usb limit.   Remaining USB ejection issues during sleep/wake likely can be fixed by 3rd party software tools like e.g. mountain.app.     E.5.) NVMe Compatibility   In contrary to macOS Sierra 10.12 and as already in macOS High Sierra 10.13, under macOS 10.14 Mojave, there is native support of non-4Kn NVMe SSDs, like my Samsung EVO 970 Pro M.2 NVME. All patches applied under macOS Sierra 10.12 are therefore obsolete. The native support of non-4Kn NVMe SSDs enables the unique opportunity to directly perform a clean-install of macOS High Sierra or Mojave on M.2 NVMEs like the Samsung EVO 970 Pro.   E.6.) SSD/NVMe TRIM Support:   Macs only enable TRIM for Apple-provided solid-state drives they come with. If you upgrade a Mac with an aftermarket SSD/NVMe, the Mac won’t use TRIM with it. The same applies for SSDs/NVMes used by a Hackintosh. When an operating system uses TRIM with a solid-state drive, it sends a signal to the SSD/NVMe every time you delete a file. The SSD/NVMe knows that the file is deleted and it can erase the file’s data from its flash storage. With flash memory, it’s faster to write to empty memory — to write to full memory, the memory must first be erased and then written to. This causes your SSD/NVMe to slow down over time unless TRIM is enabled. TRIM ensures the physical NAND memory locations containing deleted files are erased before you need to write to them. The SSD/NVMe can then manage its available storage more intelligently.   Note that the config.plist in my actual respective X299 EFI-Folder distribution, contains an SSD/NVMe "TRIM Enabler" KextsToPatch entry, which can be found in the " Kernel and Kext Patches" Section of the Clover Configurator.     Name*                   Find*[HEX]                  Replace*[HEX]               Comment IOAHCIBlockStorage      4150504c 45205353 4400      00000000 00000000 0000      Trim Enabler  
      With this KextToPatch entry, SSD/NVMe TRIM should be  fully enabled on your 10.13 System. See your Apple's System Report.   E.7) GC-Titan Ridge / GC-Alpine Ridge or ASUS TBEX 3 Add-in PCIe Adapter Implementation   For the successful implementation of the GC-Titan Ridge (recommended), GC-Alpine Ridge (compatible) or ASUS Thunderbolt EX3 (R.I.P) PCIe Add-In Adapters, a fully working Dual Boot System with an UEFI Windows Implementation is unfortunately absolutely mandatory. You will not be able to configure your Thunderbolt 3 Adapter in the mainboard BIOS, until the Adapter has been successfully recognised and initialised by the UEFI Windows System. Fortunately legal and official License Keys for the actual Windows 10 Pro distribution can be purchased with a little bit of temporal effort on Google for an actual price of 20 $ or even below! Thus, the installation of a dual boot system with Windows will require some additional temporal user effort but will not noticeably further affect the users's budget.   Please note that I especially emphasize the term UEFI, when speaking about the parallel Windows implementation. Don't use or perform a Legacy Implementation of Windows! In order to properly implement your Windows partition later-on in the Clover Bootloader and to comply with the actual Mainbaord-BIOS settings requirements, it is absolutely mandatory to run or perform an UEFI Windows implementation!   So if not already implemented, how to achieve a fully working UEFI Windows Implementation and Dual boot System with Windows?   1.) Important Note! For the implementation of the UEFI Windows Distribution disconnect all usually plugged macOSDrives from your rig! The Windows installer will implement a Windows Boot Loader! If you have any macOS Drive connected during installation, the latter Windows Boot Loader might overwrite and destroy your current Clover Boot Loader. This is the last thing you want! Thus for the windows installation just connect the destination drive for the installation and the Windows USB Flash Drive Installer your will create in the subsequent step below!   2.) This Tutorial explains in all necessary detail how to download an actual Windows 10 Creator distribution,  and how tosubsequently create a bootable USB Flash Drive Installer for a subsequent UEFI Windows 10 installation by means RUFUS! Don't put emphasis on alternative optional methods and always take care that you just follow the instructions for a successful subsequent UEFI Windows Installation!   3.) This Tutorial explains in all necessary detail how to properly perform the actual Windows 10 Pro Creator UEFIInstallation, subsequent to the a bootable Windows USB Flash Drive Installer realisation detailed in 2.) above.   4.) This Tutorial explains in all necessary detail, how to migrate/clone/backup your Windows 10 UEFI System Disk afterinstallation for future maintenance and safety.   5.) After successfully performing the UEFI Windows 10 Pro Creator Implementation, you can reconnect your macOS drive to your rig. The newly created UEFI Windows 10 Pro Creator Partition will automatically appear as a further boot option in both BIOS Boot Option Menu (F8) and Clover Boot Menu! No additional or further actions or measurements have to be taken!   6.) Once your Windows 10 Pro Creator Partition is fully operational, install all drivers and programs implemented on the ASUS Prime X299 Deluxe/WS X299 Sage 10G Series DVD attached to your mainboard. This will further allow you to properly adjust the desired AURA Mainboard Settings and offer many other  mainboard configuration options.   7.) Now switch off your rig and start with the installation of our Thunderbolt 3 Add-In PCIe Adapter   On the ASUS Prime X299 Deluxe, I recommend to install any Thunderbolt 3 Add-In PCIe Adapter in the 4th PCIe Slot from top, which is PCIEX_3, while on the ASUS WS X299 Sage 10G any Thunderbolt 3 Add-In PCIe Adapter must be in the second slot from top PCIEX_2 by default.         8.) Reboot into windows and install accompanying TB3 PCIe Drivers and Software.  
      9.) Reboot and enter the Mainboard BIOS (F2)   Go to /Advanced/ Thunderbolt(TM) Configuration/ and apply the following BIOS Settings detailed below:   /Advanced/ Thunderbolt(TM) Configuration/ TBT Root por Selector                               PCIE16_3 (Prime X299 Deluxe) / PCIE16_2 (WS X299 Sage 10G) Thunderbolt USB Support                             Enabled Thunderbolt Boot Support                            Enabled Wake From Thunderbolt(TM Devices)                   Off Thunderbolt(TM) PCIe Cache-line Size                128 GPIO3 Force Pwr                                     On Wait time in ms after applying Force Pwr            200 Skip PCI OptionRom                                  Enabled Security Level                                      SL0-No Security Reserve mem per phy slot                            32 Reserve P mem per phy slot                          32 Reserve IO per phy slot                             20 Delay before SX Exit                                300 GPIO Filter                                         Enabled Enable CLK REQ                                      Disabled Enable ASPM                                         Enabled Enable LTR                                          Disabled Extra Bus Reserved                                  65 Reserved Memory                                     386 Memory Alignment                                    26 Reserved PMemory                                    960 PMemory Alignment                                   28 Reserved I/O                                        0 Alpine Ridge XHCI WA                                Enabled  
      10.) Shut down your rig, connect the Thunderbolt Device to your Thunderbolt 3 Adaptor and boot your system.       11.) You are done!  Your Thunderbolt 3 Adapter and the connected device should now be fully implemented and functional.   12.) We will add TB XHC USB and TB HotPlug functionality in Section E.9.2) of this guide. Note that with the GC-Titan Ridge, HotPlug functionality can be gained with the THB_C connected. For HotPlug with the other TB adaptors, the THB-C must be removed from most of the available mainboards.   E.8) Gbit and 10-Gbit Ethernet Implementations   Section E.8.1) and and E.8.2.) below, describe in all necessary detail how to gain full Gbit and 10-Gbit LAN functionality on Skylake-X/X299 systems.   E.8.1) ASUS Prime X299 Deluxe on-board Gbit Ethernet Functionality   Thanks to the SmallTree-Intel-211-AT-PCIe-GBE.kext, also the Intel I211_AT Gigabit on-board LAN controller of the ASUS Prime X299 Deluxe will be correctly implemented and fully functional, in addition to the Intel I219-V Gigabyte on-board LAN controller of the ASUS Prime X299 Deluxe implemented by means of IntelMausiEthernet.kext (already part of my EFI-Folder distributions). Thus, both ethernet ports on the ASUS Prime X299 Deluxe should now be fully operational..   Just download , unzip  and copy the SmallTree-Intel-211-AT-PCIe-GBE.kext attached below to the /EFI/Clover/kexts/Other/, reboot and you should be done.   E.8.2) 10-GBit Lan Implementations ASUS Prime X299 Deluxe on-board Gbit Ethernet Functionality   E.8.2.1) ASUS XG-C100C Aquantia AQC107 10-Gbit NIC   Starting with 10.13.2 there is native support for the Aquantia AQTION AQC107 10-GBit NIC of the iMac Pro in form of vanilla kext "AppleEthernetAquantiaAqtion.kext", which is further part of "IONetworkingFamily.kext/Contents/PlugIns/" placed in /System/Library/Extensions/ (credits to @mikeboss). First success with the ASUS XG-C100C Aquantia AQTION AQC107 10-GBit PCIe x4 NIC under MacOS 10.13.3 has been reported by @d5aqoep. @Mieze finally came up with a AppleEthernetAquantiaAqtion KextPatch for the use of the ASUS XG-C100C Aquantia AQTION AQC107 10-GBit PCIe x4 NIC also under 10.13.4 and and later macOS versions.   How to successfully implement the ASUS XG-C100C Aquantia AQTION AQC107 10-GBit  PCIe x4 NIC:   1.) A temporal macOS High Sierra 10.13.3 (17D2047 in case of the iMac Pro) installation is absolutely mandatory at first place. Only within the latter macOS High Sierra build, the ASUS XG-C100C Aquantia AQTION AQC107 10GBit PCIe x4 NIC will receive the proper AQC107 Apple firmware to be recognised and fully implemented by OSX. The firmware update will be performed during system boot. Several boot intents might be necessary until the firmware update finally succeeds. Only subsequently, the ASUS XG-C100C Aquantia AQTION AQC107 10GBit PCIe x4 NIC will be natively implemented in macOS High Sierra 10.13.3 and fully functional.   2.) To finally use the ASUS XG-C100C Aquantia AQTION AQC107 10GBit PCIe x4 NIC with macOS builds >10.13.4 and finally also with 10.14, one has to implement the following AppleEthernetAquantiaAqtion KextPatch provided by @Mieze:     Name*                            Find*[HEX]         Replace*[HEX]      Comment AppleEthernetAquantiaAqtion 6275696C 742D696E 62626262 62626262 Aquantia built-in patch ©Mieze  
      3.) The proper XGBE ASUS XG-C100C PCI SSDT implementation is detailed in Section E.9.2)   4.) Note that after the firmware update under macOS High Sierra 10.13.3, the ASUS XG-C100C AQTION AQC107 10GBit PCIe x4 NIC will refuse the official Windows Lan drivers provided by ASUS and will only work with Apple's customised Aquantia64v2.0.015.0 boot camp drivers attached below.   Preferable AQC107 10-Gbit NIC PCIe solutions now available on the market are the Syba 1 Port PCIe x4 10GB  Aquantia AQTION AQC107 NIC (thanks to @mirwaiz for his respective discovery and for all subsequent confirmation of his findings by @mm2margaret , who also pointed me to this extremely valid approach) and the 1 Port PCIe x4 10GB Aquantia AQtion AQC107 10G Gaming NIC (thanks to @izo1 for respective findings and advises), which are natively implemented under macOS OoB and neither need the above firmware update nor the respective AppleEthernetAquantiaAqtion kext patch.   E.8.2.2) Intel X540-T1 10-Gbit NIC   Thanks to some Ubuntu EEPROM modding, I also achieved the successful implementation of the Intel X540-T1 single port 10GB LAN PCIe Adapter by means of the Small-Tree 10GB macOS 10.13 driver.   Some additional notes to the EEPROM modding guideline provided by the above link.   1.) When creating your Ubuntu USB Flash Drive, use RUFUS 3.0 and select the GPT option to obtain a Ubuntu USB boot drive, fully compatible with your UEFI BIOS implementation!   2.) To install "net-tools", enter the following terminal command sudo apt install net-tools  
        3.) To install "ethtool" enter the following terminal command: sudo apt-get install ethtool  
        4.) Within the latest Ubuntu distributions, ETH0, ETH1, etc. have been replaced by some weird "enp" port-nomenclature, thus the command "ifconfig" would reveal something like the following:     My Intel X540-T1 was assigned to enp225s0.   5.) With the command "lspci -nn -vvv | grep Ethernet" you have to use in 6.) the Vendor/Device-ID entry highlighted by the green rectangle.     6.) By running the "sudo ethtool -e enp225s0 | less" command and eyeballing the offsets, be aware that the latter can be distributed over two lines:       You have to count from left to right 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f for each pair of digits for each offset.   Thus, the commands I had to run to mod the Intel X540-T1 EEPROM were: sudo ethtool -E enp225s0 magic 0x15288086 offset 0x48e value 0x0a sudo ethtool -E enp225s0 magic 0x15288086 offset 0x48f value 0x00  
      Note that the "magic" value implemented in this command has been taken from the "lspci -nn -vvv | grep Ethernet" command output, again encircled by a green rectangle:     The rest is as described in the EEPROM modding guideline linked above.   The proper Intel X540-T1 PCI SSDT implementation is detailed in Section E.9.2)   Actually, I am now currently using this adaptor in my X99 system configuration.   E.8.2.3) Onboard Intel X550-AT2 10-Gbit NICs of the ASUS WS X299 Sage 10G
       
      The same Ubuntu EEPROM modding detailed in E.8.2.2) can be also applied for the 2x onboard Intel X550-AT2 NICs of the ASUS WS X299 Sage 10G.
       
      In my case I deduced the following Ubuntu terminal commands for performing the final Ubuntu EEPROM modding:
       
      sudo ethtool -E enp179s0f0 magic 0x15638086 offset 0x242 value 0x0a sudo ethtool -E enp179s0f0 magic 0x15638086 offset 0x243 value 0x00 sudo ethtool -E enp179s0f1 magic 0x15638086 offset 0x242 value 0x0a sudo ethtool -E enp179s0f1 magic 0x15638086 offset 0x243 value 0x00 Note that the enp address can vary with the Ubuntu version.
        E.8.2.4) Small-Tree P2EI0G-2T 10-Gbit NIC   The Small-Tree P2EI0G-2T 2-Port 10GB LAN PCIe Adapter constitutes the actual base line in my X299 10Gbit LAN configuration. It works OoB with the Small-Tree 10GB macOS 10.13 driver.   The proper Small-Tree P2EI0G-2T PCI SSDT implementation is detailed in Section E.9.2)   E.8.2.5) NetGear ProSave XS508M 8-port 10-Gbit Switch   As already mentioned above, the NetGear ProSave XS508M 8-port 10GBit switch constitutes the turntable of my 10-GBit Ethernet Network. It further connects with a QNAP TS-431X2 Quad-core 4-Bay NAS tower with Built-in 10GbE SFP+ Port.   E.8.2.6) QNAP TS-431X2 Quad-core 4-Bay NAS tower   The QNAP TS-431X2 Quad-core 4-Bay NAS tower finally harbours 4x 12 TB Seagate IronWolf drives in RAID 0 configuration (as I rather opt for read/write speed than redundancy).   E.8.2.7) 10-GBit Ethernet Optimisation   1.) Use SMB 3.0 instead of AFS for your Ethernet communication. 2.) Enable Jumbo Frames on your NAS and macOS network settings. 3.) The service order in your macOS network settings should have your 10-Gbit NIC at first position. 4.) You can turn off the SMB packet signing of the client and server in a secure network.   Incoming SMB Enter the following terminal commands: sudo -s
 echo "[default]" >> /etc/nsmb.conf 
echo "signing_required=no" >> /etc/nsmb.conf 
exit  
      Outgoing SMB:   Enter the following terminal commands: smbutil statshares -a sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server SigningRequired 0  
      E.9) ASUS Prime X299 Deluxe / WS X299 Sage 10G PCI Device Implementation   In order to properly implement all PCI device drivers on his/her system and build, one needs adequate ACPI DSDT Replacements and a sophisticated system SSDTs. Both requirements have been originally successfully implemented for the ASUS Prime X299 Deluxe by our gorgeous @apfelnico. Many thanks for the extensive efforts and extremely fruitful and brilliant work! Subsequently, I adopted the ACPI DSDT Replacements and system SSDTs in concordance with SMBIOS iMacPro1,1. Some ACPI DSDT Replacements are still part of the config.plist contained in my actual respective X299 EFI-Folder distribution. Others are part of my System SSDTs provided in my X299-System-SSDTs Github repository.

      Note that the ACPI DSDT Replacements in config.plist and System SSDTs are build and PCIe slot population dependent and have to be verified and adopted or modified for all mainboards different from the ASUS Prime X299 Deluxe and builds or PCIe slot populations different from the one that constitutes the baseline of this guide.   For the ASUS Prime X299 Deluxe and ASUS WS X299 Sage 10G I will use in the following the PCIe Slot nomenclature depicted below:   ASUS Prime X299 Deluxe:     ASUS WS X299 Sage 10G:     The verification and likely adaptation/modification can be performed by the help of IORegistryExplorer.   How to adopted or modify the ACPI DSDT Replacement Patches and System SSDT implementations is detailed within this short guideline by means of the OSXWIFI PCIe Adaptor implementation in PCIe Slot-3. I hope that by this specific example it rapidly becomes evident that the correct PCI Device implementation cannot be outlined for each individual "build-in" or "slot-specific" PCI device within this guide. The complexity and effort would just exceed by far all available capacities and indeed require the implementation of a separate guide and thread in addition. I therefore hope on your skills and flexibility to extend and apply the approach and methodology detailed above to any other "build-in" or "slot-specific" PCI device yet to be adopted or implemented

      Important Note: It is strongly recommend to perform a stepwise SSDT PCI Device implementation, starting with one single specific PCI device. Once this PCI device has been successfully implemented, another SSDT PCI Device module can be added and verified. In case that the implementation of a specific PCI Device would be erroneous and fail, it would simply disappear from Section "PCI" of Apple's System report. To facilitate the stepwise PCI device implementation, the former SSDT-X299-iMacPro.aml has been split into separated modules now forming part of my X299-System-SSDTs Github repository.   Also keep always in mind to modify/adopt the ACPI replacements in your config.plist in parallel when ever necessary!   Note once more that the ACPI DSDT Replacements in config.plist and System SSDTs require SMBIOS iMacPro1,1.     E.9.1)  ACPI DSDT Replacement Implementation   Note once more that all required ACPI DSDT Replacements are already implemented in the config.plist in the /EFI/CLOVER/ directory of my actual respective X299 EFI-Folder distribution or are directly part of the System SSDTs provided in my X299-System-SSDTs Github repository. In the config.plist, the ACPI DSDT Replacements are disabled by default, thus we will now open the config.plist in the /EFI/CLOVER/ directory of our 10.14 System Disk EFI-Folder with Clover Configurator and stepwise adopt (if necessary) and enable the different required DSDT replacement patches in Clover Configurator Section "ACPI" under "DSDT patches", by also discussing their respective function and impact.   a.) The PC00 -> PCI0 ACPI DSDT replacement patch has the main aim to achieve a SMBIOS iMacPro1,1specific PCI implementation. Note that under SMBIOS iMacPro1,1 all other PC0x definitions remain unchanged.   Please enable now the PC0x -> PCIx ACPI DSDT replacement patch. Comment:            Find*[Hex]     Replace [Hex] PC00 -> PCI0        50433030       50434930  
      b.) OSI -> XOSI, EC0_ -> EC__ and H_EC  -> EC__ are once more ACPI DSDT replacement patches to achieveconsistency with the SMBIOS iMacPro1,1 variable naming.   i.) XOSI functionality is required as explained by @RehabMan.   The ACPI code can use the_OSI method (implemented by the ACPI host) to check which Windows version is running. Most DSDT implementations will vary the USB configuration depending on the active Windows version. When running OS X, none of the DSDT _OSI("Windows <version>") checks will return "true" as there is only response from "Darwin". This issue can be solved by implementing the "OS Check Fix" family of DSDT patches in the SSDT. By DSDT patching we can simulate a certain version of Windows although running Darwin and we can obtain a system behaviour similar to a windows version specific environment.   ii.) On the Asus X299 Prime Deluxe / WS X299 Sage 10G and most likely on all other X299 mobos we have the EC0 and H_EC controllers,which have to be renamed to 'EC' for proper USB power management.  Thus once more investigate your mainboard specific IOREG entry and enable both EC0_ -> EC__ or and H_EC  -> EC__ DSDT Replacement Patches. Comment:             Find*[Hex]      Replace [Hex] OSI -> XOSI          5f4f5349        584f5349 EC0_ -> EC__         4543305f        45435f5f H_EC  -> EC__        485f4543        45435f5f  
      c.) The HEC1 -> IMEI and IDER->MEID ACPI DSDT Replacement patches are Intel Management Engine Interface relatedand are vital as MacOS requires the variable names "IMEI" and "MEID" to load the 'AppleIntelMEIDriver'. The latter functionality solves the 'iTunes/Apple Store Content Access Problem' which is discussed here.   Please enable now both ACPI DSDT Replacement patches independent from your mainboard. Comment:             Find*[Hex]       Replace [Hex] HEC1 -> IMEI         48454331         494d4549 IDER->MEID          49444552         4d454944  
      d.) The LPC0 -> LPCB ACPI DSDT Replacement Patch is AppleLPC and SMBus related and is applied for consistency withthe variable naming on a real Mac. Note that LPCB injects AppleLPC, which however is not required in the X299 environment. X299 Systems seem to have sleep problems with the SMBus properties injected. Thus, LPCB will not be implemented by means of any SSDT.   Please enable now this ACPI DSDT replacement patch independent from your mainboard. Comment:             Find*[Hex]         Replace [Hex] LPC0 -> LPCB         4c504330           4c504342  
      e.) FPU_->MATH, TMR_->TIMR, PIC_->IPIC are all ACPI DSDT Replacement Patches for consistency with the variablenaming on a real Mac. The variables are however functionless on either our X299 boards or real Macs.   Please enable now all three ACPI DSDT Replacement Patches independent from your mainboard. Comment:             Find*[Hex]        Replace [Hex] FPU_ -> MATH         4650555f          4d415448 TMR_ -> TIMR         544d525f          54494d52 PIC_ -> IPIC         5049435f          49504943  
      f.) The SMBS._ADR -> XSBU.XADR Replacement frees SBUS two show up in IOREG. In principle we have two devices with the same address, one called SMBS and the other one called SBUS. SBUS will never show up in IOREG as long SMBS exists. But SBUS is exactly the variable we need in concordance with the IOREG from the iMacPro Dump.   Please enable now this ACPI DSDT replacement patch independent from your mainboard. Comment:                       Find*[Hex]                     Replace [Hex] SMBS._ADR -> XSBU.XADR         534d4253 085f4144 52           58534255 08584144 52  
      g.) The DSM -> XDSM DSDT replacement patch is vital for loading the SSDT-X299-iMacPro.aml, as all DSM methods used in theoriginal DSDT do have a not compatible structure totally different from the real Mac environment. Without any fix, all DSM methods would be simply ignored. Note that one single device can have only one DSM method, which can assign additional properties to the respective device.   Thus please enable the latter DSDT replacement patch completely independent from your mainboard! Comment:             Find*[Hex]         Replace [Hex] _DSM -> XDSM         5f44534d            5844534d  
      h.) The 56 CPxx -> PRxx replacements are i9-7980XE specific and result in a proper CPU core reordering as well as in a iMac Pro specific CPU core variable naming.   All i9-7980XE users can now enable all 56 CPxx -> PRxx replacements. All users of CPUs different from the i9-7980XE have to adopt/modify the 56 CPxx -> PRxx replacements in concordance with their original IOREG CPU core values. Comment:             Find*[Hex]        Replace [Hex] CP00 -> PR00         43503030          50523030 CP01 -> PR01         43503031          50523031 CP02 -> PR02         43503032          50523032 CP03 -> PR03         43503033          50523033 CP04 -> PR04         43503034          50523034 CP05 -> PR05         43503035          50523035 CP06 -> PR06         43503036          50523036 CP07 -> PR07         43503037          50523037 CP08 -> PR08         43503038          50523038 CP09 -> PR09         43503039          50523039 CP0E -> PR10         43503045          50523130 CP0F -> PR11         43503046          50523131 CP10 -> PR12         43503130          50523132 CP11 -> PR13         43503131          50523133 CP12 -> PR14         43503132          50523134 CP13 -> PR15         43503133          50523135 CP14 -> PR16         43503134          50523136 CP15 -> PR17         43503135          50523137 CP1C -> PR18         43503143          50523138 CP1D -> PR19         43503144          50523139 CP1E -> PR20         43503145          50523230 CP1F -> PR21         43503146          50523231 CP20 -> PR22         43503230          50523232 CP21 -> PR23         43503231          50523233 CP22 -> PR24         43503232          50523234 CP23 -> PR25         43503233          50523235 CP24 -> PR26         43503234          50523236 CP25 -> PR27         43503235          50523237 CP2A -> PR28         43503241          50523238 CP2B -> PR29         43503242          50523239 CP2C -> PR30         43503243          50523330 CP2D -> PR31         43503244          50523331 CP2E -> PR32         43503245          50523332 CP2F -> PR33         43503246          50523333 CP30 -> PR34         43503330          50523334 CP31 -> PR35         43503331          50523335 CP0A -> PR36         43503041          50523336 CP0B -> PR37         43503042          50523337 CP0C -> PR38         43503043          50523338 CP0D -> PR39         43503044          50523339 CP16 -> PR40         43503136          50523430 CP17 -> PR41         43503137          50523431 CP18 -> PR42         43503138          50523432 CP19 -> PR43         43503139          50523433 CP1A -> PR44         43503141          50523434 CP1B -> PR45         43503142          50523435 CP26 -> PR46         43503236          50523436 CP27 -> PR47         43503237          50523437 CP28 -> PR48         43503238          50523438 CP29 -> PR49         43503239          50523439 CP32 -> PR50         43503332          50523530 CP33 -> PR51         43503333          50523531 CP34 -> PR52         43503334          50523532 CP35 -> PR53         43503335          50523533 CP36 -> PR54         43503336          50523534 CP37 -> PR55         43503337          50523535  
      Resulting CPU Core Implementation:         E.9.2) System SSDT PCI Device Implementation   ASUS Prime X299 Deluxe       ASUS WS X299 Sage 10G       For the proper PCI device driver implementation (detailed in the figure above), within my X299-System-SSDTs Github repository one finds two sets of system SSDTs for the ASUS Prime X299 Deluxe and the ASUS WS X299 Sage 10Grespectively, which partly need to be modified/adapted/extended, depending on the user specific motherboard, device or PCIe Slot population/configuration. How to adopted or modify ACPI path, ACPI replacements and respective SSDT Device definitions is detailed within this short guideline by means of the OSXWIFI PCIe Adaptor implementation in PCIe Slot-3 of the ASUS Prime X299 Deluxe. Further note, that any PCIe devices in respective PCIe slots on e.g. the ASUS WS X299 Sage 10G, sharing the same PCI device on different PCI bridges, like PC02.BR2A.SL05 in case of the ANS1 NVME controller in Slot-1 (PCI bridge @10) and in case of the ARPT OSXWIFI Broadcom BCM94360CD BT/WIFI PCIe Adapter in Slot-3 (PCI bridge @08), need to be implemented in the same system SSDT, like in case of SSDT-X299-Slot1-Slot3-PC02-BR2A-SL05-ANS-ARPT.aml for the ASUS WS X299 Sage 10G.

      Note that each SSDT contains a DefinitionBlock entry and the underlying PCI device implementation. In case of necessary modifications/adaptations, don't forget to also modify/adapt the respective DefinitionBlock entries in concordance with your IOREG entries. The entire SSDT structure is now completely module like. Each module can be independently added, changed or removed in dependence of your specific build, needs and requirements. A stepwise implementation of the individual PCI device modules is highly recommended!


      E.9.2.1) - HDEF - onboard PCI Audio Controller PCI Implementation:

      The SSDT-X299-HDEF.aml onboard Realtek ALC S1220A Audio Controller chipset HDEF PCI device implementation is valid for the ASUS Prime X299 Deluxe  / ASUS WS X299 Sage 10G and likely for all other mainboards with the same Audio Controller chipset. It is a build-in device and does not have any slot specific dependency. Note the CAVS -> HDEF replacement directly performed within the SSDT!

      E.9.2.2) - GFX0, HDAU - GPU and HDMI/DP Audio PCI implementation:
        A.) AMD Radeon RX GPUs   The Github X299 SSDT repository now contains the following AMD GFX0, HDAU ASUS Prime X299 Deluxe PCIe Slot-1 SSDTs:   1.) SSDT-X299-Vega64.aml 2.) SSDT-X299-Vega56.aml 3.) SSDT-X299-Vega-Fontier.aml 4.) SSDT-X299-RX580.aml 5.) SSDT-X299-RX560.aml
      The SSDT-X299-Vega.aml GFX0 and HDAU PCI device implementation is valid for SMBIOS iMacPro1,1 (GFX0), the ASUS Prime X299 Deluxe and any Radeon RX Vega 64 GPU implemented in PCIe Slot 1.

      It is a build and PCIe slot population dependent device implementation. Vega GPU users with more than one graphics card, with with a Vega graphics card in a PCIe slot different from PCIe Slot 1 or with a mainboard different from the ASUS Prime X299 Deluxe, will have to adopt the respective device path entries PC02.BR2A, ACPI DSDT replacements and PCIe Slot definition following their respective IOREG entries. Note in this context the actual SL05 -> PEGP ACPI DSDT replacements directly performed within the SSDT.

      The above default Vega PCI device implementation performs an OC of an air-flow Nitro+ Vega 64 GPU of up to 1630 Mhz while considering an IDLE fan speed of 1500 Mhz. This seems sufficient to remain with GPU temps of about 80 deg C under GPU load conditions (e.g. Valley Benchmark), while not exceeding any comfortable noise level.

      The latter Vega properties are achieved by means of a sophisticated "PP_PhmSoftPowerPlayTable" and "PP_DisablePowerContainment" and "PP_FuzzyFanControl" SSDT implementation.

      Everybody can change the respective Vega properties by means of VTGTab-en.app, which provides a modified "PP_PhmSoftPowerPlayTable" (output-file VegaTab_64_data.txt), which can replace the "PP_PhmSoftPowerPlayTable", currently implemented in my SSDT-X299-Vega.aml distribution. E.g. users with a water-blocked Nitro+ Vega 64 like myself want to further screw the max. GPU OC frequencies, etc., while others might want to further improve the fan speed behaviour on air-flow Vegas..

      Below the "PP_PhmSoftPowerPlayTable" for my custom water-blocked Sapphire Nitro+ Vega 64 8B, with P7 Core Frequency of 1680 Mhz, P7 Core Voltage of 1200 mV, P3 Memory Frequency of 1050 Mhz and a Memory Voltage of 1350 mV.   PP_PhmSoftPowerPlayTable:  with the help of the IORegistryExplorer. 0x9d, 0x02, 0x08, 0x01, 0x00, 0x5c, 0x00, 0x37, 0x07, 0x00, 0x00, 0xec, 0x2b, 0x00, 0x00, 0x1b, 0x00, 0x48, 0x00, 0x00, 0x00, 0x80, 0xa9, 0x03, 0x00, 0xf0, 0x49, 0x02, 0x00, 0x32, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x5c, 0x00, 0x36, 0x02, 0x2d, 0x02, 0x94, 0x00, 0x85, 0x01, 0xaf, 0x00, 0x19, 0x01, 0x7a, 0x00, 0x8c, 0x00, 0xa3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x59, 0x02, 0x00, 0x00, 0x90, 0x00, 0x8f, 0x02, 0x54, 0x01, 0x2a, 0x01, 0x7e, 0x01, 0x00, 0x71, 0x02, 0x00, 0x71, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x07, 0x00, 0x03, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x20, 0x03, 0x84, 0x03, 0xb6, 0x03, 0xe8, 0x03, 0x1a, 0x04, 0x4c, 0x04, 0x7e, 0x04, 0xb0, 0x04, 0x01, 0x01, 0x46, 0x05, 0x01, 0x01, 0x84, 0x03, 0x00, 0x05, 0x60, 0xea, 0x00, 0x00, 0x00, 0xdc, 0x4a, 0x01, 0x00, 0x01, 0x00, 0x77, 0x01, 0x00, 0x02, 0x90, 0x91, 0x01, 0x00, 0x03, 0x6c, 0xb0, 0x01, 0x00, 0x04, 0x01, 0x08, 0xd0, 0x4c, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xbc, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0xfc, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0e, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc4, 0x2f, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x56, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x7a, 0x02, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x90, 0x02, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x60, 0xea, 0x00, 0x00, 0x00, 0xdc, 0x4a, 0x01, 0x00, 0x00, 0x90, 0x5f, 0x01, 0x00, 0x00, 0x00, 0x08, 0x28, 0x6e, 0x00, 0x00, 0x00, 0x2c, 0xc9, 0x00, 0x00, 0x01, 0xf8, 0x0b, 0x01, 0x00, 0x02, 0x80, 0x38, 0x01, 0x00, 0x03, 0x90, 0x5f, 0x01, 0x00, 0x04, 0xf4, 0x91, 0x01, 0x00, 0x05, 0xd0, 0xb0, 0x01, 0x00, 0x06, 0xc0, 0xd4, 0x01, 0x00, 0x07, 0x00, 0x08, 0x6c, 0x39, 0x00, 0x00, 0x00, 0x24, 0x5e, 0x00, 0x00, 0x01, 0xfc, 0x85, 0x00, 0x00, 0x02, 0xac, 0xbc, 0x00, 0x00, 0x03, 0x34, 0xd0, 0x00, 0x00, 0x04, 0x68, 0x6e, 0x01, 0x00, 0x05, 0x08, 0x97, 0x01, 0x00, 0x06, 0xec, 0xa3, 0x01, 0x00, 0x07, 0x00, 0x01, 0x68, 0x3c, 0x01, 0x00, 0x00, 0x01, 0x04, 0x3c, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x35, 0x01, 0x00, 0x01, 0x00, 0x00, 0x28, 0x9a, 0x01, 0x00, 0x02, 0x00, 0x00, 0x01, 0x08, 0x00, 0x98, 0x85, 0x00, 0x00, 0x78, 0xb4, 0x00, 0x00, 0x60, 0xea, 0x00, 0x00, 0x50, 0xc3, 0x00, 0x00, 0x01, 0x78, 0xff, 0x00, 0x00, 0x40, 0x19, 0x01, 0x00, 0xb4, 0x27, 0x01, 0x00, 0x50, 0xc3, 0x00, 0x00, 0x02, 0x80, 0x38, 0x01, 0x00, 0xdc, 0x4a, 0x01, 0x00, 0xdc, 0x4a, 0x01, 0x00, 0x50, 0xc3, 0x00, 0x00, 0x03, 0xdc, 0x4a, 0x01, 0x00, 0x90, 0x5f, 0x01, 0x00, 0x90, 0x5f, 0x01, 0x00, 0x50, 0xc3, 0x00, 0x00, 0x04, 0x90, 0x5f, 0x01, 0x00, 0x00, 0x77, 0x01, 0x00, 0x90, 0x5f, 0x01, 0x00, 0x50, 0xc3, 0x00, 0x00, 0x05, 0x00, 0x77, 0x01, 0x00, 0x90, 0x91, 0x01, 0x00, 0x90, 0x5f, 0x01, 0x00, 0x50, 0xc3, 0x00, 0x00, 0x06, 0x6c, 0xb0, 0x01, 0x00, 0x6c, 0xb0, 0x01, 0x00, 0x00, 0x77, 0x01, 0x00, 0x50, 0xc3, 0x00, 0x00, 0x07, 0xc0, 0xd4, 0x01, 0x00, 0xc0, 0xd4, 0x01, 0x00, 0x90, 0x91, 0x01, 0x00, 0x50, 0xc3, 0x00, 0x00, 0x01, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xe4, 0x12, 0xdc, 0x05, 0xfc, 0x08, 0x41, 0x00, 0x0f, 0x00, 0x54, 0x03, 0x90, 0x01, 0x90, 0x01, 0x90, 0x01, 0x90, 0x01, 0x90, 0x01, 0x90, 0x01, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x21, 0x07, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x2c, 0x01, 0x00, 0x00, 0x4a, 0x00, 0x69, 0x00, 0x4a, 0x00, 0x4a, 0x00, 0x5f, 0x00, 0x73, 0x00, 0x73, 0x00, 0x64, 0x00, 0x40, 0x00, 0x90, 0x92, 0x97, 0x60, 0x96, 0x00, 0x90, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0xd4, 0x30, 0x00, 0x00, 0x02, 0x10, 0x60, 0xea, 0x00, 0x00, 0x02, 0x10  
      Note that I also changed the Nitro+ Vega 64 firmware to https://www.techpowerup.com/vgabios/200283/200283 (at BIOS jumper position 1). Don't forget to backup the original firmware, in case you return it to the seller! This thread might provide additional information in this context: https://forums.macrumors.com/threads/amd-polaris-vega-gpu-macos-support.2083168/.

      As already mentioned before, within my current Vega SSDT PCI device implementation, all available ports on the Gigabyte Vega 64 (3x HDMI, 3x DP), including multi-monitor support and display hot plug are automatically and successfully implemented. However, it seems that DP-port issues (black screen) remain, when employing the respective Vega SSDT PCI device implementation on Sapphire Nitro+ Vega 64 (2x HDMI, 2xDP) or ASUS Strix Vega 64 (2x HDMI, 2x DP, 1x DVI) GPUs, which only can be removed by adding Whatevergreen.kext v.1.2.2. Within such configuration, multi-monitor support and display hot plug can be fully achieved also in case of the latter custom Vegas (both 10.13.6 and 10.14.0). Whatevergreen.kext only seems required for all Vegas possessing less than 6 physical ports (including the original Vegas like Frontier and Vega 64), else the current Vega SSDT PCI device implementation does pretty well it's job, including successful system sleep/wake..   SSDT-X299-Vega-Frontier.aml contains former Kamarang frame buffer SSDT implementation by @apfelnico for 1x Radeon Vega Frontier in PCIe Slot 1 of ASUS Prime X299 Deluxe.   For any AMD RX Vega 64 in Slot-5 under PCI device PC01.BR1A.SL01 on PCI bridge @10, one finds a dedicated system SSDT SSDT-X299-Slot5-PC01-BR1A-SL01-Vega64.aml in the ASUS WS X299 Sage 10G subdirectory of the X299 SSDT Github repository. Be careful though, the implemented OC load table is for my water blocked Nitro+ RX Vega 64 and should not be used for any Vegas with air flow fan cooling. Latter users should implement the load table from  SSDT-X299-Vega64.aml for the ASUS Prime X299 Deluxe or generate their own GPU load table suited for their respective Vega 64 hardware implementation.   B.) Nvidia GPUs  

      The actual SSDT-X299-Nvidia.aml GFX0 and HDAU PCI device implementation is valid for SMBIOS iMacPro1,1 (GFX0), the ASUS Prime X299 Deluxe and any Nvidia Graphics Card implemented in PCIe Slot 1.

      It is a build and PCIe slot population dependent device implementation. Nvidia Graphics Card users with more than one graphics card, with a Nvidia graphics card in a PCIe slot different from PCIe Slot 1 or with a mainboard different form the ASUS Prime X299 Deluxe, will have to adopt the respective device path entries PC02.BR2A, ACPI DSDT replacements and PCIe Slot definitions following their respective IOREG entries. Note in this context the actual SL05 -> PEGP and PEGP -> GFX0 ACPI replacements directly performed within the SSDT.

      Also note that with 10.13.4, Apple changed the com.apple.driver.AppleHDAController implementation. To make the NVIDIA HDAU PCI device driver work for e.g. a GeForce GTX 1080 Ti, one needs to add the following KextToPatch entry in Section "Kernel and kext Patches" of Clover Configurator, as already implemented but yet disabled in the config.plist contained in my actual respective X299 EFI-Folder distribution:
        Name* Find* [HEX] Replace* [HEX] Comment com.apple.driver.AppleHDAController DE100B0E DE10EF10 FredWst DP/HDMI patch  
      Thus, please all Nvidia users enable and like adopt the NVIDIA HDAU patch for your particular Nvidia GPU in dependence of the respective device-id.

      Credits to @FreedWst and thanks to @fabiosun for pointing me to this solution. 

      Users of Whatevergreen.kext might be able to drop this KextToPatch entry, as the latter kext already properly implements the Nvidia HDAU PCI driver.
          E.9.2.3) - PMCR - onboard Power Management Controller (PMC) PCI Implementation:

      The SSDT-X299-PMCR.aml onboard Power Management PMCR PCI device implementation should be valid for all X299 mainboards and should not require any build specific adaptation/modification. Note the PMC1 -> PMCR ACPI replacement directly performed within the SDDT.

      E.9.2.4) - USBX:

      When using the XHCI device name for USB (see the XHCI PCI Device Implementation below), one observes a bunch of USB Power Errors when booting the system. The SSDT-X299-USBX.aml PCI device implementation fixes this errors.

      E.9.2.5) - XHCI - onboard Extended Host Controller Interface (XHCI) PCI Implementation:

      The SSDT-X299-XHCI.aml USB3.0 ASMedia ASM1074 / Intel X299 Series Chipset XHCI PCI device implementation is valid for the ASUS Prime X299 Deluxe / ASUS WS X299 Sage 10G and for all other X299 mainboards with the same XHC controller chipset. Verify and adopt/modify if necessary device path "PCI0.XHCI" and XHCI PCI device implementation by means of IOREG.

      E.9.2.6) - XHC2,3,4 - ASMedia ASM3142 USB 3.1 Controller PCI Implementation:

      The SSDT-X299-XHC.aml onboard ASMedia ASM3142/ASM1543 USB 3.1 XHC2,XHC3,XHC4 controller PCI device implementation is valid for the ASUS Prime X299 Deluxe and for all other X299 mainboards with the same XHC USB3.1 controller ASMedia ASM3142 chipset configuration. Note the following ACPI Replacements

      PCI0.RP01.PXSX -> PCI0.RP01.XHC2
      PCI0.RP05.PXSX -> PCI0.RP01.XHC3
      PCI0.RP07.PXSX -> PCI0.RP01.XHC4

      within the SSDT in concordance with the respective SMBIOS iMacPro1,1 variable naming. Verify and adopt/modify if necessary the corresponding "PCI0.RP01.XHC2", "PCI0.RP05.XHC3", "PCI0.RP07.XHC4" PCI device implementations by means of IOREG.   Note that there is a separate SSDT-X299-XHC.aml device implementation for the ASMedia ASM3142 USB3.1 XHC1 and XHC2 controllers on the ASUS WS X299 Sage 10G in the ASUS WS X299 Sage 10G subdirectory of the X299 SSDT Github repository.

      E.9.2.7) ANS1, ANS2 - Apple NVMe Controller PCI Implementation:

      The SSDT-X299-ANS.aml Apple NVMe Controller ANS1 and ANS2 PCI implementations are of purely cosmetic nature and are valid for the ASUS Prime X299 Deluxe. Note the following ACPI Replacements

      PCI0.RP09.PXSX -> PCI0.RP09.ANS1
      PCI0.RP21.PXSX -> PCI0.RP21.ANS2

      performed within the SDDT in concordance with the respective SMBIOS iMacPro1,1 variable naming.

      Verify and adopt/modify if necessary the "PCI0.RP09.ANS1" and "PCI0.RP21.ANS2" PCI device implementations by means of IOREG.   Note that there is a separate SSDT-X299-ANS.aml device implementation for the ASUS WS X299 Sage 10G in the ASUS WS X299 Sage 10G subdirectory of the X299 SSDT Github repository.

      E.9.2.8) - SAT1 - Intel AHCI SATA Controller PCI Implementation:

      The SSDT-X299-SAT1.aml onboard Intel AHCI SATA controller PCI device implementation is valid for the ASUS Prime X299 Deluxe / ASUS WS X299 Sage 10G and for all other X299 mainboards with the same AHCI SATA controller chipset. Verify and adopt/modify if necessary device path "PCI0.SAT1" and PCI device implementations by means of IOREG.

      E.9.2.9) - THSS - Intel Thermal Subsystem Controller Implementation:

      The SSDT-X299-THSS.aml onboard Intel X299 Series Thermal Subsystem controller PCI device implementation, recently provided by @apfelnico is valid for the ASUS Prime X299 Deluxe / ASUS WS X299 Sage 10G and for all other ASUS X299 mainboards with the same Thermal Subsystem controller chipset.

      E.9.2.10) XGBE - 10GBit NIC Implementation:

      SSDT-X299-ACQU.aml, SSDT-X299-X540-T1.aml and SSDT-X299-P2EI0G-2T.aml perform a XGBE (XGBF) PCI implementation of an Acquantia AQC107-AFW, Intel X540-T1 and Small-Tree P2EI0G-2T 10GB NIC, respectively and are mainly of cosmetic nature. For each PCIe Adapter and for different PCIe slot populations or mainboard implementations, the XGBE PCI device implementation needs to be adopted/modified accordingly. This also states for the respective ACPI path entries "PC03", "BR3A" and respective SL09 -> PEGP and PEGP -> XGBE ACPI Replacements (in compliance with the iMac Pro 10GB ACPI variable nomenclature), directly performed within each SSDT.   Note that there is a separate XGBE/XGBF PCI device implementation SSDT-X299-ETH.aml available for the 2x Intel X550-AT2 10GB onboard NICs of the ASUS WS X299 Sage 10G, which one finds in the ASUS WS X299 Sage 10G subdirectory of the X299 SSDT Github repository.

      E.9.2.11) - ETH0/ETH1 - onboard LAN Controller PCI Implementation:

      Note that the SSDT-X299-ETH.aml Intel I219V2 PCI Express Gigabit Ethernet and Intel I211VA PCI Express Gigabit Ethernet onboard LAN controller ETH0/ETH1 PCI implementations are of pure cosmetic nature and only valid for ASUS Prime X299 Deluxe or X299 mainboards with the same LAN Controller configuration. Owners of different X299 mainboards have to verify and adopt/modify if necessary the device these PCI device implementations by means of IOREG. Note the PCI0.GBE1 -> PCI0.ETH0, PCI0.RP02.D0A4 -> PCI0.RP02.PXSX and PCI0.RP02.PXSX -> PCI0.RP02.ETH1 ACPI replacements directly performed within the SSDT.   Note that there are no onboard 1GB hardware implementations on the ASUS WS X299 Sage 10G, thus E.9.2.11 can be skipped entirely by all users of the latter motherboard. 

      E.9.2.12) - ARPT - OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 AirPort Controller PCI Implementation:

      The SSDT-X299-ARPT.aml OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 AirPort Controller PCI device implementation is of pure cosmetic nature and only valid for users of the latter WIFI/Bluetooth PCIe Adapter in PCIe Slot 3 of the ASUS Prime X299 Deluxe. Users of this PCIe Adapter within a PCIe slot population different from PCIe Slot 3 or on a mainboard different form the ASUS Prime X299 Deluxe have to likely adapt/modify the respective device path "PC03","BR3D","ARPT" and likely also the respective ACPI Replacements PC03.BR3D.SL0C -> PC03.BR3D.PEGP and PC03.BR3D.PEGP -> PC03.BR3D.ARPT, directly performed within the SSDT. Users of the Asus Prime X299 Deluxe onboard Bluetooth chipset controller or with a completely different WIFI/Bluetooth configuration have to adopt the entire Airport PCI implementation by means of IOREG.   On the ASUS WS X299 Sage 10G, the ANS2 NVME controller in Slot-1 (PCI bridge @10) and the ARPT OSXWIFI Broadcom BCM94360CD BT/WIFI PCIe Adapter in Slot-3 (PCI bridge @08) share the same PCI device on different PCI bridges and therefore need to be implemented within the same system SSDT, namely SSDT-X299-Slot1-Slot3-PC02-BR2A-SL05-ANS-ARPT.aml, which one finds in the ASUS WS X299 Sage 10G subdirectory of the X299 SSDT Github repository.   E.9.2.13) - GC-Titan Ridge / GC-Alpine Ridge / ASUS TBEX 3 Thunderbolt HotPlug System Implementation:

      The current Thunderbolt development carefully focuses on iMac Pro SSDT-9.aml and DSDT.aml from @TheOfficialGypsy 's iMac Pro dump, which appear to be the cornerstone for a correct, proper and complete Thunderbolt Hackintosh Local Node implementation.

      The current development status is briefly reflected in posts      and 
       
      Constructive contributions by experts are highly desired.

      Until reaching a complete Thunderbolt Hackintosh Local Node implementation, SSDT-X299-TB3HP.aml constitute workarounds for achieving TB HotPlug and USB-C HotPlug functionality with the respective GC-Titan Ridge, GC-Alpine Ridge and TBEX 3 Add-In adapters.
       
      For all TB3 SSDTs provided above, partial contributions by  by @apfelnico, @nmano, @Mork vom Ork, @Matthew82, @maleorderbride and @TheRacerMaster shall be mentioned and outlined. Their use with mainboards different from ASUS and within PCIe slot populations different from PCIe Slot 4 requires the adaptation/modification of respective ACPI path definitions ("PC01", "BR1A") or ACPI DSDT Table replacements (SL01 -> PEGP and PEGP -> UPSB), directly performed within the SSDTs.
       
      Video: GC-Titan Ridge TB HotPlug + TB USB-C HotPlug under macOS Mojave 10.14.0 
       
      GC-Titan Ridge + ASUS Prime X299 Deluxe + SSDT-X299-TB3HP-TTR.aml +TB HotPlug TB + TB USB-C HotPlug successfully verified under macOS Mojave 10.14.0
       

       
      Klick the link below to see the video:
       
      https://youtu.be/8P0X5Z7giEg
       
      Like always, I verified TB HotPlug with my  5 TB Lacie Rugged Thunderbolt 2 HDD (+ Apple TB3 -> TB2 adopter) and TB USB-C HotPlug with my Transcend JetFlash 850 USB 3.1 Type-C Stick.
       
      In the meanwhile, I also successfully verified GC-Titan Ridge + ASUS Prime X299 Deluxe + SSDT-X299-TB3HP-TTR.aml +TB HotPlug TB + TB USB-C HotPlug under macOS High Sierra 10.13.6   I also successfully verified the GC-Titan Ridge DisplayPort 1.4 and DisplayPort 1.4 HotPlug functionality          as well as the Kanex Premium USB-C -> HDMI 4K Adapter and  Kanex Premium USB-C -> HDMI 4K Adapter HotPlug functionality.       Remaining issues: With the ASUS Prime X299 Deluxe, one faces a black screen (KP) issue on wake from sleep with TB devices connected to the GC-Titan Ridge during sleep. The issue can be omitted by disconnecting TB devices primer to system sleep. There are no sleep/wake issues with USB-C devices connected to the GC-Titan Ridge. 

      Note that there is a separate SSDT-X299-TB3H.aml for TB3 Add-in PCIe adapters in Slot-2 under PCI0.RP05.PXSX of the ASUS WS X299 Sage 10G, which is also compatible with the ASUS Prime X299 Deluxe II onboard TTR implementation and accessible in the ASUS WS X299 Sage 10G subdirectory of the X299 SSDT Github repository. Test on GC-TTR / ASUS WS X299 Sage 10G functionality/compatibility are currently ongoing.   
      E.9.2.14) - DTGP Method:

      SSDT-DTPG.aml is mandatory for all SSDT implementations listed above (note the external DTPG method call in the definition block of each respective SSDT) and must be always part of /EFI/Clover/ACPI/patched..
       
      External (DTGP, MethodObj) // 5 Arguments (from opcode)   E.9.2.15) - Debugging Sleep Issues:   For debugging sleep issues as proposed by Pike Alpha, one can add SSDT-SLEEP.aml to /EFI/CLOVER/ACPI/patched and follow Pike's comment and advices provided at https://pikeralpha.wordpress.com/2017/01/12/debugging-sleep-issues/     E.10) iMac Pro Boot Splash Screen Cosmetics   Based on the ideas and instructions of @Matthew82, I achieved an iMacPro ASUS Boot Splash Screen     by means of the following procedure:   1.) Installation of the BREW distribution (if not already performed in Section B.1):   a.) Open a terminal and change to "bash" shell. bash  
      b.) Now enter the following "bash" terminal command and follow the standard BREW installation instructions: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"  
      2.) After the successful installation of the BREW distribution, we have to implement the QT5 distribution, again by using a "bash" terminal shell. If not already performed in Section B1.), just enter the following "bash" terminal commands: brew install qt5 brew link qt5 --force  
      3.) After successfully implementing BREW and QT5 and if not already performed in Section B.1), we can now download the actual CodeRush UEFIPatch distribution from Github to our home directory with the following terminal command: git clone https://github.com/LongSoft/UEFITool  
      4.) Now compile the UEFI Tool distribution with the following terminal commands: cd /UEFITools/ qmake uefitool.pro make  
      5.) Download and unzip iMacPro.raw to your Desktop.   6.) Now launch by UEFITool by clicking on the newly compiled UEFITool.app in the UEFITools Folder in your home directory.   a.) Select "File" -> "Open image file" and load your patched or unpatched BIOS Firmware distribution.   Select "Search.." in the UEFITool "Edit" Menu and perform a "GUID" search of "7BB28B99-61BB-11D5-9A5D-0090273FC14D" with "Header only"...     You will receive a message "GUID pattern "7BB28B99-61BB-11D5-9A5D-0090273FC14D" found as .... in 7BB28B99-....". Double click on that message and search for the "Raw section" accompanying the "7BB28B99-...." entry, which indeed is the Boot Image, which you can easily verify by extracting the raw section body (right-click on "Raw section" and select "Extract body") to your Desktop and by subsequently opening the extracted raw-file directly with Apple's "Preview.app" (right-click an the raw file and select "Open with.." -> Preview.app).   b.) To exchange the default original ASUS Boot Logo image file stored in "Raw Section" by the iMacPro.raw image file that you previously downloaded to your Desktop,  right-click again on "Raw section", select this time "Replace body"  and select the iMacPro.raw image file on your Desktop.     Note that the actual image dimension of iMacPro.raw (2131pix x 1457pix) was adopted for its use on my 38" LG 38UC99. For monitors with reduce screen resolution, iMacPro.raw might have to be adopted to an image dimension that suites your particular screen resolution, before its upload to "Raw section". If the Boot Logo image dimension is too big for your Monitor's screen resolution, you might just end up with a black screen during the BIOS initialisation at boot.   To do so, select in the Preview.app Menu -> "Tools" -> "Adjust Size". Change the image dimension and save the modified image with "File" -> "Export". In the "Export menu" press "Save", after selecting "JPEG" under "Format" , after choosing "Desktop" as the place to store the image, and after entering the new file name, which has to end with ".jpg".   Double-check by right-clicking on the resulting jpg image file and selecting "Get Info" that its file size does no exceed 200KB by far. If the latter would be the case, you would not be able to save the modified BIOS Firware file subsequently.   Finally just rename your new "XXXX.jpg" file to "XXXX.raw....   I guess, that by following the procedure detailed above, it is obvious that iMacPro.raw also can be substituted by any other image of your personal choice. Just be aware that it's background colour should be black (ecstatic reason for a its nice integration within the else black ASUS BIOS Boot Screen)   c.)  After replacing "Raw Section" with iMacPro.raw or the XXX.raw image of your choice, save your modified BIOS Firmware File with the Option "File" -> "Save Image File..."   d.) Copy your modified BIOS Firmware file to a USB3.0 Flash Drive, formatted with FAT32.   e.) Reboot, enter the Mainboard BIOS and save your BIOS settings to the USB Flash Drive   f.) Flash your mainboard BIOS with the modified BIOS Firmware   g.) Renter the Mainboard BIOS and restore your BIOS settings from the USB Flash Drive   h.) Save your restored BIOS settings with (F7) and (F10), reboot and you are done.   Just don't forget to set BIOS Setting "Boot Logo Display" to "Auto", when using this new approach. Any different setting might result in a black screen during BIOS initialisation.     E.11) iMac Pro Desktop Background cosmetics   It might be nice to equip your iMac Pro X299 also with the adequate iMac Pro Desktop Background.   1.) Download, unzip and copy imac-pro-wallpaper.jpg.zip to your Dektop   2.) Right-click with the mouse on your Desktop and select "Change Desktop Background.."   3.) In the left column click on the "+" and add your Desktop Folder   4.) Select imac-pro-wallpaper.jpg to be your new Desktop Background      E.12) iStatMenus Hardware Monitoring   Thanks to extended tweet session between @BJango, @gxsolace and myself, it seems that we achieved a major step forward in properly monitoring Skylake-X/X299 Hardware with iStatMenus. iStatMenus now correctly interfaces with the HWSensor and FakeSMC kext distribution provided by @interferenc.   The actual iStatMenus v6.2 distribution can be assessed at https://bjango.com/mac/istatmenus/   The actual HWSensor and FakeSMC kext distribution of @interferenc can be assessed at https://github.com/interferenc/HWSensors   To compile the the HWSensor and FakeSMC kexts of @interferenc, perform the individual steps detailed below:   1.) git clone https://github.com/interferenc/HWSensors 2.)
      cp HWSensors ~/Desktop/ 3.)
      cd ~/Desktop/HWSensors 4.)
      xcodebuild -project Versioning\ And\ Distribution.xcodeproj/ 5.)
      xcodebuild -project HWMonitor.xcodeproj/ 6.)
      xcodebuild -project HWSensors.xcodeproj -alltargets  
      Subsequently, one finds the all compiled binaries in ~/Desktop/HWSensors/Binaries/.   Note that all compiled kext binaries are once more attached towards the bottom of this originating thread (guide). Just download and unzip HW-Sensors-IF.zip and copy all kexts to /EFI/Clover/kexts/Other/. Note that this pre-compiled binary package already implements a modified GPU Sensor kext of @Kozlek, which should also account for Polaris GPUs.   Many thanks to both @interferenc and @Bjango for their awesome and extensive contributions and brilliant work!   Skylake-X/X299 iStatMenus Hardware Sensor Data:     Skylake-X CPU Thread Utilisation Graphs:     To change from CPU core to thread utilisation monitoring, uncheck "Hide Hyper-Threading cores" in Section "CPU & GPU" of iStatMenus Preferences.     Temperature unites can be adjusted between Celsius, Fahrenheit and Kelvin in Section "Sensors" of iStatMenus Preferences.     F.) Benchmarking   F.1) Sylake-X Intel I9-7980XE (4.7GHz) CPU Benchmarking   Jesus        F.2) Sapphire Nitro+ RX Vega 64 8GB                       G.) Summary and Conclusion   Already under macOS 10.13 High Sierra, Syklake-X/X299 systems reached full functionality together with flawless stability. Now with macOS 10.14 Mojave, it might be another opportunity to follow my iMac Pro Build and Desktop Guide to unfold the unbelievable Skylake-X/X299 potential!   High-end builds based on extremely novel Skylake-X/X299 technology have found manifold application, not only in science and research at universities or research institutions, engineering facilities, or medical labs, etc... Skylake-X processors with up to 18 cores (36 threads) and turbo frequencies up to 4.8 GHz have made X299 to a "relatively cheap" but really serious alternative to real iMac Pro's and Mac Pro's. The principal intention of my desktop guides is to demonstrate, that we are able to build and configure fully functional and relatively "low-cost" high-end systems, which go far beyond of what Apple is able to offer at present or will be ever able to offer for some reasonable pricing. Skylake-X/X299-Systems, that allow the use of all software-packages developed for MacOS, Unix, Linux or even Windows at the same time (e.g. think on Vine, Parallels, or a dual boot system configuration). The flexibility between different mainboards (Asus, Gigabyte, ASRock, MSI, etc.), different Skylake-X processors, and different RAM memory configurations (16-128GB) make such systems affordable for anybody (also home office, audio and video editing/production, etc.) and allows their perfect adaptation for each specific purpose, requirement and available budget. It might not be necessary to outline, that current Skylake-X/X299 Systems perform absolutely stable on a 24/7/365 basis.   I am a scientist, expert in solar physics, space weather forecast and related telescope/instrument/space-mission development. In the frame of my scientific research, I developed parallelized image reconstruction, spectral line inversion and numerical modeling algorithms/applications, which require tremendous parallelized calculation power, RAM memory and storage capacities to reduce, analyze and interpret extensive and pioneering scientific ground-based or space-born observational data sets. This basically was also the professional motivation for developing innovative iMac Pro macOS Builds iSPOR-S (imaging Spectropolarimetric Parallel Organized Reconstruction Servers running iSPOR-DP, the Imaging Spectropolarimetric Parallel Organized Reconstruction Data Pipeline software package for the GREGOR Fabry-Pérot Interferometer, located at the 1.5m GREGOR Solar Telescope (Europe's largest solar telescope) on Tenerife, Canary Islands, Spain) as well as for the entire related iMac Desktop Guide Development, which naturally shall also be of benefit for others.  Anybody interested can find more details on my personal webpage.    
    • By fusion71au
      Making a High Sierra USB Installer Entirely From Scratch in Windows
      This is a proof of concept tutorial, to show it's possible to create a vanilla High Sierra installer, entirely from scratch, in Windows (even without App Store downloaded "Install macOS High Sierra.app" from a real Mac ).  @PikeRAlpha's link to Apple's Software Catalog provides us with all the URLs necessary to download the needed files directly from Apple instead of some dubious source from the internet...
       

      Pre-Requisites
      8GB or larger USB drive Boot Disk Utility v2.1.2017rev021b from @CVAD TransMac (free 15 day trial) Paragon Hard Disk Manager Free Download Installer Files Directly from Apple
      1)  Browse Apple's Regular Software Catalog and find the URLs to download the following 6 installer files...
      BaseSystem.dmg BaseSystem.chunklist InstallInfo.plist InstallESDDmg.pkg AppleDiagnostics.dmg AppleDiagnostics.chunklist (Hint - search page for "InstallESD" to find its URL and others nearby)

      to a folder named "SharedSupport" on your Windows NTFS drive.  A browser download manager (eg Chrono for Chrome, dTA for FireFox) is handy since InstallESD is >4GB ---> allows you to pause/resume interrupted download...

      2)  Rename InstallESDDmg.pkg to InstallESD.dmg
      3)  Edit InstallInfo.plist with WordPad/text editor to remove the chunklistURL and chunklistid keys for InstallESD, and renaming it from InstallESDDmg.pkg to InstallESD.dmg (example of edited file attached to this post)...
      Note:  You can verify the SHA1 checksum of your InstallESD.dmg and BaseSystem.dmg with the correct ones at this website.
      Boot Disk Utility to format the Installer USB and Restore OS X Base System HFS partition
      1.  Format USB with BDU & latest Clover ---> creates boot files in CLOVER partition + second FAT partition
      2.  Extract 4.hfs from \SharedSupport\BaseSystem.dmg with BDU --> save to it's local folder
      3.  Restore 4.hfs to USB second partition with BDU --->  2nd partition becomes bootable "OS X Base System"
      Paragon Hard Disk Manager to extend HFS Partition to its Full Extent
      Open Paragon Partition Manager Free and resize the second partition of the USB drive to the full size allowed.  Don't forget to apply the changes at the end...
      Transmac to Copy "SharedSupport" folder to OS X Base System
      1.  Open the TransMac program and navigate to the HFS+ Volume/Install macOS High Sierra.app/Contents folder.  Right click anywhere in the empty space on the RHS pane and select "Copy Here"...
      2.  In the next stage, select the "SharedSupport" folder we created above as the "Files and Folders to be copied to the Mac Volume"...
      Clover Settings
      Clover configuration is required now.  The default config.plist (in the Clover FAT32 partition of the USB) maybe sufficient to boot your machine if you’re lucky.  If not, look at the Clover Wiki, Clover Instructions and Clover Configuration Thread for pointers and edit /EFI/Clover/config.plist accordingly with Wordpad or Notepad.
      The location of the important configuration files for Clover are summarized below
      config.plist--->EFI/CLOVER folder DSDT.aml with or without SSDT.aml--->EFI/CLOVER/ACPI/patched (don't need one if your DSDT is auto patched by Clover in config.plist) Kexts eg FakeSMC, NullCPUPowerManagement --->EFI/CLOVER/kexts/<osx version> or /Other. NB BootDiskUtility by default already has FakeSMC.kext installed here.  You may need to add VoodooPS2Controller for your laptop keyboard/trackpad to work. If UEFI booting, you will most likely need one of the OsxAptioFixDrv-64 drivers copied from /EFI/CLOVER/drivers-off/drivers64UEFI to /EFI/CLOVER/drivers64UEFI. If you want to use the installer to run High Sierra in Windows on VMware, you can follow my guide to set up the Virtual Machine and replace Clover's default config with EFI_Clover for VMware (which is compatible to run in VMware).  In the screenshots below, I have attached the USB Installer (in this case PhysicalDrive7) to my macOS Virtual Machine.  Reboot the system to the USB installer to install High Sierra ...
      What happens if we don't have access to TransMac or Paragon Hard Disk Manager?
      Not a problem, as long as we get "OS X Base System" bootable, we can launch terminal from the Utilities Menu to copy the SharedSupport folder over to the Installer app.  In essence, we will build the full installer app = 5GB+ on the target HD eg "Macintosh HD", by copying both the "small" installer app = 15MB (on "OS X Base System") and the SharedSupport folder from the NTFS volume (mounted in this example on /Volumes/DATA)...
      -bash-3.2# cd / -bash-3.2# cp -R Install\ macOS\ High\ Sierra.app /Volumes/Macintosh\ HD/ -bash-3.2# cp -R /Volumes/DATA/SharedSupport /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app/Contents/  
      ...then start installation with the startosinstall utility...
      -bash-3.2# /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --volume /Volumes/Macintosh\ HD --converttoapfs NO --applicationpath /Volumes/Macintosh\ HD/Install\ macOS\ High\ Sierra.app  
      The above steps can be automated with the attached "startosinstall.command" script, which will assemble "Install macOS High Sierra.app" on "Macintosh HD" and launch the startosinstall utility targeting the "Macintosh HD" volume.  Copy/download to "Macintosh HD", then run in terminal (after attaching DATA USB with /Shared Support folder)...
      cd "/Volumes/Macintosh HD" chmod +x startosinstall.command ./startosinstall.command Updated Download Links for macOS Mojave 10.14.3_18D109
      Browse Apple's Regular Software Catalog and find the URLs to download the following 6 installer files...
      BaseSystem.dmg BaseSystem.chunklist InstallInfo.plist InstallESDDmg.pkg AppleDiagnostics.dmg AppleDiagnostics.chunklist  
      Note: In Mojave, Apple has removed the --converttoapfs NO and --applicationpath arguments from the startosinstall utility....
       
      eg to use startosinstall for the above section "What happens if we don't have access to TransMac or Paragon Hard Disk Manager?", the syntax is now
      -bash-3.2# /Volumes/Macintosh\ HD/Install\ macOS\ Mojave.app/Contents/Resources/startosinstall --volume /Volumes/Macintosh\ HD  
      This basically means that for Mojave, the default installation will always convert the target volume to the apfs file system.
       
       
      startosinstall.command.zip
      InstallInfo.plist_edited_10.13.6.zip
      InstallInfo.plist_edited_10.14.2.zip
      InstallInfo.plist_edited_10.14.3.zip
       
    • By h2onions
      Hey all,
       
      First Hackintosh that I think I have completed! I've been working on it on and off for a month, but just grinded it this past weekend. I just have a small QOL issue. I have posted in the r/Hackintosh reddit, but have not gotten a reply to this specific issue, but did for other issues I was having. I also posted at tonymacx86 and was getting replies for other issues I was having, but got banned because I said, "used VM, but didn't work" in my OP I think ...
       
      I followed a PC vanilla guide from r/Hackintosh that I found as I did not have an Apple system. One monitor connected to a GTX 1080, CPU: i7-8700, Coffee Lake. Motherboard is Alienware specific 0VDT73, with chipset Z370.
       
      The issue is every time High Sierra boots up and gets to the login screen, my keyboard and mouse do not work. I only have to reseat both and then they work the whole time until I restart. They are both plugged into USB2.0 ports. I do have Lilu, WhateverGreen, USBInjectAll, and VoodooPS2 installed in my /Library/Extensions folder using #####. Mouse and Keyboard work fine each time I boot to Clover (USB). Any ideas?
       
      Thank you!
      Working: NVIDIA using (One) DisplayPort, USB3.0 (rear), USB-C (rear), USB2.0 (rear), Audio, Ethernet
       
      EDIT: Did some more testing, and it looks like my Keyboard works fine after each reboot, the only issue is that my mouse has to continuously be reseated. Any ideas? Could it just be the mouse?It's an old Inland USB mouse: 337451
×