Jump to content
bertolin

[Guide] macOS Sierra 10.12.1 + Windows 10 - Dual boot - Cintiq Companion 2

3 posts in this topic

Recommended Posts

Guide_Cintiq_Sierra%20copia.jpg

NOTE: This guide mixes static patch with hotpatch. It will be edited to make it works only with static patch soon. There's zero issues with this guide but it seems better not to mix patching methods (thanks, RehabMan)

 

Hello, everybody! 

 

After two years of using my Cintiq Companion 2 with Yosemite thanks to mactabletman’s guide and reading, testing a lot and trying to understand what I was doing, I’m in a good path to share my experiences and help you to install macOS Sierra in your Companion 2 keeping your Windows installation.

There are a few things that need to be solved, like sleep/wake (Cintiq goes to sleep, led blinks but display doesn’t wake up, maybe framebuffer, IOKit or PWR related) or audio using AppleHDA for codec ALC286 instead of VoodooHDA (I will add notes in each section about all this).

 

WE HAVE GOOD NEWS, CINTIQ MODE WORKS!!

(see notes at the bottom)

 

No need to say that I’m taking zero responsibilities of what happened if you follow this guide. We are all grown people and before taking any step you better read all the info you can find about what you are trying to accomplish. 

 

This guide is done for the Cintiq Companion 2 i5-4258U 128GB model (DTHW1310L) with the last BIOS version (MB01) but can be useful as a start for other CPU/graphic models. I’m assuming you updated or reinstalled and have Windows 10 running but same procedure is required for Windows 8/8.1.

 

WORKING: All except wake from sleep using Power Button (wake well if previously connected in Cintiq mode), PCI Realtek SD Card Reader, volume buttons and HDMI audio.

 

So first, things you are going to need:

 

- 2 usb drives (16GB and 32GB minimum), one for create an installer and another to install Sierra into.

- 1 usb keyboard and 1 usb mouse since Clover has no support for touch devices and touch doesn't work natively in Sierra as it does in Yosemite.

- 1 usb drive for Clonezilla (*optional but recommended)

- 1 external hard drive to backup your whole internal SSD using Clonezilla (*optional but recommended)

- An original Apple computer to create installer.

- A BCM94352Z WiFi and Bluetooth 4.0 card to replace default Intel wireless card. You can check how to open your device here.

 

* In order to create a Clonezilla Live USB, I recommend to use Yumi. You can create a multiboot installer for your Windows version, Ubuntu, Wifislax… very useful stuff. 

 

 

CREATING THE INSTALLER…

 

Ok, you did a backup of your data, so let’s create a usb installer for macOS Sierra:

 

- Download macOS Sierra from App Store, this will download the last update 10.12.1 

- Open Disk Utility and format your 16GB usb to HFS+J, GUID partition and rename it to install_osx.

- Copy and paste these commands in Terminal, one by one:

sudo "/Applications/Install macOS Sierra.app/Contents/Resources/createinstallmedia" --volume  /Volumes/install_osx --applicationpath "/Applications/Install macOS Sierra.app" --nointeraction

sudo diskutil rename "Install macOS Sierra" install_osx

INSTALLING CLOVER IN USB INSTALLER…

 

Now open the Clover installer and select your Install macOS Sierra USB, click on “Customize” and use this configuration:

 

- Check Install for UEFI booting only, Install Clover in the ESP is also automatically selected

- Check embebbed theme.

- Check OsxAptioFixDrv-64 from Drivers64UEFI

- Check PartitionDxe-64 from Drivers64UEFI

- Check EmuVariableUefi-64 from Drivers64UEFI*

- Check Install RC scripts on target volume from Drivers64UEFI*

- Click Install.

 

Clover_driversuefi.png

 

After install Clover, a EFI partiton is mounted. Go to EFI/CLOVER, delete that config.plist and put my config_install.plist there. Rename it to config.plist. 

 

- Go to EFI/CLOVER/Drivers64UEFI and delete VboxHfs-64.efi. Put there HFSPlus.efi.

- Go to EFI/CLOVER/kexts/ and leave only "10.12" and “Other” folders. Put FakeSMC.kext inside both of them.

Now your installer USB is ready.

 

*NOTES ABOUT NVRAM

 

EmuVariableUefi-64 and Install RC scripts on target volume might be needed to make NVRAM works in a dual boot configuration since both systems read and write there (I guess). Or maybe our device has not NVRAM hardware, I don’t know. Anyway, I’ve tested it. To test NVRAM, type this in Terminal:

sudo nvram MyVar=TestValue

Check/show NVRAM:

nvram -p

You should see the following entry among others: 

MyVar=TestValue

Reboot, check NVRAM again and if above entry persists, your NVRAM is working. Mine didn’t installing only OsxAptioFixDrv-64, so I reinstalled Clover with EmuVariableUefi-64 and Install RC scripts on target volume.

 

 

BIOS CONFIGURATION…

 

Check your BIOS. Press power button while holding volume up button to enter BIOS.

- CPU Configuration: Boot performance mode: Turbo performance; EIST: enabled; Turbo Mode: enabled; Performance/Watt: Performance; Configurable TDP: TDP Nominal.

- Intel Smart Connect Technology: disabled.

- CSM configuration: CSM Support: enabled; Network: Do not launch; Video: Legacy.

- Chipset/System Agent (SA) Configuration/Graphics Configuration: Aperture Size: 256MB; DVMT Pre-Allocated: 128MB; DVMT Total Gfx Mem: MAX.

- BOOT: Fast Boot: disabled; Boot mode select: dual; all fixed boot order priorities disabled except for UEFI USB KEY.

- Save & Exit.

 

 

BOOTING INSTALLER…

 

Now, to boot into Clover you just need to reboot with your installer usb plugged, so your motherboard recognize the UEFI entry in that drive. Click on power icon in Windows, and while pressing SHIFT, click on reset to go to Windows Boot Manager. Click on "Use a device" and next on "UEFI: SanDisk, Partiton 1" (if you are using SanDisk drive, if not it will be diferent but easily to discover).

 

Click enter in your keyboard to boot "Install macOS Sierra". You will se the verbose log in order to fix any boot issue (you shouldn't need to if you follow this guide). 

 

Open Disk Utility and format your 32GB drive to HFS+J, GUID partition and give it a name, for example, SierraHD. Close Disk Utility and Select Install macOS Sierra and install it to your SierraHD drive. Wait until it reboots after creating the Recovery partition. You will need to boot again into Clover and boot this time from your new boot entry in your SierraHD drive to finish installation.

 

 

INSTALLING CLOVER TO SIERRAHD USB…

 

After install macOS Sierra you might want to install Clover to your SierraHD drive so you don’t need both usb drives to be plugged in order to boot. Follow same steps than before in INSTALLING CLOVER IN USB INSTALLER…

 

Ok, now you’re able to boot into your macOS Sierra but you don’t have CPU PM, IGPU PM, backlight control, battery level… Some of them will be fixed installing kexts, other with DSDT patches or renames, some with Clover… 

 

 

ACPI FILES - DSDT & SSDT

 

ACPI Tables Extraction using Clover

 

Press F4 in Clover boot menu and OEM ACPI tables will be placed in EFI/CLOVER/ACPI/origin. Copy only those files named DSDT.aml and SSDT-X.aml (where X is any number) to your desktop in a new folder called ACPI that we will use to disassemble with iASL.

 

Disassembling ACPI files

 

Download iASL to your Downloads directory, type this in Terminal:

cd ~/Downloads
git clone https://github.com/RehabMan/Intel-iasl.git iasl.git
cd iasl.git
make
sudo make install

Install MaciASL.app to your Applications directory and run this command in Terminal to update iASL:

sudo cp /usr/bin/iasl /Applications/MaciASL.app/Contents/MacOS/iasl61

Now we are going to disassemble the files. Type in Terminal:

cd Desktop
cd ACPI
iasl -da -dl *.aml

You can also try to disassemble them using External declarations in a text file called refs.txt. This may help to fix some unresolved externals (symbols not defined in any file). Copy the following text and create a refs.txt into ACPI folder in your Desktop:

External(MDBG, MethodObj, 1)
External(_GPE.MMTB, MethodObj, 0)
External(_SB_.PCI0.LPCB.H_EC.ECWT, MethodObj, 2)
External(_SB_.PCI0.LPCB.H_EC.ECRD, MethodObj, 1)
External(_SB_.PCI0.PEG0.PEGP.SGPO, MethodObj, 2)
External(_SB.PCI0.GFX0.DD02._BCM, MethodObj, 1)
External(_SB.PCI0.SAT0.SDSM, MethodObj, 4)
External(_SB.PCI0.SAT1.SDSM, MethodObj, 4)
External(_GPE.VHOV, MethodObj, 3)

Type in Terminal:

iasl -da -dl -fe refs.txt *.aml

Using refs.txt or not, this will create .dsl files that we will use to patch. Open them using MaciASL and click “Compile” to check for errors. Main mission here is to have them compile without errors (warnings and optimizations are ok).

 

We only need DSDT and all non dynamic SSDT files. Clover shows dynamic SSDT files adding "x" (SSDT-4x.aml for example). Use dynamic files only to disassemble.

 

NOTE: never open .aml files with MaciASL and compile, if you ever get lost among DSDT and SSDT files, extract and disassemble them again.

 

 

POST-INSTALLATION…

 

Ok, we can boot our Sierra installation, we have our ACPI files disassembled and with no errors, not patched yet, so it’s time to start fixing things.

 

First thing to fix must be CPU Power Management. For that we use ssdtPRGen.sh. In my CC2_PACK.zip there is a SSDT for my CPU (i5-4258U).

 

If you have other CPU, you need to generate a proper one (you will need internet access so install now FakePCIID and FakePCIID_Broadcom_WiFi and copy all WiFi related Clover patches from config_OK.plist to your config.plist). Open Terminal and type this command to download ssdtPRGen:

curl -o ~/ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh

Now change the file mode (+x) with:

chmod +x ~/ssdtPRGen.sh

Default SSDT generation:

sudo ~/ssdtPRGen.sh

Type n and n one more time. Open Finder and go to /Library/ssdtPRGen/. You will see a SSDT.aml, this is our CPU Power Management SSDT. Copy it to your EFI/CLOVER/ACPI/patched. You will see if PM is well implemented if X86PlatformPligin is loaded under CPU0@0 in IOReg (use IORegistryExplorer to check it. You can also use AppleIntelInfo.kext)

 

Open SSDT-HACK.dsl with MaciASL, save it as SSDT_HACK.aml and put it into EFI/CLOVER/ACPI/patched. You can check SSDT-HACK.dsl to see what I did there (Basically, emulate Windows (_OSI to XOSI), injecting IGPU properties and ig-platform, disabling EHCI, injecting XHC properties, fixing GPRW to avoid instant wake and making EXEL and ESEL do nothing).

 

Second thing should be IGPU Power Management. For that GFX0 needs to be renamed to IGPU in our DSDT and all SSDT files that contain any GFX0 reference. We will rename it in DSDT using Clover patch and manually find/replace in SSDT files (in our case, SSDT-7 has some GFX0 code).

 

Third, we are going to install some kexts to enable Bluetooth, WiFi (if you replaced default wireless card with BCM94352Z), all USB ports and backlight control. Just open Kext Wizard (we will always use it to install kext files), click “Install” and look for:

 

- FakeSMC.kext

- FakePCIID.kext

- FakePCIID_Broadcom_WiFi.kext

- IntelBacklight.kext

- XHCInjectorCC2.kext

- BrcmPatchRAM2.kext

- BrcFirmwareRepo.kext

 

Any time you install any kext file, you must rebuild your cache and fix permissions. You can do it with KextWizard but it is recommended to use Terminal (see TIPS AND EXTRAS)

 

Now that you have WiFi enabled, OS X probably put it at en1 while Bluetooth PAN is at en0. To reorder them just do the following:

 

- Go to System Preferences > Network and delete all interfaces (WiFi and Bluetooth PAN). If you are asked about bluetooth reappearing again, click no.

- In Finder go to ~/Library/Preferences/SystemConfiguration and delete NetworkInterfaces.plist.

- Reboot, go to System Preferences > Network and add your WiFi interface again.

 

This will reorder your interfaces, leaving WiFi as en0 and letting you to access Apple services as Mac App Store. You still needing to create a good SMBIOS profile, with a serial, etc. in order to activate everything: FaceTime, iMessage, Mac App Store… You can follow these guides:

 

How to enable iMessage

Clover: iMessage/Facetime Fix for Yosemite

 

With all this you will have everything working except for battery status and audio/sound. Now it's a good time to install Wacom drivers.

 

Battery status needs ACPIBatteryManager.kext to be installed and a patched DSDT. I’ve created a patch that you can use with MaciASL and your DSDT (you extracted and disassembled before, remember?), just click “Patch” and look for Battery CC2 Patch.txt, apply and save.

NOTE: Recent tests with RehabMan probes my patch matches Dell XPS 18, so that will work too. Use any of them.

 

IMPORTANT: Until now we were booting with ACPI/SSDT/DropOEM=false because we weren't using patched OEM files. Now we are going to use a DSDT file, so we must also provide all patched SSDT files, set DropOEM=true and set SorterOrder (same order than OEM files, making SSDT.aml the first and SSDT-HACK.aml the last, so it will be: SSDT.aml, SSDT-0.aml, SSDT-1.aml, SSDT-2.aml, SSDT-3.aml, SSDT-7.aml, SSDT-HACK.aml). You can do this with PlistEdit Pro or Xcode by yourself (check Clover Wiki for how-to). Anyway, I've prepared config_OK.plist with all these changes and more patches. Paste it in EFI/CLOVER/ and rename it to config.plist to continue with post-installation.

 

I would like to avoid adding patched ACPI files transforming my DSDT patch to the new hotpach method (thanks Rehabman!), adding code to SSDT-HACK and adding DSDT/patches to Clover if necessary but is waaaay out of my league. Any help achieving this will be appreciated.

 

NOTE: DSDT only needs Battery CC2 Patch for now. SSDT files only need names to be balanced, so any rename we are doing with Clover in ACPI/DSDT/Patches need to be do it as well in all SSDT (GFX0 to IGPU; B0D3 to HDAU…)

 

If you did it all well, you should have battery status working.

 

Audio/Sound can be achieved installing VoodooHDA. You will be able to use the internal microphone and speakers, so Siri will work. Airplay audio works too. HDMI needs work.

 

A better choice would be to patch our codec and use AppleHDA, HDMI audio seem to work better this way and might help to fix sleep/wake. I’ve attached a dump from my Realtek ALC286 and my Intel Haswell HDMI if somebody want to help with this matter.

 

 

CLONING TO INTERNAL DRIVE

 

Now that you have an almost fully working hackintosh, you probably want to clone it to your internal SSD. For that, just follow these steps:

 

- Boot into Windows, and shrink your C: partition using Disk Management.

- Format new volume to FAT32 and give it a name (you can use MacDrive to format to HFS+J)

- Boot using your USB installer, open Disk Utility and format your new internal partition to HFS+J (if you didn’t do it before using MacDrive). If you are prompted with an error, try it again. If error persists, try next step.

- Clone your current installation selecting as source your SierraHD drive and destination your new internal partition.

 

After clone, you still needing to install Clover in your internal EFI partition, so boot again your Sierra installation using your USB and repeat steps in INSTALLING CLOVER IN USB INSTALLER…  You also need to place proper config.plist and your ACPI patched files, SSDT.aml and SSDT-HACK.aml in EFI/CLOVER/ACPI/patched. Note that your internal EFI partition could have no name, mine in fact shows as NO NAME in Finder

 

In order to boot your internal Clover installation, you might like to create an entry in your Windows Boot Manager. I use EasyUEFI for that. Just click on the Create a new entry icon, select Linux or other OS, and select the path to EFI/CLOVER/CLOVERX64.EFI. Give entry a name, for example macOS Sierra ;)

 

 

NOTES:

 

I still having some doubts about this guide. For example:

 

- Our graphics device 8086,0A2E is natively recognized but doesn’t show a name in DPCIManager, I don’t know if can be an issue.

- PCI Realtek Card Reader 10EC,5229 has no support.

- USB may need work to make wake from Power Button work properly. I’ve created an injector and disable EHC with SSDT-HACK.aml and it’s under 15 port limit. I did the same with a EHC injector and FakePCIID_XHCIMux.kext or USBInjectAll.kext and a SSDT-UIAC.aml. Same result, ports work, wake with Power Button doesn’t, some of them are lost when reboot after try to wake up from sleep (using Power Button)

- There are some errors with methods in EC0 that probably need work (GBTT, SMB0._STA)

- Good news!! Cintiq Mode works ;) Just plug your cable to your PC or Mac, put your Companion to sleep and it should wake as a plain Cintiq and recognized by your PC or Mac. When you unplug your video cable, you Companion come back with everything working. Enjoy :)

 

- I did another test and wake quite good but with black screen: go to sleep (no cable video plugged), plug video cable, this will make screen wake but remain black, unplug video cable, use screen sharing to access and change resolution or detect displays in SysPref to push the signal to your internal display.

 

 

TIPS AND EXTRAS

 

- If you want to install any software, you must enable the lost option inside Security and Privacy. Type this in Terminal:

sudo spctl —master-disable

- If you want to enable HiDPi resolutions, just copy DisplayVendorID-5c23 folder into ~/System/Library/Displays/Contents/Resources/Overrides and install RDM.

 

- If you need to rebuild caches, run this in Terminal:

sudo rm -r /System/Library/Caches/com.apple.kext.caches
sudo touch /System/Library/Extensions && sudo kextcache -u /

- Sometimes boot into safe mode is needed. Just add -x  to boot flags in Clover or push spacebar in Clover boot menu (this second option is not working for me right now, I don’t know why).

 

- To enable playing a power chime sound effect when battery charged is plugged, type this in Terminal:

defaults write com.apple.PowerChime ChimeOnAllHardware -bool true; open /System/Library/CoreServices/PowerChime.app &

- If you want to try the new TouchBar present in new MacBook Pro, you can give it a try! Go here and follow instructions :)

 

 

CONCLUSIONS AND THOUGHTS

 

The Cintiq Companion maybe is not a famous tablet because its mainly client target are professional artists than doesn’t have too much time to play with this hackintosh stuff, but it works very well in my opinion, better than Surface devices. Geekbench results is same than MacBook Pro with same CPU and LuxMark gives a result of more than 1600 for what I checked.

 

The only thing that it would need to be perfect, in my opinion, is to sleep and wake properly. We can do that just plugin the video cable and entering Cintiq Mode, unplug and wake but it would be nice to wake it with the Power Button. For those who could help, here you have some clues you may find helpful to solve it.

 

Sleep works, display goes off, fans go off and led starts blinking. But when wake (only with power button) display goes back but remains black for seconds and suddenly go off, fans keep running, led keep on without blinking, but can’t access using VNC or screen sharing. If you enable the power chime sound effect, you will hear it if you unplug and plug your battery charger.

The only way to come back is to force a restart by holding power button and next time you boot some devices are missing (WiFi and some USB). Restarting one more time makes all devices work again.

 

Since I have no idea of binary patching, programming or ACPI concepts, it was very hard for me to get all this together. I’m probably doing something wrong or there’s a better way to make things work, so if you have any idea or suggestion, don’t hesitate to comment or ask. I'm doing this for two reasons, to share what I learned and to keep all the information together in one post.

 

And this is everything, folks! I hope this help you to install macOS Sierra in your Companion 2. Now that new model is out (but far away from my budget) you can find some affordable second hand units.

 

DOWNLOAD MY CC2_PACK

It contains:

  • ACPI folder, before and after patches (for those who want to check).
  • Battery CC2 Patch.
  • Kexts folder.
  • Official BIOS folder, in case you didn’t update your Companion 2 or disabled CSM support and can’t see BIOS menu.
  • SSDT Files folder, containing SSDT-HACK.dsl and SSDT.aml for i5-4258U PM.
  • APPS folder: Clover Configurator 2, DPCIManager, PlistEdit Pro, Kext Wizard, MaciASL, IORegistryExplorer.
  • EXTRAS folder: Brightness app (slider control in menu bar), Intel Power Gadget, iStat Pro widget, AppleIntelInfo.kext (for checking CPU PM).
  • HiDPi: DisplayVendorID-5c23 folder and RDM-2.2.pkg
  • codec_dump_ALC286.txt and codec_dump_HDMI.text for someone to may help patching AppleHDA.

 

I want to give a HUGE thanks to all the people that are involved in making this possible, from developers to testers (Piker, Rehabman, the-darkvoid, Slice, Allan... I don't know, I'm still learning who you are, people, you are a lot so don't be offended if I didn't mention you, please ^_^). And sorry if there's some grammar mistakes or something, it's my first guide in english.

Share this post


Link to post
Share on other sites
Advertisement

Amazing what you did mate, thanks a lot, I read your topic with a lot of attention, as well as the other one on the Cintiq, where your name occured many times !

I'm considering buying next week a second hand cintiq companion 2 with i7, 512Go SSD, 16Go RAM and intel Iris 6100. 

 

The thing is that there is a broadwell processor inside, from what i understood, it gets a bit tricky to deal with it. Anyway i will give a try. To make illustration and work for 2D animation, I prefer working with OSX. 

 

By the way, do you know if there is a chance that I can run El capitan or High Sierra with it instead of Yosemite ?

 

Thanks again for the great work you manage to do !

 

Cheers.

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 necros
      Hi all, new user here.
      I followed the shilohh guide i7-4930k-asus-rampage-iv-extreme-32gb-ram-gtx-770-4gb-success(and some other guides fresh installing) and everything works great but my cpu is flat at 1.2Mhz. 
      I tried every guide here, in olarila and in "others" but nothing works. Surely I'm doing something wrong but I cannot guess what it is. Also tried nullcpu etc..
      My specs are:
      Rampage IV Extreme
      i7 3930k
      Gtx 980
      Mac OS X 10.12.6
      I made my own SSDT too.
      C1E is enabled.
      I leave my Clover Folder here in case someone can shed some light because I'm starting to be desperate.
      Thank you in advance
      Cheers
       
      CLOVER.zip
    • By KGP-iMacPro
      Up and running  macOS Mojave 10.14.0 (18A391) on my Broadwell-E/X99 iMac Pro Hackintosh! 
       

       
       

       

       
      Abstract and Introduction: 

      This originating post constitutes an innovative and brand new iMac Pro macOS 10.14 Mojave Build and Desktop Guide for Broadwell-E/EP, Haswell-E/EP and X99, which certainly will further grow not only thanks to your estimated feedback and contributions. It is the logical continuation of my successful iMac Pro Broadwell-E/EP, Haswell-E/EP and X99 Build and Desktop Guide published for macOS High Sierra 10.13 in the other forum. Being an iMac Pro Desktop Guide, it has also large similarities with my Skylake-X/X299 iMac Pro macOS 10.14 Mojave Desktop Guide. However, to avoid jumping back and forth, I will make this guide as consistent as the other, which however implies also some redundancy.    
       
      As everybody already might know, my Broadwell-E/EP, Haswell-E/EP and X99 Desktop Guides base on the ASUS X99-A II. However, also other X99 ASUS mainboard models or X99 mainboards of other brands might be compatible after likely considering and implementing few mandatory modifications. The same states for guide compatibility with all Broadwell-E/EP and Haswell-E/EP CPUs different form the i7-6950X employed here. 
       
      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 Summary    B.) ASUS Mainboard BIOS B.1) ASUS BIOS Firmware Patching B.2) ASUS X99-A II BIOS Configuration   C.) Important General Note/ Advice and Error Prevention     D.) iMac Pro macOS 10.14 Mojave System Setup This chapter includes a general guideline how to perform the initial setup of a Broadwell-E/EP, Haswell-E/EP, X99 iMac Pro with macOS Mojave DP1 (18A293u).    D.1) iMac Pro EFI-Folder Preparation D.2) iMac Pro macOS Mojave Installer Package Creation D.3) iMac macOS Mojave USB Flash Drive Installer Creation D.4) iMac Pro macOS Mojave Clean Install on Broadwell-E/EP, Haswell-E/EP, X99 D.5) Direct iMac Pro conversion of a functional Broadwell-E/EP, Haswell-E/EP, X99 system with a SMBIOS System Definition different from iMac Pro1,1 and a standard macOS build implementation.  D.6) iMac Pro macOS High Sierra Build Update Procedure   E.) Post Installation Process E.1) Xnu CPU Power Management (XCPM) Configuration E.2) Graphics Configuration E.3) Audio Configuration E.4) USB Configuration E.5) M.2/NVMe Configuration E.6) SSD/NVMe TRIM Support E.7) GC-Titan Ridge / GC-Alpine Ridge /Asus TBEX 3 PCIe Add-In Implementation E.8) Gbit and 10-Gbit Ethernet Implementations E.8.1) ASUS X99-A II 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) Small-Tree P2EI0G-2T 10-Gbit NIC E.8.2.4) NetGear ProSave XS508M 8-port 10-Gbit Switch E.8.2.5) QNAP TS-431X2 Quad-core 4-Bay NAS tower E.8.2.6) 10-GBit Ethernet Optimisation E.9) ASUS X99-A II PCI Device Implementation E.9.1)  ACPI DSDT Replacement Implementation E.9.2) System SSDT PCI Device Implementation E.9.2.1) HDEF - onboard Audio Controller PCI Implementation E.9.2.2) GFX0, HDAU - GPU and HDMI/DP Audio PCI implementation E.9.2.3) XGBE - 10GBit NIC PCI Implementation: E.9.2.4) ETH0 - onboard LAN Controller PCI Implementation E.9.2.5) SAT1 - Intel AHCI SATA Controller PCI Implementation E.9.2.6) EVSS - Intel X99 sSata Controller PCI Implementation E.9.2.7)  ANS1 - NVMe Controller PCI Implementation E.9.2.8) - USBX: E.9.2.9) XHCI - onboard Extended Host Controller Interface (XHCI) PCI Implementation E.9.2.10) XHC2 - ASMedia ASM1142 USB 3.1 Controller PCI Implementation E.9.2.11) ARPT - OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 AirPort Controller PCI Implementation: E.9.2.12)  GC-Titan Ridge / GC-Alpine Ridge / Asus TBEX 3 Thunderbolt HotPlug System Implementation E.9.2.13) DTGP Method E.9.2.14) - 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) i7-6950X CPU Benchmarks F.2) Sapphire Nitro+ Radeon RX Vega 64 8GB OpenGL and Metal Benchmarks     G.) Summary and Conclusion    --------------------------------------------------------------------------------------------------------------   A.) Hardware Summary
       
      Motherboard: Asus X99-A II
      CPU: I7-6950X (10-core) RAM: 128 KIT (8X16GB) G.Skill TridentZ (F4-3200C14Q2-128GTZSW) System Disk: Samsung 850 EVO 1TB (SSD) / Samsung 960 EVO 1TB (NVMe, M.2) RAID: 3x Western Digital Red Pro 6TB (18TB); Graphics: Sapphire Nitro+ Radeon RX Vega 64 8GB Thunderbolt 3 Add-in: GC-Titane Ridge 40GB/s Intel Thunderbolt 3 Certified Add-in PCIe Adaptor Wifi + Bluetooth: OSXWIFI PC/Hackintosh - Apple Broadcom Bcm9436cd - 802.11 A/B/G/N/AC +Bluetooth 4.0 PCIe Power Supply: Corsair AX860 CPU Cooler: Corsair H80i v2 Webcam: Logitech HD Pro WebCam C930 Monitor: LG 38UC99-W, 38", WQHD, 21:9, 3840x1600 pixel, 75 Hz. Case: Corsair CC600TWM-WHT, Graphite Series 600T, Mid Tower Keyboard: Logitech K811 Mouse: Logitech Ultra-Thin Touch Mouse T631 Blu-Ray/DVD Writer: LG Super Multi Blue BH16 (BH16NS55)   Thunderbolt: ASUS TBEX 3 and Gigabyte Alpine Ridge   10Gbit Ethernet components: - 1x ASUS XG-C100C AQC107 PCIe x4 10GBit LAN Adapter (for testing purposes) - 1x Intel X540-T1 single port 10GBit LAN PCIe Adapter (for testing purposes, now installed in my X99 rig) - 1x Small-Tree P2EI0G-2T 2-Port 10GBit LAN PCIe Adapter (now default configuration) - 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 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.   B.) Asus Mainboard BIOS   Please find below a detailed instruction for ASUS X99 mainboard BIOS Firmware patching, as well as a summary of my actual Asus X99-A II  BIOS settings.   B.1) Asus Mainboard BIOS Firmware Patching   On a real Mac with native OSX XCPM power management, the MSR 0xE2 register is unlocked and therefore writeable. However, on ASUS mobos this register is usually read only. This is also the case for all ASUS X99 mobos. When the kernel tries to write to this locked register, it causes a kernel panic. This panic can happen very early in the boot process, with the result that your system freezes or reboots during the boot process. We can circumvent the MSR 0xE2 register write with a dedicated KernelToPatch entry in the config.plist, namely "xcpm_core_scope_msrs © Pike R. Alpha" and by enabling the "KernelPM" in the config.plist in Section "Kernel and Kext Patches" of the Clover Configurator. See Section E.1) for further details.   However, thanks to CodeRush's Longsoft UEFIPatch distribution and sophisticated MSR 0xE2 Register patches, we are able to successfully patch any ASUS X99 mainboard BIOS distribution and unlock the MSR 0xE2 register. This makes the "xcpm_core_scope_msrs © Pike R. Alpha" KernelToPatch entry obsolete and allows full native read/write MSR 0xE2 register access by the OSX kernel. The patched ASUS mainboard BIOS firmware finally can be uploaded each specific ASUS X99 mainboard by means of the ASUS EZ BIOS Flashback Procedure.   The individual steps for the ASUS X99 BIOS Patching are detailed below:   1.) Download and unzip the CodeRush's UEFI patch (attached towards the bottom of this guide) to your Desktop.   2.) To patch the latest BIOS for your ASUS mobo, download the most actual BIOS version from the ASUS mobo support page (e.g., follow the subsequent link to obtain the latest BIOS Version for the Asus X99-A II).   3.) Unzip the bios file and copy the CAP file into the UEFIPatch directory on your Desktop.   4.) Open a terminal; type "cd " and drag the "UEFIPatch"-folder on your Desktop into the Terminal window and press "Enter". One can also use the terminal command equivalent: cd ~/Desktop/UEFIPatch_0.3.9_osx/ Note that this step is important to successfully execute the UEFI-Patch procedure! You must be in the UEFIPatch directory on your terminal, in order to successfully execute step 5.) below!
        Once in the UEFIPatch directory on your terminal, drop the "UEFIPatch"-executable into the terminal window; Also drop the most actual BIOS CAP file into the terminal window; Press enter to execute the "UEFIPatch"-procedure. The equivalent terminal command is: ./UEFIPatch X99-A-II-ASUS-1902.CAP by assuming that you want to patch the latest X99-A-II-ASUS-1902.CAP BIOS-files for the ASUS X99-A II. For other mobos, please adapt the adequate BIOS CAP-filename in the command!
        During the patch procedure, you will see something like the following message, which can be simply ignored: parseImageFile: Aptio capsule signature may become invalid after image modifications parseSection: section with unknown type 52h parseFile: non-empty pad-file contents will be destroyed after volume modifications parseSection: section with unknown type 52h parseFile: non-empty pad-file contents will be destroyed after volume modifications patch: replaced 6 bytes at offset F69h 0FBA6C24400F -> 0FBA7424400F Image patched  
      6.) You will now find a ***.CAP.patched BIOS-file in the UEFIPatch folder, which is your patched (MSR 0xE2 unlocked) BIOS file.   7.) Rename the ***.CAP.patched BIOS file to X99A2.CAP, the required filename for the ASUS X99-A II BIOS Flashback procedure. Note that the required filename varies for each ASUS mobo. For details see the ASUS BIOS Flashback filename convention.   8.) Copy the X99A2.CAP (or it's derivative in case you use a different ASUS mobo) to a FAT-formatted USB2.0 storage device.   9.) Shut-down your hack, connect the USB2.0 storage device to the USB-port assigned to the ASUS BIOS Flashback procedure (see the mobo manual for details). Press the BIOS-Flashback button for three seconds until the flashback-led starts to blink, indicating that the BIOS Flashback is in progress. Release the button. The locations of the BIOS-Flashback button and the USB-port assigned to the BIOS-Flashback procedure on the ASUS X99-A II are indicated in the figure below:     10.) Wait until the Flashback-led stops blinking and turns off, indicating that the BIOS Flashback process as been successfully completed. You now successfully installed the most actual patched BIOS, compatible with native OSX/MacOS power management.   11.) Boot your system and apply the BIOS settings described below.   For all ASUS X99A-II users, directly download the most actual patched BIOS firmware 1902 with an iMac Pro Splash Screen Boot Image here: X99A2.CAP.   B.2) Asus X99-A II BIOS Configuration   To overclock your RAM memory in concordance with your RAM specifications, enable the EZ XMP Switch on your ASUS Mainboard and enable posteriorly XMP in the Standard ASUS BIOS Setup mode (F7). Subsequently switch from standard to advanced ASUS BIOS Setup mode by pressing again F7.     Important Note:   "ASUS MultiCore Enhancement": When set to "Auto", MCE allows you to maximise the overclocking performance optimised by the ASUS core ratio settings. When disabled, MCE allows to set to default core ratio settings.   "Sync All Cores": Tremendous increase in CPU performance can be achieved with the CPU Core Ratio set to "Sync All Cores". In case of i9-7980XE stock settings (4.4 Ghz, Sync All Cores), the Geekbench score difference is approx. 51.000 (disabled) compared to 58.000 (enabled)! Note however, that Sync All Cores should be used only in case of the availability of an excellent water cooling system! Otherwise, CPU Core Ratio should be set to "Auto". Further note that with CPU Core Ratio set to "Sync All Cores", one might have to set the AVX Instruction Core Ratio Negative Offset to "3" in case of system freezes or system instabilities.   VT-d Note: For compatibility with VM or parallels, VT-d can be also ENABLED... Verify however, in this case that in your config.plist the boot flag "dart=0" is checked under Arguments in the "Boot" Section of Clover Configurator!    Above 4G Decoding Note: Enable BIOS function "Above 4G Decoding" to avoid memory relocation errors when using AptioMemoryFix.efi on X99 systems.   CPU SVID Support: In addition to the BIOS settings mentioned above one should also Enable CPU SVID support in BIOS Section AI Tweaker, which is fundamental for the proper Intel Power Gadget (IPG) CPU power consumption display.      C.) Important General Note/Advice and Error Prevention   
      Please note the following important General Note / Advice and Error Prevention, when setting up your X99 System by implementing the latest macOS Mojave distribution.
       
      1.) The /EFI/Clover/drivers64UEFI/-directory of EFI-X99-10.14-DP1-Release-iMacPro1,1-160618 contains by default AptioMemoryFix.efi thanks to @vit9696. Note that 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. 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). 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.   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 X99-A II 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. Over the last weeks, I was actively requesting Web Driver development for macOS 10.14 Betas from Nvidia. I really hope that Nvidia will not leave us again without Web Driver support until the official release of Mojave by September 2018. 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-Folder 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. By adding  export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" && buildclover to the script,     the latter also can be used in case of Brew, QT5, UEFITool or MacPorts implementations like Latex, X11, gcc, etc. not yet fully compatible with 10.14 Mojave. Again thanks to @vector sigma for also providing/enabling this trick/possibility .    4.) To avoid CPU thread TSC desynchronisation errors during boot and wake from S3, likely induced by yet erroneous CPU 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 in the latter case.   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-7900K. To adopt the kext for Broadwell-E and Haswell-E processors 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 CPU 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 10 core i7-6950X, the IOCPUNumber is 19 (20 threads - 1). <key>IOCPUNumber</key> <integer>19</integer>   and following the same methodology, the correct IOCPUNumber for the 6-core i7-6800K is 11 (12 threads -1) <key>IOCPUNumber</key> <integer>11</integer>   e.) After adopting the IOCPUNumber for your particular Broadwell-E/EP, Haswell-E/EP processor, save the info.plist file and copy the modified VoodooTSCSync.kext to the /EFI/CLOVER/kexts/Other/ - directories of both USB Flash Drive Installer and System Disk!  
      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 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.) For the proper function of Lilu.kext and Lilu plugins like AppleALC.kext, NvidiaGraphicsFixup.kext, Whatevergreen.kext etc. one also needs to add boot flag "-lilubetaall" to the config.plist during the 10.14 Mojave Betas.
       
      7.) In order to successfully boot your X99 macOS 10.14 Mojave System system, carefully verify that your config.plist contains in Section "KextsToPatch" of Section "Kernel and Kext Patches" of Clover Configurator the 10.14 IOPCIFamily Kext Patch kindly provided by @PMHeart.           D.) iMac 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 Broadwell-E/EP, Haswell-E/EP X99 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 most actual respective X99 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 most actual respective X99 EFI-Folder distribution.   Press several times the "Generate New" Button next to serial number text field.   Open a terminal, enter repeatedly the command "uuidgen", and copy the output value to the SMUUID field in the "SMBIOS" Section of the Clover Configurator.   Depending on your system configuration (Broadwell-E/EP or Haswell-E/EP) change or adopt the following settings if necessary     a.) Users of mainboards with locked MSR Register (disabled MSR OSX Kernel write access) have to add 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   xcpm_core_scope_msrs © Pike R. Alpha 10.14 (kindly provided by @PMHeart)   Find: 31 d2 e8 91 fc ff ff Replace: 31 d2 90 90 90 90 90 and also to check "KernelPm".
       
      b.) "FakeCPUID" in "Kernel and Kext Patches" Section of Clover Configurator:   Broadwell-E/EP FakeCPUID: "0x040674"    Haswell-E/EP standard FakeCPUID: "0x0306F2"     All Broadwell-E/EP and Haswell-E/EP users have to enable the Broadwell-E performance Kernel patch for macOS Mojave 10.14 of @PMheart in their config.plist under "KernelToPatch" in Section "Kernel and Kext Patches" of Clover Configurator, to overcome persistent OC and performance flaw issues.   c.) _xcpm performance Kernel patch 10.14.0 (kindly provided by @PMHeart) Find: C1E30848 63D389D0 48C1EA20 B9990100 000F3048 FF05938D 76004883 C4085B5D C30F1F40 00 Replace: BB00FF00 004863D3 89D048C1 EA20B999 0100000F 3048FF05 938D7600 4883C408 5B5DC390 90 To successfully boot my Broadwell-E X99 System and to obtain full XCPM-performance I also need to include the following Kernel patche:   d.) xcpm_pkg_scope_msrs © Pike R. Alpha (kindly provided by @PMHeart) Find: BE070000 0031D2E8 91FCFFFF Replace: BE070000 0031D290 90909090   Further one might want to include:   e.) _xcpm_SMT_scope_msrs 1 & 2 © Pike R. Alpha 10.14 (kindly provided by @PMHeart) Find: BE0B0000 0031D2E8 66FCFFFF Replace: BE0B0000 0031D290 90909090   Find: 31D2E87E FCFFFF Replace: 31D29090 909090  
      f.) 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.     g.) Aslo verify once more in concordance with Error Protection C.6) and C.7) that your config.plist contains boot flag "-lilubetaall" and the 10.14 IOPCIFamily kext patch!     Finally save the modified config.plist.   3.) Copy the appropriate TSCAdjustRest.kext, which you 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.0 (18A391) full package installer (6.04 GB) from the Appstore, follow the individual steps detailed below:

      1.) Open a terminal and create a "041-08708" directory on your Desktop. Subsequently change to the newly created directory. All this can be done with the following terminal commands:   mkdir ~/Desktop/041-08708/ cd ~/Desktop/041-08708/  
      2.) Download the following files from the Apple server (public links) to your ~/Desktop/041-08708/ directory by a copy & paste of the following terminal commands:
       
      curl https://swdist.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/041-08708.English.dist -o 041-08708.English.dist curl https://swdist.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/RecoveryHDMetaDmg.pkm -o RecoveryHDMetaDmg.pkm curl http://swcdn.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/RecoveryHDMetaDmg.pkg -o RecoveryHDMetaDmg.pkg curl http://swcdn.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/OSInstall.mpkg -o OSInstall.mpkg curl https://swdist.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/InstallAssistantAuto.pkm -o InstallAssistantAuto.pkm curl http://swcdn.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/InstallAssistantAuto.pkg -o InstallAssistantAuto.pkg curl http://swcdn.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/BaseSystem.chunklist -o BaseSystem.chunklist curl http://swcdn.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/BaseSystem.dmg -o BaseSystem.dmg curl https://swdist.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/InstallESDDmg.pkm -o InstallESDDmg.pkm curl http://swcdn.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/InstallESDDmg.pkg -o InstallESDDmg.pkg curl http://swcdn.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/InstallESDDmg.chunklist -o InstallESDDmg.chunklist curl http://swcdn.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/InstallInfo.plist -o InstallInfo.plist curl http://swcdn.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/AppleDiagnostics.chunklist -o AppleDiagnostics.chunklist curl http://swcdn.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/AppleDiagnostics.dmg -o AppleDiagnostics.dmg curl https://swdist.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/MajorOSInfo.pkm -o MajorOSInfo.pkm curl http://swcdn.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/MajorOSInfo.pkg -o MajorOSInfo.pkg curl http://swcdn.apple.com/content/downloads/49/44/041-08708/vtip954dc6zbkpdv16iw18jmilcqdt8uot/InstallAssistantAuto.smd -o InstallAssistantAuto.smd  
      The full list of package files can be found within the following catalog URL, searching for key "vtip954dc6zbkpdv16iw18jmilcqdt8uot":
       
      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-08708/041-08708.English.dist --package-path ./041-08708/ 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-08708/InstallESDDmg.pkg /Applications/Install\ macOS\ Mojave.app/Contents/SharedSupport/InstallESD.dmg sudo cp ./041-08708/AppleDiagnostics.dmg /Applications/Install\ macOS\ Mojave.app/Contents/SharedSupport/ sudo cp ./041-08708/AppleDiagnostics.chunklist /Applications/Install\ macOS\ Mojave.app/Contents/SharedSupport/ sudo cp ./041-08708/BaseSystem.dmg /Applications/Install\ macOS\ Mojave.app/Contents/SharedSupport/ sudo cp ./041-08708/BaseSystem.chunklist /Applications/Install\ macOS\ Mojave.app/Contents/SharedSupport/  
      Verify your "Install Mojave.app" for completeness. You should now have a complete macOS Mojave (18A391) 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 of @macandrea. 

      createInstaller.sh will automatically create on any MacOS System the "Install macOS Mojave.app" for macOS Mojave 10.14 (18A391) in the /Applications folder.

      Just download und unzip createInstaller.sh.zip and run the following terminal commands:
       
      cd ~/Downloads chmod +x createInstaller.sh ./createInstaller.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\ 10.14\ Beta.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 your macOS 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 DP1 Clean Install on Broadwell-E/EP, Haswell-E/EP, X99   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 you have to perform the iCloud registration to 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 E.) - Post Installation Process.     D.5) Direct iMac Pro conversions of a functional Broadwell-E/EP, Haswell-E/EP, X99 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 to your /Applications folder.   4.) Double click on the "Install macOS 10.14 Beta.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 10.14 Mojave Update Procedure (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 X99 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. This way you also will also be able to perform any future update of macOS 10.14 Mojave.   Let me conclude with a general recommendation:  In case of macOS beta builds one should clone the macOS System Drive with Carbon Copy Cloner (CCC) to a test drive and to update to the Betas on the latter.    
      E.) Post Installation Process   E.1) XNU CPU Power Management (XCPM) Configuration   The config.plist of my most actual respective X99 EFI-Folder distribution already contains a fully functional XCPM configuration for the i7-6950X Broadwell-E CPU, which just needs to be adopted for other CPU configurations (Broadwell-E/EP different from i7-6950X, Haswell-E/EP).   Before adapting the XCPM configuration, verify the following BIOS settings:   Advanced\CPU Configuration\CPU Power Management Configuration\ Enhanced Intel SpeedStep Technology (EIST): Disabled Turbo mode: Enabled CPU C-State: Enabled Enhanced C1 State: Enabled CPU C3 Report: Enabled CPU C6 Report: Enabled Package C State Limit: C6(non Retention) state  
      Subsequently, follow the individual steps below.   1.) Open the config.plist of your 10.14 system disk and revise the  "Kernel and Kext Patches" Section.     a.) Users of mainboards with locked MSR Register (disabled MSR OSX Kernel write access) have to add 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   xcpm_core_scope_msrs © Pike R. Alpha 10.14 (kindly provided by @PMHeart)   Find: 31 d2 e8 91 fc ff ff Replace: 31 d2 90 90 90 90 90 and also to check "KernelPm".
        b.) Verify "FakeCPUID" in "Kernel and Kext Patches" Section of Clover Configurator:   Broadwell-E/EP FakeCPUID: "0x040674"       Haswell-E/EP standard FakeCPUID: "0x0306F2"    All Broadwell-E/EP and Haswell-E/EP users have to enable the Broadwell-E performance Kernel patch for macOS Mojave 10.14 of @PMheart in their config.plist under "KernelToPatch" in Section "Kernel and Kext Patches" of Clover Configurator, to overcome persistent OC and performance flaw issues.   c.) _xcpm performance Kernel patch 10.14.0 (kindly provided by @PMHeart) Find: C1E30848 63D389D0 48C1EA20 B9990100 000F3048 FF05938D 76004883 C4085B5D C30F1F40 00 Replace: BB00FF00 004863D3 89D048C1 EA20B999 0100000F 3048FF05 938D7600 4883C408 5B5DC390 90   To successfully boot my Broadwell-E X99 System and to obtain full XCPM-performance I also need to include the following Kernel patch:   d.) xcpm_pkg_scope_msrs © Pike R. Alpha (kindly provided by @PMHeart) Find: BE070000 0031D2E8 91FCFFFF Replace: BE070000 0031D290 90909090 Further one also might like to implement:   e.) _xcpm_SMT_scope_msrs 1 & 2 © Pike R. Alpha 10.14 (kindly provided by @PMHeart) Find: BE0B0000 0031D2E8 66FCFFFF Replace: BE0B0000 0031D290 90909090 Find: 31D2E87E FCFFFF Replace: 31D29090 909090  
      f.) 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.   All other former XCPM kernel patches have become obsolete also with 10.14   There is also no need for injecting any additional frequency vector.   2.) Reboot after applying any changes.   To verify your XCPM configuration, perform the following steps:   1.) Verify with the terminal command "sysctl machdep.xcpm.mode" if the XCPM mode is active. If so, "sysctl machdep.xcpm.mode" should return "1".   2.) Verify that in the IORegistryExplorer you have the following entry under CP00@0: Property:         Type:         Value: plugin-type       Number        0x1  
      3.) Verify with the terminal command kextstat|grep -y x86plat  
      that the "X86PlatformPlugin.kext" is 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> you are fine.
        4.) Verify with the terminal command [code]kextstat|grep -y appleintelcpu[/code] that you got rid of the Apple Intel CPU power management. If the result is empty you are fine.
        5.) To verify that the Frequency-Vectors are loaded, use the following terminal command: sysctl -n machdep.xcpm.vectors_loaded_count  
      If everything is ok, the command returns "1".   6.) To obtain further information on your XCPM Power Management configuration, download Piker Alpha’s AppleIntelInfo.kext from Github. To compile the source code, you need to primarily install Xcode (Appstore) and Xcode Command Line Tools! This guideline might be helpful for the  successfully installation of the latter.   Now enter the following terminal commands: cd ~/Downloads/AppleIntelInfo-master xcodebuild cd build/Release chmod -R 755 AppleIntelInfo.kext sudo chown -R root:wheel AppleIntelInfo.kext  
      Load the AppleIntelInfo.kext with "kextload" and "cat" the info-results with the following terminal commands: sudo kextload AppleIntelInfo.kext sudo cat /tmp/AppleIntelInfo.dat  
      The cat command should reveal something like the following result: AppleIntelInfo.kext v2.5 Copyright © 2012-2017 Pike R. Alpha. All rights reserved. Settings: ------------------------------------------ logMSRs..................................: 1 logIGPU..................................: 0 logCStates...............................: 1 logIPGStyle..............................: 1 InitialTSC...............................: 0x11d3a1760ecb2 (10453 MHz) MWAIT C-States...........................: 8480 Processor Brandstring....................: Intel(R) Core(TM) i7-6950X CPU @ 3.00GHz Processor Signature..................... : 0x406F1 ------------------------------------------  - Family............................... : 6  - Stepping............................. : 1  - Model................................ : 0x4F (79) Model Specific Registers (MSRs) ------------------------------------------ MSR_CORE_THREAD_COUNT............(0x35)  : 0x0 ------------------------------------------  - Core Count........................... : 10  - Thread Count......................... : 20 MSR_PLATFORM_INFO................(0xCE)  : 0x20080C3BF3811E00 ------------------------------------------  - Maximum Non-Turbo Ratio.............. : 0x1E (3000 MHz)  - Ratio Limit for Turbo Mode........... : 1 (programmable)  - TDP Limit for Turbo Mode............. : 1 (programmable)  - Low Power Mode Support............... : 1 (LPM supported)  - Number of ConfigTDP Levels........... : 1 (additional TDP level(s) available)  - Maximum Efficiency Ratio............. : 12  - Minimum Operating Ratio.............. : 8 MSR_PMG_CST_CONFIG_CONTROL.......(0xE2)  : 0x1E000005 ------------------------------------------  - I/O MWAIT Redirection Enable......... : 0 (not enabled)  - CFG Lock............................. : 0 (MSR not locked)  - C3 State Auto Demotion............... : 1 (enabled)  - C1 State Auto Demotion............... : 1 (enabled)  - C3 State Undemotion.................. : 1 (enabled)  - C1 State Undemotion.................. : 1 (enabled)  - Package C-State Auto Demotion........ : 0 (disabled/unsupported)  - Package C-State Undemotion........... : 0 (disabled/unsupported) MSR_PMG_IO_CAPTURE_BASE..........(0xE4)  : 0x10414 ------------------------------------------  - LVL_2 Base Address................... : 0x414  - C-state Range........................ : 1 (C-States not included, I/O MWAIT redirection not enabled) IA32_MPERF.......................(0xE7)  : 0xACF485063 IA32_APERF.......................(0xE8)  : 0xB96AC7BB7 MSR_0x150........................(0x150) : 0x0 MSR_FLEX_RATIO...................(0x194) : 0xE0000 ------------------------------------------ MSR_IA32_PERF_STATUS.............(0x198) : 0x204900001E00 ------------------------------------------  - Current Performance State Value...... : 0x1E00 (3000 MHz) MSR_IA32_PERF_CONTROL............(0x199) : 0x2A00 ------------------------------------------  - Target performance State Value....... : 0x2A00 (4200 MHz)  - Intel Dynamic Acceleration........... : 0 (IDA engaged) IA32_CLOCK_MODULATION............(0x19A) : 0x0 IA32_THERM_INTERRUPT.............(0x19B) : 0x0 IA32_THERM_STATUS................(0x19C) : 0x883D0000 ------------------------------------------  - Thermal Status....................... : 0  - Thermal Log.......................... : 0  - PROCHOT # or FORCEPR# event.......... : 0  - PROCHOT # or FORCEPR# log............ : 0  - Critical Temperature Status.......... : 0  - Critical Temperature log............. : 0  - Thermal Threshold #1 Status.......... : 0  - Thermal Threshold #1 log............. : 0  - Thermal Threshold #2 Status.......... : 0  - Thermal Threshold #2 log............. : 0  - Power Limitation Status.............. : 0  - Power Limitation log................. : 0  - Current Limit Status................. : 0  - Current Limit log.................... : 0  - Cross Domain Limit Status............ : 0  - Cross Domain Limit log............... : 0  - Digital Readout...................... : 61  - Resolution in Degrees Celsius........ : 1  - Reading Valid........................ : 1 (valid) MSR_THERM2_CTL...................(0x19D) : 0x0 IA32_MISC_ENABLES................(0x1A0) : 0x850089 ------------------------------------------  - Fast-Strings......................... : 1 (enabled)  - FOPCODE compatibility mode Enable.... : 0  - Automatic Thermal Control Circuit.... : 1 (enabled)  - Split-lock Disable................... : 0  - Performance Monitoring............... : 1 (available)  - Bus Lock On Cache Line Splits Disable : 0  - Hardware prefetch Disable............ : 0  - Processor Event Based Sampling....... : 0 (PEBS supported)  - GV1/2 legacy Enable.................. : 0  - Enhanced Intel SpeedStep Technology.. : 1 (enabled)  - MONITOR FSM.......................... : 1 (MONITOR/MWAIT supported)  - Adjacent sector prefetch Disable..... : 0  - CFG Lock............................. : 0 (MSR not locked)  - xTPR Message Disable................. : 1 (disabled) MSR_TEMPERATURE_TARGET...........(0x1A2) : 0x640A00 ------------------------------------------  - Turbo Attenuation Units.............. : 0  - Temperature Target................... : 100  - TCC Activation Offset................ : 0 MSR_MISC_PWR_MGMT................(0x1AA) : 0x402000 ------------------------------------------  - EIST Hardware Coordination........... : 0 (hardware coordination enabled)  - Energy/Performance Bias support...... : 1  - Energy/Performance Bias.............. : 0 (disabled/MSR not visible to software)  - Thermal Interrupt Coordination Enable : 1 (thermal interrupt routed to all cores) MSR_TURBO_RATIO_LIMIT............(0x1AD) : 0x2A2A2A2A2A2A2A2A ------------------------------------------  - Maximum Ratio Limit for C01.......... : 2A (4200 MHz)  - Maximum Ratio Limit for C02.......... : 2A (4200 MHz)  - Maximum Ratio Limit for C03.......... : 2A (4200 MHz)  - Maximum Ratio Limit for C04.......... : 2A (4200 MHz)  - Maximum Ratio Limit for C05.......... : 2A (4200 MHz)  - Maximum Ratio Limit for C06.......... : 2A (4200 MHz)  - Maximum Ratio Limit for C07.......... : 2A (4200 MHz)  - Maximum Ratio Limit for C08.......... : 2A (4200 MHz) MSR_TURBO_RATIO_LIMIT1...........(0x1AE) : 0x2222222222222A2A ------------------------------------------  - Maximum Ratio Limit for C09.......... : 2A (4200 MHz)  - Maximum Ratio Limit for C10.......... : 2A (4200 MHz) IA32_ENERGY_PERF_BIAS............(0x1B0) : 0x5 ------------------------------------------  - Power Policy Preference...............: 5 (balanced performance and energy saving) MSR_POWER_CTL....................(0x1FC) : 0x2904005B ------------------------------------------  - Bi-Directional Processor Hot..........: 1 (enabled)  - C1E Enable............................: 1 (enabled) MSR_RAPL_POWER_UNIT..............(0x606) : 0xA0E03 ------------------------------------------  - Power Units.......................... : 3 (1/8 Watt)  - Energy Status Units.................. : 14 (61 micro-Joules)  - Time Units .......................... : 10 (976.6 micro-Seconds) MSR_PKG_POWER_LIMIT..............(0x610) : 0x7FFF80015FFF8 ------------------------------------------  - Package Power Limit #1............... : 4095 Watt  - Enable Power Limit #1................ : 1 (enabled)  - Package Clamping Limitation #1....... : 1 (allow going below OS-requested P/T state during Time Window for Power Limit #1)  - Time Window for Power Limit #1....... : 10 (2560 milli-Seconds)  - Package Power Limit #2............... : 4095 Watt  - Enable Power Limit #2................ : 1 (enabled)  - Package Clamping Limitation #2....... : 1 (allow going below OS-requested P/T state setting Time Window for Power Limit #2)  - Time Window for Power Limit #2....... : 3 (20 milli-Seconds)  - Lock................................. : 0 (MSR not locked) MSR_PKG_ENERGY_STATUS............(0x611) : 0xC06AC ------------------------------------------  - Total Energy Consumed................ : 48 Joules (Watt = Joules / seconds) MSR_PKGC3_IRTL...................(0x60a) : 0x0 MSR_PKGC6_IRTL...................(0x60b) : 0x0 MSR_PKG_C2_RESIDENCY.............(0x60d) : 0x298ED1EE0 MSR_PKG_C3_RESIDENCY.............(0x3f8) : 0xD638F0 MSR_PKG_C2_RESIDENCY.............(0x60d) : 0x298ED1EE0 MSR_PKG_C3_RESIDENCY.............(0x3f8) : 0xD638F0 MSR_PKG_C6_RESIDENCY.............(0x3f9) : 0x44911A9AC IA32_TSC_DEADLINE................(0x6E0) : 0x11D3A1BDB3826 CPU Ratio Info: ------------------------------------------ Base Clock Frequency (BLCK)............. : 100 MHz Maximum Efficiency Ratio/Frequency.......: 12 (1200 MHz) Maximum non-Turbo Ratio/Frequency........: 30 (3000 MHz) Maximum Turbo Ratio/Frequency............: 42 (4200 MHz) P-State ratio * 100 = Frequency in MHz ------------------------------------------ CPU P-States [ (12) 27 30 ] CPU C3-Cores [ 1 2 4 6 8 10 12 14 16 18 ] CPU C6-Cores [ 0 2 4 6 8 10 12 14 16 18 ] CPU P-States [ 12 17 27 (30) ] CPU C3-Cores [ 1 2 3 4 6 7 8 10 11 12 14 15 16 18 19 ] CPU C6-Cores [ 0 2 4 6 8 9 10 12 14 16 17 18 ] CPU P-States [ (12) 17 27 30 31 ] CPU C3-Cores [ 0 1 2 3 4 6 7 8 9 10 11 12 14 15 16 18 19 ] CPU P-States [ (12) 14 17 27 30 31 ] CPU C3-Cores [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 ] CPU C6-Cores [ 0 2 4 6 8 9 10 12 14 15 16 17 18 ] CPU P-States [ (12) 14 17 20 27 30 31 ] CPU C3-Cores [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ] CPU C6-Cores [ 0 1 2 4 6 7 8 9 10 12 14 15 16 17 18 ] CPU P-States [ (12) 14 16 17 20 27 30 31 ] CPU P-States [ (12) 14 16 17 18 20 27 30 31 ] CPU P-States [ (12) 14 16 17 18 20 27 30 31 32 ] CPU P-States [ (12) 14 16 17 18 20 22 27 30 31 32 ] CPU C6-Cores [ 0 1 2 3 4 6 7 8 9 10 12 14 15 16 17 18 ] CPU P-States [ (12) 13 14 16 17 18 20 22 27 30 31 32 ] CPU C6-Cores [ 0 1 2 3 4 6 7 8 9 10 12 13 14 15 16 17 18 19 ] CPU P-States [ (12) 13 14 16 17 18 20 22 23 27 30 31 32 ] CPU P-States [ 12 13 14 (15) 16 17 18 20 22 23 27 30 31 32 ] CPU P-States [ (12) 13 14 15 16 17 18 20 22 23 25 27 30 31 32 ] CPU P-States [ (12) 13 14 15 16 17 18 20 21 22 23 25 27 30 31 32 ] CPU C6-Cores [ 0 1 2 3 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ] CPU P-States [ 12 13 14 15 16 17 18 20 21 22 23 (24) 25 27 30 31 32 ] CPU P-States [ (12) 13 14 15 16 17 18 19 20 21 22 23 24 25 27 30 31 32 ] CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 29 (30) 31 32 ] CPU C6-Cores [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ] CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 (42) ] CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 36 (42) ] CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 34 36 (42) ] CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 34 35 36 (42) ] CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 34 35 36 41 (42) ] CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 34 35 36 37 41 (42) ] CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 34 35 36 37 38 41 (42) ] CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 34 35 36 37 38 39 41 (42) ] CPU P-States [ (12) 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 34 35 36 37 38 39 40 41 42 ] CPU P-States [ (12) 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 40 41 42 ] CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 (42) ]  
      To unload the AppleIntelInfo.kext, enter the terminal command: sudo kextunload AppleIntelInfo.kext  
      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 the latest version of Whatevergreen.kext. 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). 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.   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 X99-A II 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. Over the last weeks, I was actively requesting Web Driver development for macOS 10.14 Public Betas from Nvidia. I really hope that Nvidia will not leave us again without Web Driver support until the official release of Mojave by September 2018. 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 the patched Nvidia Web Driver xxx.35.106 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, NvidiaGraphicsFixup.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 most 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 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 "17F77" to "18A391", the corresponding build number of MacOS Mojave 10.14.0.   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 fully functional patched Web Driver for MacOS Mojave 10.14.  
       
      E.3) Audio Configuration
       
      My most actual respective X99 EFI-Folder distribution contains an already fully functional AppleALC audio configuration. The latter consist of:
       
      1.) Most actual version of codeccommander.kext,  AppleALC.kext and Lilu.kext in "/EFI/CLOVER/kexts/Other/
       
      2.) Boot flags "-alcbeta", "alcid=5", "alcaaplid=5", and "-lilubetaall" in the config.plist under "Custom Flags" in Section "Boot" of Clover configurator. 
       
       
       
      3.)  Note that ALZA -> HDEF ACPI patch needs to be added to the config.plist in Section "ACPI" of Clover Configurator, in case one does not use the adopted system SSDT discussed in Section 9.2).    
      Comment:                Find:           Replace: ALZA -> HDEF     414c5a41        48444546  
      4.) Audio ID Injection "5" in the config.plist under Audio/Inject in Section "Devices" of Clover Configurator. 
          This audio configuration provides a correct analogue onboard audio chipset system implementation.    The correct digital HDMI/DP HDAU PCI device implementation will be detailed in Section E.9) in line with the HDEF and GPU PCI device implementation.   Thanks to @nmano for helping me with the initial AppleALC audio setup for 10.14 Mojave.   
      E.4) USB Configuration    With AppleIntelPCHPMC, Apple should properly implement 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) ports.  All external and internal USB 3.1 (USB 3.1 Gen 2 Type-A and Type-C) ports are natively implemented on different controllers than XHC.   All ASUS A99-A II users, not content with the XHC USB implementation,  can download, unzip and use my board-specific XHC USB Kext KGP-ASUS-X99-A-II-iMacPro-XHCI.kext.zip in /EFI/Clover/kexts/Other/. All users of mainboards different from the ASUS X99-A II, can create their own board specific XHC USB kext by following my XHC USB Kext Creation guide line in the other forum.    Note that in addition one needs to implement the XHC USB port limit patch in the config.plist under "KextsToPatch"  in Section "Kernel and Kext Patches" of Clover Configurator, as else not all available XHC USB ports will be implemented. Name*          Find*[Hex]             Replace* [Hex]         Comment com.apple.driver.usb.AppleUSBXHCI 83FB0F0F 83030500 00 83FB0F90 90909090 90 USB Port Limit Patch ©PMHeart Many thanks to @PMheart from InsanelyMac for providing the respective 10.14 XHC USB port limit patch detailed above.
       
       
      E.5) M.2/NVMe Configuration
       
      In contrary to macOS Sierra 10.12, and like already in case of macOS High Sierra 10.13, also macOS 10.14 Mojave provides native support of non-4Kn NVMe SSDs, like my Samsung EVO 960 M.2/NVMe. All patches applied under macOS Sierra 10.12 are obsolete. The native support of non-4Kn NVMe SSDs enables the unique opportunity to directly perform a clean-install of macOS High Sierra 10.13 on M.2 NVMEs like the Samsung EVO 960.   The only current drawback consists in the external drive implementation of NVMEs. This minor issue should be easily solved by adding the actual External NVME Icon KextToPatch entry to the config.plist by means of the Clover Configurator. [code] Name*            Find* [HEX]           Replace* [HEX]        Comment IONVMeFamily     4885c074 07808b20     4885c090 90808b20     External NVME Icon Patch[/code] Not however that within the actual 10.14 Mojave distribution, this approach does not seem to work anymore, despite the KextToPatch entry detailed above. If you still have your NVMe implemented in form of an external drive you have to perform the following workaround, detailed below.
        1.) Disable the not working External NVME Icon KextToPatch entry.   2.) Open the IORegistryExplorer, in the upright search field type nvme and take not of values in the left column, i.e. indicated as v.1, v.2 and v.3 and marked by red rectangles in the figure below. As you can see by following these entries, your nvme device shows up in PCI0@0 > BR1B@1,1 > H000@0     3.) Download and unzip the SSDT-NVMe-extern-icon-patch.aml.zip, and open the SSDT-NVMe-extern-icon-patch.aml with MaciASL-DSDT.app, both attached towards the end of this guide. For deviating system configurations, replace the values highlighted in blue color in the figure below with those of your IOReg, marked by red rectangles and indicated by v.1, v.2 and v.3 in the figure of my IOReg above.     4.) Save and copy the modified SSDT-NVMe-extern-icon-patch.aml to the /EFI/CLOVER/ACPI/patched/ folder of your system drive.   5.) Reboot   Now your NVMe drive should correctly show up as internal.  
       
      E.6) SSDT/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 of my most actual respective X99 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 also on your 10.14 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 driveto 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 mainboard drivers and programs implemented on the DVD attached to your mainboard.    7.) Now switch off your rig and start with the installation of our Thunderbolt 3 Add-In PCIe Adapter

      I recommend to install the Thunderbolt 3 Add-In PCIe Adapter in the 4th PCIe Slot from top, which is PCIEX_3   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:     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) Gigabit 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 X99 systems.  
      E.8.1) ASUS X99-A onboard Gbit functionality   
       
      The Intel I218-V2 Gigabit on-board LAN controller of the ASUS X99-A II is implemented by means of IntelMausiEthernet.kext (already part of my EFI-Folder distributions).
       
      E.8.2) 10-Gbit Lan Implementations  
       
      E.8.2.1) ASUS XG-C100C Aquantia AQC 10-Gbit NIC   
       
      Starting with 10.13.2, there is native support for Aquantia based 10GBit network cards, which are implemented by means of a Apple Vanilla kext called "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 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 also under 10.13.4 and and later macOS versions.   For further information and discussion see  . 
      How to successfully implement the ASUS XG-C100C AQC107 PCIe x4 10GBit Ethernet Adapter:   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 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 will be natively implemented in macOS High Sierra 10.13.3 and fully functional.   2.) To finally use the ASUS XG-C100C with macOS builds >10.13.4, one has to implement the following AppleEthernetAquantiaAqtion KextPatch provided by [USER=389154]@Mieze[/USER]: 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 will refuse the official Windows Lan drivers provided by ASUS and will only work with Apple's customised Aquantia64.zip boot camp drivers attached below.   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.   Important additional notes to the EEPROM modding guideline linked above can be assessed in Section E.8.2.2) of my iMac Pro Skylake-XX299 macOS 10.14 Mojave Build and Desktop guide.   The proper Intel X540-T1 PCI SSDT implementation is detailed in Section E.9.2)   E.8.2.3) Small-Tree P2EI0G-2T 10-GBit NIC     
      The Small-Tree P2EI0G-2T 2-Port 10GB LAN PCIe Adapter constitutes now the actual base line in my iMac Pro 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.4) 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.5) QNAP TS-431X2 Quad-core 4-Bay NAS
       
      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.5) 10-Gbit Ethernet Optimization
       
      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 X99-A II 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 with partial contributions of @TheOfficialGypsy. 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 most actual respective X99 EFI-Folder distribution. Others are part of my System SSDTs provided in my X99-System-SSDTs Github repository.   Note that the ACPI DSDT Replacements in config.plist, System SSDTs and TB-SSDTs are build and PCIe slot population dependent and have to be verified and adopted or modified for all mainboards different from the ASUS X99-A II and builds or PCIe slot populations different from the one that constitutes the baseline of this guide.   For the ASUS X99-A II I will use in the following the PCIe Slot nomenclature depicted below:  

       
      The verification and likely adaptation/modification can be performed by the help of IORegistryExplorer.
       
      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-X99-iMacPro.aml has been split into separated modules now forming part of my X99-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 of my most actual respective X99 EFI-Folder distribution or are directly part of of the System SSDTs provided in my X99-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.) OSI -> XOSI and EC0_ -> EC__ or H_EC  -> EC__ are DSDT replacement patches to achieve consistency with a real Mac variable naming.   i.) The XOSI functionality is required as explained by @RehabMan. Thus please enable the OSI -> XOSI DSDT Replacement patch.   ii.) On the ASUS X99-A II and ASUS X99 Deluxe II we have EC0 and H_EC controllers, which have to be renamed to 'EC' for proper USB power management. Thus enable both EC0_ -> EC__  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  
      b.) The HEC1 -> IMEI and IDER->MEID DSDT Replacement patches are Intel Management Engine Interface related and 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 DSDT Replacement patches independent from your mainboard. Comment:             Find*[Hex]       Replace [Hex] HECI -> IMEI         48454331         494d4549 IDER->MEID           49444552         4d454944  
      c.) The LPC0 -> LPCB DSDT Replacement Patch is AppleLPC and SMBus related and is applied for consistency with the variable naming on a real Mac.   Please enable now this DSDT replacement patch independent from your mainboard. Comment:             Find*[Hex]         Replace [Hex] LPC0 -> LPCB         4c504330           4c504342  
      d.) FPU_->MATH, TMR_->TIMR, PIC_->IPIC are all DSDT Replacement Patches for consistency with the variable naming on a real Mac. The variables are however functionless on either X99 systems or real Macs.   Please enable now all three DSDT Replacement Patches independent from your mainboard. Comment:             Find*[Hex]        Replace [Hex] FPU_ -> MATH         4650555f          4d415448 TMR_ -> TIMR         544d525f          54494d52 PIC_ -> IPIC         5049435f          49504943  
      e.) The DSM -> XDSM DSDT replacement patch will be vital for loading the SSDT-ASUS-X99-A-II.aml, as all DSM methods used in the original 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  
      f.) The 48 CPxx -> PRxx replacements are i7-6950X specific and result in a proper CPU core reordering as well as in a iMac Pro specific CPU core variable naming.   All i7-6950X users can now enable all 48 CPxx -> PRxx replacements. All users of CPUs different from the i7-6950X have to adopt/modify the 48 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 CP0A -> PR10         43503041          50523130 CP0B -> PR11         43503042          50523131 CP0C -> PR12         43503043          50523132 CP0D -> PR13         43503044          50523133 CP0E -> PR14         43503045          50523134 CP0F -> PR15         43503046          50523135 CP10 -> PR16         43503130          50523136 CP11 -> PR17         43503131          50523137 CP12 -> PR18         43503132          50523138 CP13 -> PR19         43503133          50523139 CP14 -> PR20         43503134          50523230 CP15 -> PR21         43503135          50523231 CP16 -> PR22         43503136          50523232 CP17 -> PR23         43503137          50523233 CP18 -> PR24         43503138          50523234 CP19 -> PR25         43503139          50523235 CP1A -> PR26         43503141          50523236 CP1B -> PR27         43503142          50523237 CP1C -> PR28         43503143          50523238 CP1D -> PR29         43503144          50523239 CP1E -> PR30         43503145          50523330 CP1F -> PR31         43503146          50523331 CP20 -> PR32         43503230          50523332 CP21 -> PR33         43503231          50523333 CP22 -> PR34         43503232          50523334 CP23 -> PR35         43503233          50523335 CP24 -> PR36         43503234          50523336 CP25 -> PR37         43503235          50523337 CP26 -> PR38         43503236          50523338 CP27 -> PR39         43503237          50523339 CP28 -> PR40         43503238          50523430 CP29 -> PR41         43503239          50523431 CP2A -> PR42         43503241          50523432 CP2B -> PR43         43503242          50523433 CP2C -> PR44         43503243          50523434 CP2D -> PR45         43503244          50523435 CP2E -> PR46         43503245          50523436 CP2F -> PR47         43503246          50523437  
      Resulting CPU Core Implementation  

       
       
      E.9.2) System SSDT PCI Device Implementation
       

       
      For the proper PCI device driver implementation (detailed in the figure above), we now have to revise and likely adopt or modify all System SSDTs provided within my X99-System-SSDTs Github repository.   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 Audio Controller PCI Implementation:   The SSDT-X99-HDEF.aml onboard Realtek ALC 1150 Audio Controller HDEF PCI device implementation is valid for the ASUS X99-A II 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 ALZA -> HDEF ACPI Replacement within the SSDT!   E.9.2.2) GFX0, HDAU - GPU and HDMI/DP Audio PCI implementation    A.) Radeon RX Vega 64 GPU    The SSDT-X99-Vega.aml GFX0 and HDAU PCI device implementation is valid for SMBIOS iMacPro1,1 (GFX0), the ASUS X99-A II 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 a Vega graphics card in a PCIe slot different from PCIe Slot 1, or with a mainboard different from the ASUS X99-A II will have to adopt the respective device path entries PCI0.BR3C, H000, H001, D077 and respective ACPI replacements by following their respective IOREG entries.   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", "PP_DisablePowerContainment" and "PP_FuzzyFanControl" SSDT implementation.   Everybody can change the respective Vega properties by means of VGTab-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-X99-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 (used on my Skylake-X/X299 system), 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:  
      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.1. 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). 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.   B.) Nvidia GPUs    The actual SSDT-X99-Nvidia.aml GFX0 and HDAU PCI device implementation is valid for SMBIOS iMacPro1,1 (GFX0), the ASUS X99-A II 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 GPU, with a Nvidia graphics card in a PCIe slot different from PCIe Slot 1 or on a mainboard different from ASUS, will have to adopt the respective PCI0, BR3C, H000, H001, D077, GFX0 ACPI path and ACPI replacements following their respective IOREG entries.    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 most actual respective X99 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.   With Whatevergreen.kext, mis Nvidia users might be able to drop this KextToPatch entry, as the latter kext already properly implements the Nvidia HDAU PCI driver  
        E.9.2.3) XGBE - 10GBit NIC PCI Implementation:   SSDT-X99-ACQU.aml, SSDT-X99-X540-T1.aml and SSDT-X99-P2EI0G-2T.aml perform a 10-Gigabit NIC XGBE (XGBF) PCI implementation of an Acquantia AQC107-AFW, Intel X540-T1 or 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 "PCI0", "BR3A" and respective H000 -> D07C and D07C -> XGBE ACPI Replacements (in compliance with the iMac Pro 10GB ACPI variable nomenclature), directly performed within each SSDT. Those not employing any 10-GBit NIC in their system, can simply skip the corresponding SSDT PCI device implementation.     E.9.2.4) ETH0 - onboard LAN Controller PCI Implementation:   The SSDT-X99-ETH0.aml onboard Intel i218-V Ethernet controller ETH0 PCI implementation is of pure cosmetic nature and valid for the ASUS X99-A II or X99 mainboards with the same LAN Controller configuration. Owners of different X99 mainboards have to verify and adopt/modify the ACPI path and the PCI device implementations by means of their IOREG entries. Note the GLAN -> ETH0 ACPI replacement directly performed within the SSDT.     E.9.2.5) SAT1 - Intel AHCI SATA Controller PCI Implementation:   The SSDT-X99-SAT1.aml onboard Intel AHCI SATA controller SAT1 PCI device implementation is valid for the ASUS X99-A II and for all other X99 mainboards with the same AHCI SATA controller chipset.     E.9.2.6) EVSS - Intel X99 sSata Controller PCI Implementation:   The SSDT-X99-EVSS.aml onboard Intel X99 sSATA controller EVSS PCI device implementation is valid for the ASUS X99-A II and for all other X99 mainboards with the same X99 sSATA controller chipset. Verify and adopt/modify if necessary device path "PCI0.EVSS" and PCI device implementations by means of IOREG.     E.9.2.7)  ANS1 - NVMe Controller PCI Implementation:   The SSDT-X99-ANS1.aml Apple NVMe Controller ANS1 PCI implementation is of purely cosmetic nature and is valid for the ASUS X99-A II. Note  ACPI Replacements D075 -> D081 and D081 -> ANS2 directly performed within the SSDT, in concordance with the respective SMBIOS iMacPro1,1 variable naming!     E.9.2.8) - 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-X99-USBX.aml PCI device implementation fixes this errors.     E.9.2.9) XHCI - onboard Extended Host Controller Interface (XHCI) PCI Implementation:   The SSDT-X99-XHCI.aml onboard USB3.0 controller XHCI PCI device implementation is valid for the ASUS X99-A II and for all other X99 mainboards with the same XHCI controller chipset. Verify and adopt/modify if necessary device path "PCI0.XHCI" and PCI device implementations by means of IOREG.     E.9.2.10) XHC2 - ASMedia ASM1142 USB 3.1 Controller PCI Implementation:   The SSDT-X99-XHC2.aml onboard ASMedia ASM1142 USB 3.1 AHCI SATA controller XHC2 PCI device implementation is valid for the ASUS X99-A II and for all other X99 mainboards with the same XHC USB3.1 controller chipset configuration. Note the D07D -> D082 and D082 -> XHC2 ACPI replacements directly performed within the SSDT!     E.9.2.11) ARPT - OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 AirPort Controller PCI Implementation:   The SSDT-X99-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 5 of the ASUS X99-A II. Users of this PCIe Adapter within a PCIe slot population different from PCIe Slot 5 or on a mainboard different form the ASUS X99-A II  have to likely adapt/modify the respective device path "PCI0","RP07","ARPT". Users with a completely different WIFI/Bluetooth configuration have to adopt the entire Airport PCI implementation by means of IOREG.     E.9.2.12) 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-X99-TB3HP-TTR.aml (for GC-Titan Ridge and ASUS TBEX 3) and SSDT-X99-TB3HP-APR.aml (for GC-Titan Ridge) constitute workarounds for achieving TB HotPlug and TB XHC USB HotPlug functionality with the respective TB3 PCIe Add-In adopters. Note once more that with the GC-Titan Ridge, HotPlug functionality can be reached with the THB_C connected. For HotPlug with the other TB adaptors, the THB_C must be removed from most of the available mainboards.

      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.   >>> https://youtu.be/Jakp5dCoFvY <<<     E.9.2.13) 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.14) - 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:   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. 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 most 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, we achieved a major step forward in properly monitoring Skylake-X/X299 Hardware with iStatMenus. iStatMenus v6.2 now correctly interfaces with the HWSensor and FakeSMC kext distribution provided by @interferenc and can now be also used for Broadwell-E/EP, Haswell-E/EP, X99 system monitoring. My distributed EFI-Folder already contains all necessary HWSensor and FakeSMC kexts.   The most actual iStatMenus v6.2 distribution can be assessed at https://bjango.com/mac/istatmenus/   The most actual HWSensor and FakeSMC kext distribution of @interferenc can be separately 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!   Broadwell-E/EP, Haswell-E/EP, X99 iStatMenus Hardware Sensor Data:     Broadwell-E/EP, Haswell-E/EP 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) i7-6950X CPU Benchmarks             F.2) Gigabyte AORUS GTX 1080 Ti 11GB Xterme Edition OpenGL and Metal Benchmarks   Yet to be implemented to be implemented once a macOS 10.14 Mojave Web Driver has been released.     G.) Summary and Conclusions   Already under macOS 10.12 Sierra and macOS 10.13 High Sierra, Broadwell-E/EP, Haswell-E/EP, X99 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 Broadwell-E/EP, Haswell-E/EP, X99 potential!   High-end builds based on Broadwell-E/EP, Haswell-E/EP, X99 technology have found manifold application, not only in science and research at universities or research institutions, engineering facilities, or medical labs, etc... Broadwell-E/EP, Haswell-E/EP, X99 with up to 22 cores (44 threads) and turbo frequencies up to 4.4 GHz have made X99 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. Broadwell-E/EP, Haswell-E/EP, X99 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 Broadwell-E/EP, Haswell-E/EP 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 Broadwell-E/EP, Haswell-E/EP, X99 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 KGP-iMacPro
      Successfully running my iMac Pro Skylake-X/X299 Build with macOS High Sierra 10.13.6 (17G65) - Final Release!
       

        Abstract and Introduction: 
        This originating post constitutes a new macOS 10.13 High Sierra Desktop Guide for Skylake-X/X299, which certainly can still grow and improve by your estimated user feedback. This Skylake-X/X299 10.13 High Sierra Desktop Guide bases on the ASUS Prime X299 Deluxe. However, also other X299 ASUS mainboard models or X299 mainboards of other brands should be compatible with this guide by considering a few mandatory modifications detailed below. The i7-7800X (6-core) was chosen as the Skylake-X Startup Configuration Model in order to minimise the guide development costs.  It has been replaced within the goal configuration by the i9-7980XE (18 core). All other Skylake-X models compatible with this guide are detailed in the figure below.     Carefully consider, which Skylake-X model might be the correct choice for your specific needs. Also the note of the following limitations:   a.) The i7-7640X and 7740X only support two channels DDR4-2666 and only posses 16 PCI express 3.0 lanes, which are already used up by implementing a state-of-the-art 16 lane PCIe graphics adapter. Thus, there are no further PCI express 3.0 lanes for using PCIe NVMe drives or additional PCIe adapters!   b.) The i7-7800X and i7-7820X already support four channels DDR4-2666 but however also possess only 28 PCI express 3.0 lanes! Thus by using a state-of-the-art 16 lane PCIe graphics adapter and a PCIe NVMe drive, there are nearly no PCI express 3.0 lanes remaining. When adding one or two additional PCIe adapters, one exceeds the 28 available PCI express 3.0 lanes by far! In this case, the resulting configuration might be error-prone!   c.) Thus, considering a.) and b.), I strongly recommend to start at least with the i9-7900X, which already supportsfour channels DDR4-2666 and also implements 44 PCI express 3.0 lanes   Further note, that for all Skylake-X processors, a sophisticated liquid cooling system is absolutely mandatory! For stock speeds something like the Corsair H115i might by sufficient. However, if somebody aims at OverClocking (OC) of the i9-7900X or Skylake-X Processors above, sophisticated Water Blocks for CPU and VRM of e.g. EKWB seem absolutely mandatory and unavoidable.   My Skylake-X/X299 System is up, fully stable and fully functional apart from the yet non-functional onboard WLAN (WIFI) module (chipset not natively supported by OS X). For Wifi, I therefore use the OSX WIFI PCIe Adapter instead.   Thanks to a very recent iMac Pro dump performed by @TheOfficialGypsy, we now have been able to successfully implement the necessary iMacPro1,1 details in both Clover_v2.4k_r4369 (thanks to @Sherlocks) and Clover Configurator v4.60.0.0 (SMBIOS details, thanks to @Mackie100) by beginning of January 2018. In collaboration with @macandrea we first achieved the direct implementation of macOSHigh Sierra 10.13.2 (17C2120), and now also the direct implementation of macOSHigh Sierra 10.13.6 (17G65), which can be subsequently updated to macOSHigh Sierra 10.13.6 Public Beta 2 (17G39b) via the Appstore.   Note that with AptioMemoryFix.efi, the new Skylake/X299 iMac Pro build now also features fully native NVRAM support. No need for EmuVariableUefi-64.efi in /EFI/Clover/drivers64UEFI/ to properly transmit the SMBIOS iMacPro1,1 credentials to Apple.   We also reached Native Display Brightness Control / Native NightShift Functionality for Monitors like the LG 38 inch display with DCC/IC Support thanks to users @Bendge and @Ramalama.   Since 10.13 SU and with AppleIntelPCHPMC, Apple now e.g. implements IOPCIPrimaryMatchID "a2af8068" and AppleUSBXHCISPT on the ASUS Prime X299 Deluxe. 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) ports should work at expected data transfer rates on all X299 mainboards.  All external and internal USB 3.1 (USB 3.1 Gen 2 Type-A and Type-C) ports are anyway  natively implemented on different controllers than XHC and also work at expected data rates. Anybody unhappy with the current XHC USB OSX implementation can create a board specific XHC USB Kext by following my XHC USB Kext guideline in the other forum.   The new GC-Titan Ridge is now fully implemented including TB XHC USB and TB HotPlug functionality with THB_C connected. Even my Thunderbolt HDD drive also connects via Apples Thunderbolt 3 to Thunderbolt 2 Adapter and works at expected data rates and speeds.   Note that most 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 in Section E.)! You can select between three possible audio implementations detailed in section E.3): 1.) The AppleALC audio approach (section E.3.1) bases on the most recent versions of AppleALC.kext and Lilu.kext and could be implemented thanks to the extensive efforts and brilliant work of @vit9696 and @apfelnico.  2.) The VoodooHDA audio approach (section E.3.2) bases on the VoodooHDA.kext v2.9.0d10 and VoodooHDA.prefPane v1.2. 3.) Finally, @toleda's cloverALC audio approach (section E.3.3) bases on the realtekALC.kext v2.8 and on an additional pathing of the native vanilla AppleHDA.kext in the /S/L/E/ directory of the System Disk and has been successfully implemented thanks to the instructions and help of @Ramalama. The correct HDMI/DP digital Audio PCI implementation will be detailed in Section E.9) of this guide in line with the HDEF and GPU PCI device implementation.   The ASUS Prime X299 Deluxe on-board Bluetooth is natively supported and also Bluetooth Audio works OoB, however due to the non-functionality of the ASUS Prime X299 Deluxe on-board Wifi Module, I also use the Bluetooth 4.0 module of the OSX WIFI PCIe Adapter, which in line with its natively supported Wifi-module also provides native Airdrop, native Handoff and native Continuity as well as keyboard support in BIOS/UEFI and Clover Boot Loader. A full-featured alternative and more budget friendly BT/WIFI solution is the ABWB 802,11 AC WI-FI + Bluetooth 4.0 PCI-Express (PCI-E) BCM94360CD Combo PCIe Adapter of Flughafen Computer especially for our friends in Europe (thanks to @DSM2 for providing this information).   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 is now correctly implemented and fully functional, in addition to the anyway natively implemented and of course also fully operational Intel I219-V Gigabyte on-board LAN controller of the Asus Prime X299 Deluxe (see Section E.8 of my guide).   In May 2018, @mm2margeret pointed me even to a fully working 10GBit Lan Solution (thanks to@mikeboss, @d5aquep and @Mieze) based on the ASUS XG-C100C 10-Gigabit Ethernet PCIe x4 Adapter. The latter adapter employs the same Aquantia AQC107 chip like the iMac Pro. How to successfully implement and run the ASUS XG-C100C is detailed in Sections E.8.2.1) and E.9.9). In addition, I also successfully implemented and tested the Intel X540-T1 single port 10GBit LAN PCIe Adapter after some Ubuntu modding of it's EEPROM to be compatible with the Small-Tree 10GB macOS 10.13 driver (see Sections E.8.2.2 and E.9.9 ). I now however use this latter adapter in my X99 rig. The Small-Tree P2EI0G-2T 2-Port 10GB LAN PCIe Adapter constitutes my actual 10GBit LAN implementation, working OoB with the Small-Tree 10GB macOS 10.13 driver. The 10Gbit NIC connects with a NetGear ProSave XS508M 8-port 10GBit switch, which further connects with a QNAP TS-431X2 Quad-core 4-Bay NAS tower with Built-in 10GbE SFP+ Port that harbours 4x 12 TB Seagate IronWolf in RAID 0 configuration (optimised for read/write speed). Let me express 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. You are just awesome!   Excellent news concerning CPU Power Management: ASUS, MSI and ASROCK mainboards allow now for manually unlocking the MSR 0xE2 BIOS Register along their X299 mainboard series. The MSR 0xE2 BIOS Register of all Gigabyte mainboards is anyway unlocked by factory default. Since BIOS firmware version 1301, the  manual unlocking of the MSR register is also possible within any ASUS mainboard BIOS. Since BIOS firmware version 1301, the  manual unlocking of the MSR register is also possible within any ASUS mainboard BIOS. By this we now achieve fully native HWP (Intel SpeedShift Technology) CPU Power Management for all Skylake-X processors on all mainboards with unlocked MSR 0xE2 BIOS Register, resulting in absolutely brilliant and top-end CPU performance (see Section E.1). With all unpatched mainboards we witness however 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 @interferenc in this case.   Outstanding historical Skylake-X/X299 iMac pro Benchmark Scores finally also depict the excellent overall build and and system performance:     Geekbench i9-7980XE (4.8GHz) CPU Benchmark:  Multi-Core Sore: 65.348 Single-Core Sore: 5.910  
      Cinebench i9-7980XE (4.8GHz) CPU Benchmark: 4.618 CB  
      Geekbench Gigabyte Nvidia GeForce GTX 1080 Ti WaterForce WB 11GB Xtreme Edition OpenGL and Metal2 Benchmark:  OpenGL Sore: 229.965 Metal 2 Sore:  242.393   See Sections F.1) and F.2) for further details.   All Skylake-X Systems harbouring a mainboard with unlocked MSR 0xE2 BIOS Register now also posses fully native forced and automated Sleep/Wake Functionality not only thanks too a fully developed SSDT implementation and respective ACPI replacements.    Good new also for all users of C422 and XEON-W System. This guide seems also fully compatible with your systems     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.13 High Sierra System Setup This chapter includes a general guideline how to perform the initial setup of your iMac Pro with macOS High Sierra 10.13.6 (17G65). Note that the macOS High Sierra 10.13.6 (17G65) full package installer apparently can be only successfully downloaded on non-iMacPro systems. For iMacPro systems, there we provide a sophisticated workaround that bases on pristine sources from Apple. D.1) iMac Pro EFI-Folder Preparation D.2) iMac Pro macOS High Sierra 10.13.6 (17G65) Installer Package Creation D.3) iMac Pro macOS High Sierra 10.13.6 (17G65) USB Flash Drive Installer Creation D.4) iMac Pro macOS High Sierra 10.13.6 (17G65) 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 High Sierra Build 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) GC-Titan Ridge / GC-Alpine Ridge /Asus TBEX 3 PCIe Add-In Implementation E.6) NVMe compatibility E.7.) SSD/NVMe TRIM Support 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) Small-Tree P2EI0G-2T 10-Gbit NIC E.8.2.4) NetGear ProSave XS508M 8-port 10-Gbit Switch E.8.2.5) QNAP TS-431X2 Quad-core 4-Bay NAS tower E.8.2.6) 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) System Overview CPU Cosmetics E.11) iMac Pro Boot Splash Screen Cosmetics E.12) iMac Pro Desktop Background cosmetics E.13) Native Display Brightness Control / Native NightShift Functionality for Monitors with DCC/IC Support E.14) Logic-X and Audio Studio Software Functionality E.15) 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   --------------------------------------------------------------------------------  
      Now enjoy and have have fun with the detailed guidelines below. Many thanks to [USER=956262]@paulotex[/USER] for committing the efforts in providing the Table of Contents detailed above.
       
      A.)  Hardware Overview
       
       
       
      Mainboard: Asus Prime X299 Deluxe [380€]
      CPU: i9-7980XE (18 core, 4.4Ghz) [1.900€] RAM Memory: Corsair Dominator Platinum 128GB (8x16GB) DDR4 3200 MHz C16 Kit @3600MHz OC [1.600€] GPU: Sapphire Nitro+ Radeon RX Vega 64 8GB [600€] System Disks: EVO 960 NVMe M.2 1TB (system disk macOS High Sierra 10.13.3) [450€] ; EVO 960 NVMe M.2 1TB (system disk macOS Sierra 10.12.6 Sierra) [450€] Thunderbolt 3 Add-in: GC-Titane Ridge 40GB/s Intel Thunderbolt 3 Certified Add-in PCIe Adaptor [90€] Power Supply: Corsair AX1500i [450€] Monitor: LG 38UC99-W 38" curved 21:9 Ultra Wide QHD+ IPS Display (3840 pix x 1600 pix) [1.350€] WebCam: Logitech C930e [80€] Mouse: Apple Magic Mouse 2 [75€] Keyboard: Apple Magic Keyboard Wireless [99€] Bluetooth + Wifi: PC/HACKINTOSH - APPLE BROADCOM BCM94360CD - 802.11 A/B/G/N/AC + BLUETOOTH 4.0 [129€] Internal USB2.0 HUB: NZXT AC-IUSBH-M1T [20€] Case: Thermaltake Core X71 Tempered Glass Edition Full Tower Chassis [140€]   10Gbit Ethernet components: - 1x ASUS XG-C100C AQC107 PCIe x4 10GBit LAN Adapter (for testing purposes) - 1x Intel X540-T1 single port 10GBit LAN PCIe Adapter (for testing purposes, now installed in my X99 rig) - 1x Small-Tree P2EI0G-2T 2-Port 10GBit LAN PCIe Adapter (now default configuration) - 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-FB ASUS Prime X299 RGB Monoblock - Nickel [117€] - 1x EK-CoolStream PE 360 (Triple, 39 mm, Roof) [80€] - 1x EK-CoolStream Ce 280 (Dual, 45mm, Front) [90€] - 2x EK-CoolStream XE 360 (Triple, 60 mm, Cellar) [220€] - 1x XSPC Twin D5 Dual Bay Reservoir/Pump Combo [209€] - 15x Thermaltake Riing 12 High Static Pressure LED Radiator Fan (120mm) [210€] - 5x Thermaltake Riing 14 High Static Pressure LED Radiator Fan (140mm) [100€] - 3x Phantek PMW Fan Hub (up to 12 fans or 30W power consumption) [17€] - 1x Alphacool Eisflügel Flow Indicator Black G1/4 IG [16€] - 1x Phobya Temperatur Sensor G1/4 + C/F Display [22€]    
      -----------
      Total: 8894€
      -----------
      Compared with:
       
      B.) Mainboard BIOS
      Please find below instructions for the Asus X299 Prime Deluxe BIOS firmware patching (Section B.1), a summary of my actual Asus X299 Prime Deluxe BIOS settings (Section B.2), and some actual BIOS settings for the Gigabyte Designare EX settings (Section B.3).
       
      B1.) ASUS BIOS Firmware Patching
        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.   Within ASUS Prime X299 Deluxe BIOS firmware 1301, 1401 and 1503, 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 most recent ASUS Prime X299 Deluxe BIOS Firmware 1503 with an iMacPro Splash Screen Image (see Section E.11), which can be flashed by means of the well known ASUS EZ BIOS Flashback procedure.  
      B2.) ASUS BIOS Configuration
       
      Before applying the specific settings, please provide your ASUS X299 Prime Deluxe with the most actual BIOS firmware 1301.   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 [optional "Disabled", see important notification below!] b.) AVX Instruction Core Ratio Negative Offset: "3" [optional "Auto", see important notification below!] c.) AVX-512 Instruction Core Ratio Negative Offset: "2" [optional "Auto", see important notification below!] d.) CPU Core Ratio: Sync All Cores [optional "Auto", see important notification below!] e.) CPU SVID Support: Enabled [fundamental for proper IPG CPU power consumption display] f.) DRAM Frequency: DDR4-3200MHz   2.) /Advanced/CPU Configuration/ a.) Hyper Threading [ALL]: Enabled b.) MSR Lock Control: Enabled    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   (crucial for native HWP Intel SpeedShift Technology CPU Power Management) 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 (see VT-d notification below)   6.) /Boot/ a.) Fast Boot: Disabled b.) Above 4G Decoding: Off c.) Set your specific Boot Option Priorities   7.) /Boot/Boot Configuration a.) Boot Logo Display: Auto (important for E.11 - ASUS Boot Splash Screen Cosmetics) 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.   Important Notes:   "ASUS MultiCore Enhancement": When set to "Auto", MCE  allows you to maximise the overclocking performance optimised by the ASUS core ratio settings. When disabled, MCE allows to set to default core ratio settings.   "CPU Core Ratio - Sync All Cores": Tremendous increase in CPU performance  can be achieved with the CPU Core Ratio set to "Sync All Cores". In case of i9-7980XE stock settings (max. turbo 4.4 Ghz), the Geekbench score difference is approx. 51.000 (disabled) compared to 58.000 (enabled)! Note however, that Sync All Cores should be used only in case of the availability of an excellent and extremely sophisticated water cooling system! Otherwise, CPU Core Ratio should be set to "Auto". Further note that with CPU Core Ratio set to "Sync All Cores", the AVX Instruction Core Ratio Negative Offset must be set to "3" and the AVX-512 Instruction Core Ratio Negative Offset must be set to "2". Without the correct core ratio offsets, your system might become unstable with CPU Core Ratio set to "Sync All Cores"!   VT-d Note: For compatibility with VM or parallels, VT-d can be also ENABLED... Verify however, in this case that in your config.plist the boot flag "dart=0"  is checked under Arguments in the "Boot" Section of Clover Configurator! However, it might well be that the "dart=0" boot flag is already obsolete.   Intel(R) Power Gadget (IPG) CPU Power Consumption note: for the proper display of the CPU Power Consumption in e.g. the Intel(R) Power Gadget it is absolutely mandatory to enable both /AI Tweaker/CPU SVID Support/.   CPU Core Voltage Correction for ASUS X299 mainboard users: The ASUS Skylake-X BIOS microcode implementation has improved considerably. Former issues with "/AI Tweaker/CPU Core Voltage/" set to "Auto", where the assigned CPU Core Voltages have been too high by far, have been totally removed.   Iterative manual approach to derive minimal  CPU Core Voltages:   This iterative approach detailed assumes the BIOS settings described in Section B1) - point 1) to 10), however by considering the following else optional settings:   i.) "ASUS MultiCore Enhancement" set to "Auto" ii.) "CPU Core Ratio" set to "Sync All Cores" iii.) "AVX Instruction Core Ratio Negative Offset" set to "3" iv.) "AVX-512 Instruction Core Ratio Negative Offset" set to "2"   1.) Boot into Windows and launch ASUS CPU-Z as well as Cinebench.   2.) Run Cinebench CPU benchmarks and watch the Core VID values in CPU-Z under CPU max.load conditions. These values will usually exceed 1.2V with "/AI Tweaker/CPU Core Voltage/" set to "Auto".   3.) To optimise the "/AI Tweaker/CPU Core Voltage/"  perform the following steps:   a.) Enter the BIOS, go to "/AI Tweaker/CPU Core Voltage/" and change from "Auto" to "Manual"   b.) Enter a slightly lower CPU Core Voltage Overrride (e.g. typically 0.01 V less) than originally observed with CPU-Z under Cinebench CPU benchmark max.load conditions in Windows, e.g. 1.190 V in the first iteration.   c.) Reboot into windows and check if the Cinebench CPU benchmark scores are still in the expected range by also controlling the respective Core VID values during the Cinebench CPU benchmark max. load conditions   d.) Repeat b.) and c.) until either your Cinebench CPU benchmarks scores start to significantly decrease or you start facing problems in booting your system.    Given my personal experience with the i9-7980XE, a CPU Core Voltage Override of 1.120 V was optimal for a stock 4.4 GHz stock turbo frequency. In case of OC, the minimal CPU Core Voltage easily exceeded 1.2 V.   Warning!    Before performing the CPU Core Voltage Override Value Optimisation Approach, save your actual BIOS settings to a USB Drive. If during the iterative approach you are not able to successfully boot your system, perform a CMOS reset and restore your BIOS settings from the USB Drive, by subsequently entering the last successful CPU Core Voltage Override value!   Too high voltages can severely damage your CPU! In any case, when performing OC, a sophisticated water block circuit is absolutely mandatory! Always watch also your CPU temps when performing the CPU Core Voltage Optimisation, which should not exceed 90 deg C under CPU max. load conditions!   Many thanks to @DSM2 for all his comments, valuable input, and proposed solutions.     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 (optional; consider warning in Section B.2) - ASUS BIOS Settings) 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 (optional) b.) Security option: Setup c.) Full Screen Logo Show: Enbabled 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/ (Designare EX only) a.) Security Level : SL0 - No Security   8.) /Chipset/ a.) VT-d: Disabled/Enabled (optional, see VT-d notification in Section B.2) - ASUS BIOS settings)   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 setting up your Skylake-X/X299 System and implementing the latest macOS High Sierra distribution.   1.) The /EFI/Clover/drivers64UEFI/-directory of my most actual respective X299 EFI-Folder distribution contains by default AptioMemoryFix.efi thanks to @vit9696. Note that 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 and 10.14 PB8). 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. Only remaining issue yet to be solved: black screen on wake under both 10.13.6 and 10.14.   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 Maxwell and Pascal Nvidia Graphics Cards Users and SMBIOS MacPro1,1 can employ officially distributed Nvidia 10.13 Web Drivers for their Nvidia Pascal and Maxwell graphics cards! Upon my request from 7 January 2018, Nvidia officially released first WebDriver-387.10.10.10.25.105 for 10.13.2 (17C2120) and first WebDriver-387.10.10.10.25.106 for 10.13.2 SA (17C2205) - Supplemental Update on 11 January 2018. On 25 January 2018, Nvidia released a Web Driver 387.10.10.10.25.157 for 10.13.3 (17D2047), which worked flawless with Pascal GPUs (lagging issues have been reported for Maxwell GPUs). On 20 February 2018, Nvidia released a Web Diver 387.10.10.10.30.159 for 10.13.3 SA (17D2102). On 31 March 2018 and 18 April 2018, Nvidia also released Web Driver 387.10.10.10.30.103 and 387.10.10.10.30.106 for 10.13.4 (17E199). On 25 April 2018,  Web Driver 387.10.10.10.30.107 has been released for 10.13.4 SU (17E202). On 02 June 2018, finally we Driver 387.10.10.10.35.106 followed for 10.13.5 (17F77). On 11 July 2018, Nvidia released final 10.13.6 (17G65) WebDriver-387.10.10.10.40.105.   3.) Avoid any MacOS assignments in KextToPatch and KernelToPatch entries implemented in the  "Kernel and Kext Patches" Section of the Clover Configurator. If subsequently in my Guide you still find MatchOS assignments in respective figures or text, just ignore all likely yet persistent MatchOS assignments. In the config.plist of my most actual respective X299 EFI-Folder distribution, all MatchOS assignments have been definitely removed.   4.) If you have the Thunderbolt EX3 or Gigabyte Alpine Ridge PCIe extension card already successfully connected with your mainboard and properly implemented in your system, disconnect any Thunderbolt device during the macOS installation/upgrade procedure. However, if any Thunderbolt PCIe extension card has not been properly configured and implemented yet in your system, remove the card for the macOS Upgrade or Clean Install procedure.   5.) Note that on some systems it might be necessary to check the KernelPM Option in the "Kernel and Kext Patches Section" of the Clover Configurator to successfully boot the respective system. Note that in the config.plist of the EFI-Folder attached below, this option is unchecked, as it is not required in case of the ASUS Prime X299 Deluxe.   6.) The /EFI/Clover/drivers64UEFI/-directory of all former EFI-distributions contains 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. By adding  export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" && buildclover to the script,     the latter also can be used in case of Brew, QT5, UEFITool or MacPorts implementations like Latex, X11, gcc, etc. not yet fully compatible with 10.14 Mojave. Again thanks to @vector sigma for also providing/enabling this trick/possibility .    7.) To avoid Skylake-X thread TSC desynchronisation errors during boot and wake from S3, 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.    All ASUS Prime X299 Deluxe users with patched BIOS firmware 1301 can skip point 7.), as the applied patches of @interferenc also resolve all Skylake-X TSC desynchronisation errors during boot and wake from S3.   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!     8.) Already during the first Beta Versions of macOS 10.13 High Sierra, Apple forced the beta users to use the new Apple file system APFS in case of a Clean Install/update of MacOS High Sierra 10.13. Also within macOS High Sierra 10.13.6 (17G65) this is the case.  Most APSF incompatibilities with available system related software apparently have been already removed. All recent versions  of Carbon Copy Cloner (CCC) support the direct cloning of APFS system disks and provide the previously missing option for APFS system backups. Until Boot-Loader Distribution Clover_v2.4k_r4210, it was also impossible to install the Clover Boot-Loader in the EFI-Partition of an APFS System Disk by means of the Clover Boot-Loader Installer Package (the Clover Boot-Loader files had to be added manually). However, all recent Clover Boot-Loader Distributions work absolutely flawless with APFS System Disks.   In any case, with @Brumbear's UnSolid.kext in the /EFI/Clover/kexts/Other/ directory, OSX is forced to remain with the HFS+ file format when installing or updating to the most recent macOS 10.13 distribution.    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 High Sierra 10.13 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.   If you opt for an APFS System Disk implementation, please note that all other disks on your system also should be formatted with APFS. 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.   9.) 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.13 System Disk, or to disable the second LAN port in the BIOS during the MacOS Installation.   10.) Lilu and Lilu Plugin distribution remarks:   To access, download and compile most actual but not yet officially released Lilu and Lilu plugin distributions, follow these links:   a.) Lilu Source distribution b.) AppleALC Source Distribution c.) NvidiaGraphicsFixup d.) Whatevergreen   To successfully compile the AppleALC, NvidiaGraphicsFixup and Whatevergreen source code distributions with Xcode 9.3 under macOS High Sierra 10.13.4 SU (17E202), download, unzip and copy the respective actual Lilu DEBUG distribution to the AppleALC, NvidiaGraphicsFixup and Whatevergreen source code distribution directories. To compile the respective Lilu, AppleALC, and NvidiaGraphicsFixup source code distributions just execute the terminal command "xcodebuild" after changing to the respective source code distribution with the "cd" terminal command. The resulting compiled kexts can be always found in the respective /build/Release/ sub-directories of the respective source code distribution directories.   Further details to the topic can be accessed by following THIS LINK.   11.) To clearly get kernel panic images with a call trace in case of kernel panics, I implemented (checked) boot flags "debug=0x100" and "keepsyms=1" in the config.plist of my most actual respective X299 EFI-Folder distribution in the "Boot" Section of Clover Configurator under "Arguments".   12.) Note that in my most actual respective X299 EFI-Folder distribution, I also removed CsmVideoDxe-64.efi from /EFI/CLOVER/drivers64UEFI, as the latter file is only required for proper Legacy screen resolution purposes with CSM enabled, which is definitely not  our case.   13.) 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.13 High Sierra System Setup   Below, one finds a detailed description for the Clean Install of macOS High Sierra 10.13.6 (17G65) - special iMacPro build (D.4). This also includes the iMacPro EFI-Folder Preparation (D.1) as well as the macOS High Sierra 10.13.6 (17G65) Installer Package (D.2) and macOS macOS High Sierra 10.13.6 (17G65) USB Flash Drive Installer Creation (D.3). 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 a standard macOS build implementation (D.5), as well as for the subsequent iMac Pro macOS High Sierra 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 most 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 most actual respective X299 EFI-Folder distribution.   Press several times the "Generate New" Button next to serial number text field.   Open a terminal, enter repeatedly the command "uuidgen", and copy the output value to the SMUUID field in the "SMBIOS" Section of the Clover Configurator.   Users of mainboards with locked MSR Register (disabled MSR OSX Kernel write access) have to enable the xcpm_pkg_scope_msrs © Pike R. Alpha Kernel patch in their config.plist under "KernelToPatch" in Section "Kernel and Kext Patches" of Clover Configurator.   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.   Finally save the modified config.plist.   3.) Users of unpatched mainboards have to copy the appropriate TSCAdjustRest.kext, which has been modified in error prevention C.7), 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 High Sierra 10.13.6 (17G65) Installer Package Creation    If you are not able to successfully download the macOS High Sierra 10.13.6 (17G65) full package installer (5.22 GB) from the Appstore, follow the individual steps detailed below:   1.) Open a terminal and create a "091-94326" directory on your Desktop. Subsequently change to the newly created directory. All this can be done with the following terminal commands: mkdir ~/Desktop/091-94326/ cd ~/Desktop/091-94326/  
      2.) Download the following files from the Apple server (public links) to your ~/Desktop/091-86775/ directory by a copy & paste of the following terminal commands: curl https://swdist.apple.com/content/downloads/29/03/091-94326/45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7/091-94326.English.dist -o 091-94326.English.dist curl https://swdist.apple.com/content/downloads/29/03/091-94326/45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7/RecoveryHDMetaDmg.pkm -o RecoveryHDMetaDmg.pkm curl http://swcdn.apple.com/content/downloads/29/03/091-94326/45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7/RecoveryHDMetaDmg.pkg -o RecoveryHDMetaDmg.pkg curl http://swcdn.apple.com/content/downloads/29/03/091-94326/45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7/OSInstall.mpkg -o OSInstall.mpkg curl https://swdist.apple.com/content/downloads/29/03/091-94326/45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7/InstallAssistantAuto.pkm -o InstallAssistantAuto.pkm curl http://swcdn.apple.com/content/downloads/29/03/091-94326/45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7/InstallAssistantAuto.pkg -o InstallAssistantAuto.pkg curl http://swcdn.apple.com/content/downloads/29/03/091-94326/45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7/BaseSystem.dmg -o BaseSystem.dmg curl https://swdist.apple.com/content/downloads/29/03/091-94326/45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7/InstallESDDmg.pkm -o InstallESDDmg.pkm curl http://swcdn.apple.com/content/downloads/29/03/091-94326/45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7/InstallESDDmg.pkg -o InstallESDDmg.pkg curl http://swcdn.apple.com/content/downloads/29/03/091-94326/45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7/BaseSystem.chunklist -o BaseSystem.chunklist curl http://swcdn.apple.com/content/downloads/29/03/091-94326/45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7/InstallESDDmg.chunklist -o InstallESDDmg.chunklist curl http://swcdn.apple.com/content/downloads/29/03/091-94326/45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7/InstallInfo.plist -o InstallInfo.plist curl http://swcdn.apple.com/content/downloads/29/03/091-94326/45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7/AppleDiagnostics.chunklist -o AppleDiagnostics.chunklist curl http://swcdn.apple.com/content/downloads/29/03/091-94326/45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7/AppleDiagnostics.dmg -o AppleDiagnostics.dmg curl https://swdist.apple.com/content/downloads/29/03/091-94326/45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7/MajorOSInfo.pkm -o MajorOSInfo.pkm curl http://swcdn.apple.com/content/downloads/29/03/091-94326/45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7/MajorOSInfo.pkg -o MajorOSInfo.pkg curl http://swcdn.apple.com/content/downloads/29/03/091-94326/45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7/InstallAssistantAuto.smd -o InstallAssistantAuto.smd  
      The full list of package files can be found within the following catalog URL, searching for key "45lbgwa82gbgt7zbgeqlaurw2t9zxl8ku7":   https://swscan.apple.com/content/catalogs/others/index-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz     3.) Create the installer.pkg on your Desktop with the following terminal command: cd .. productbuild --distribution ./091-94326/091-94326.English.dist --package-path ./091-94326/ installer.pkg  
      4.) Create the "Install MacOS High Sierra.app" 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 High Sierra.app" with the following terminal commands: sudo cp ./091-94326/InstallESDDmg.pkg /Applications/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/InstallESD.dmg sudo cp ./091-94326/AppleDiagnostics.dmg /Applications/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/ sudo cp ./091-94326/AppleDiagnostics.chunklist /Applications/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/ sudo cp ./091-94326/BaseSystem.dmg /Applications/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/ sudo cp ./091-94326/BaseSystem.chunklist /Applications/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/  
      Verify your "Install High Sierra.app" for completeness. You should now have a complete macOS High Sierra 10.13.6 (17G65) Installer package in your /Applications Folder.
        The entire iMac Pro macOS Installer Package Creation Approach detailed above has been verified and approved by Motbod and is fully in line with the actual board rules.   Many thanks to @macandrea for his substantial and extensive contributions. He even now automatised the entire "Install High Sierra.app" creation procedure detailed above within one single script:    createInstaller.sh will automatically create on any MacOS System the "Install High Sierra.app" for macOS High Sierra 10.13.6 (17G65) in the /Applications folder.   Just download und unzip createInstaller.sh.zip and run the following terminal commands: cd ~/Downloads chmod +x createInstaller.sh ./createInstaller.sh  
        Absolutely brilliant, gorgeous and genius job man!     D.3) iMac Pro macOS High Sierra 10.13.6 (17G65) USB Flash Drive Installer Creation    Follow the individual steps detailed below to successfully create a bootable iMac Pro macOS High Sierra macOS High Sierra 10.13.6 (17G65) 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 High Sierra 10.13.6 (17G65) Installer Package in your /Application Folder,  connect your USB Flash Drive (named USB) and run the following terminal command:     sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --nointeraction     Alternatively, one can create the iMac Pro macOS USB Flash Drive Installer also by means of the Install Disk Creator.app.   3.) Yet we have to make our iMac Pro macOS USB Flash Drive Installer also bootable. This can be partly done by means of the following terminal commands: cd /Volumes/YOUR_USB_VOLUME mkdir .IABootFiles cd .IABootFiles cp /Volumes/YOUR_USB_VOLUME/System/Library/CoreServices/boot.efi .
      This is a tricky part where many people fail. Note that "YOUR_USB_VOLUME" is a place holder in the above commands for the name of your real USB Flash Drive. Before executing the above commands, replace "YOUR_USB_VOLUME" by the real name of your USB Flash Drive.   To make the entire thing idiot proofed, let me explain the entire procedure by means of some nice example once provided by @paulotex to some user:   If your USB is called "Super USB I Like It Very Much" then you have to use:   cd /Volumes/Super\ USB\ I\ Like\ It\ Very\ Much   Note the "\" before each space.   The entire procedure for the assumed USB Flash Drive with the above name convention would look like that (don't forgot the isolated dot "." at the end of the last copy (cp) command below): cd /Volumes/Super\ USB\ I\ Like\ It\ Very\ Much mkdir .IABootFiles cd  .IABootFiles cp /Volumes/Super\ USB\ I\ Like\ It\ Very\ Much/System/Library/CoreServices/boot.efi .  
      With the terminal command: ls boot.efi  
      you can subsequently verify that boot.efi is there where it should be.   If you mistake at this point, your USB Flash Drive Installer will not be bootable and the USB Flash Drive macOS Installer partition will be simply invisible in the Clover Boot Menu!   4.) 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 your iMac Pro macOS USB Flash Drive Installer.   You now have a fully functional and bootable iMac Pro macOS High Sierra 10.13.6 (17G65) USB Flash Drive Installer.   Many thanks to @macandrea for his substantial and extensive contributions.     D.4) iMac Pro macOS High Sierra 10.13.6 (17G65) Clean Install on Skylake-X/X299   Follow the individual steps detailed below to successfully setup macOS High Sierra 10.13.6 (17G65)  on a virgin system drive of your choice (NVMe, SSD or HDD).   1.) In order to perform a clean install of macOS High Sierra 10.13.6 (17G65), 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 iMac Pro macOS High Sierra 10.13.6 (17G65) 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 iMac Pro 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 iMac Pro macOS USB Flash Drive Installer   6.) After successful boot, pass the individual steps of the macOS high Sierra 10.13 installation menu and finally select the destination drive of your macOS High Sierra 10.13 Installation, which should be logically the system disk you successfully configured above. In the next step, the Installer will create a macOS High Sierra 10.13 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 High Sierra 10.13 Installer Partition on your system disk.   8.) After successful boot, you will enter now the macOS High Sierra 10.13 Installer Screen with a progress bar starting at 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 High Sierra" icon in the clover boot screen to boot the updated macOS High Sierra 10.13 partition on your system disk.   10.) After successful boot you will enter again the macOS High Sierra 10.13 Installer Screen with a progress bar starting at 18 minutes. After successfully registration at iCloud at the end of the macOS installation, you now have your first iMac Pro macOS High Sierra 10.13.6 (17G65) build.   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 High Sierra.app") to your /Applications folder. Alternatively to D.2) and the macOS Full Package Installer, it is also sufficient to just download the original unmodified macOS High Sierra 10.13.6 (17G65) BaseSystem.dmg distribution from the Apple Server to your Desktop with the following terminal commands: cd ~/Desktop/ curl http://swcdn.apple.com/content/downloads/51/08/091-86775/1fn3s8c48wk0u34dyujciitmn0nx3ul3dc/BaseSystem.dmg -o BaseSystem.dmg  
      4.) Double click on the "Install High Sierra.app" in the /Applications Folder to start the macOS High Sierra 10.13.6 (17G65) installation. Alternatively, double click on the BaseSystem.dmg to mount the macOS installer and double click on the therein contained  "Install macOS High Sierra.app" to start the macOS High Sierra 10.13.6 (17G65) installation.   5.) After reboot, click on the "Install MacOS.." Icon in the clover boot screen to boot the newly created macOS High Sierra 10.13 Installer Partition on your system disk.   6.) After successful boot, you will enter now the macOS High Sierra 10.13 Installer Screen with a progress bar starting at 43 minutes.   7.) After another reboot, click on the "MacOS High Sierra" icon in the clover boot screen to boot the updated macOS High Sierra 10.13 partition on your system disk.   8.) After successful boot you will enter again the macOS High Sierra 10.13 Installer Screen with a progress bar starting at 18 minutes. After successfully registration at iCloud at the end of the macOS installation, you now have your first iMac Pro macOS High Sierra 10.13.6 (17G65) 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 High Sierra Update Procedure   After the successful clean install or conversion you are be able to update your iMac Pro macOS High Sierra 10.13.6 (17G65) build to macOS Mojave Public Betas directly via the Appstore. For further details see my macOS 10.14 X299 Build and Desktop Guide. For macOS beta builds it is recommended to clone your macOS High Sierra System Disk with Carbon Copy Cloner (CCC) to a test drive and to update to the Public Beta on the latter.  
      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 Section "Kernel and Kext Patches" of Clover Configurator, which by default is still implemented but disabled in the config.plist of my most 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.    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.
       
      d.)  Verify 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 the actual version of Whatevergreen.kext. 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 PB8). 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 fully 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 Maxwell and Pascal Nvidia Graphics Cards on SMBIOS iMacPro1,1 can employ officially distributed Nvidia 10.13 Web Drivers for their Nvidia Pascal and Maxwell graphics cards! Upon my request from 7 January 2018, Nvidia officially released first WebDriver-387.10.10.10.25.105 for 10.13.2 (17C2120) and first WebDriver-387.10.10.10.25.106 for 10.13.2 SA (17C2205) - Supplemental Update on 11 January 2018. On 25 January 2018, Nvidia released a Web Driver 387.10.10.10.25.157 for 10.13.3 (17D2047), which worked flawless with Pascal GPUs (lagging issues have been reported for Maxwell GPUs). On 20 February 2018, Nvidia released a Web Diver 387.10.10.10.30.159 for 10.13.3 SA (17D2102). On 31 March 2018 and 18 April 2018, Nvidia also released Web Driver 387.10.10.10.30.103 and 387.10.10.10.30.106 for 10.13.4 (17E199). On 25 April 2018,  Web Driver 387.10.10.10.30.107 has been released for 10.13.4 SU (17E202). On 02 June 2018, Web Driver 387.10.10.10.35.106 followed for 10.13.5 (17F77). On 11 July 2018, Nvidia released final 10.13.6 (17G65) WebDriver-387.10.10.10.40.105 .

      Nvidia Black Screen Prevention:
      Apparently with SMBIOS iMacPro1,1, the Nvidia Black Screen Prevention has become obsolete. Thanks to @fabiosun from InsanelyMac for this finding. Thus, NvidiaGraphicsFixup.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 most 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 system issues.      E.3) Audio Configuration:     Note that my most 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 @Rehabman from gitbucket.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 @vit9696  and @apfelnico. This new AppleALC audio approach bases on the most actual version of AppleALC.kext, which further requires the actual version of Lilu.kext in the /EFI/CLOVER/kexts/Other/ directory of your System Disk.   Provided that you use my most 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 DSDT 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 device 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 most 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 DSDT 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, unzip and copy the 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&0xfffe0000</string> with
      <key>IOPCIPrimaryMatch</key> <string>0x43831002</string>   b.) Download, unzip and run the  attached at the end of this originating post/guide.   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, unzip 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 DSDT 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  
      @Toldea'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 most 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 DSDT 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   3.) Download, unzip and copy the realtekALC.kext v2.8  to the /EFI/CLOVER/kexts/Other/ directory on your System Disk   4.) Download and execute audio_cloverALC-130.sh, which will patch the native vanilla AppleHDA.kext in the /S/L/Edirectory of your System Disk   5.) 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 DSDT 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 now implements IOPCIPrimaryMatchID "a2af8068" and AppleUSBXHCISPT on the ASUS Prime X299 Deluxe. 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) ports should work at expected data transfer rates on all X299 mainboards.  All external and internal USB 3.1 (USB 3.1 Gen 2 Type-A and Type-C) ports are anyway natively implemented on different controllers than XHC.   All ASUS Prime X299 Deluxe users, not content with the current OSX XHC USB implementation,  can download, unzip and use my board-specific XHC USB Kext KGP-iMacPro-XHCI.kext. All users of mainboards different from the ASUS Prime X299 Deluxe, can create their own board specific XHC USB kext by following my XHC USB Kext Creation guide line in the other forum.  
      Note that in addition one needs to implement the XHC USB port limit patch in the config.plist under "KextsToPatch"  in Section "Kernel and Kext Patches" of Clover Configurator, as else not all available XHC USB ports will be implemented.
       
      Name* Find*[Hex] Replace* [Hex] Comment AppleUSBXHCI 837D880F 0F83A704 0000 837D880F 90909090 9090 10.13.6 USB Port Limit Patch Many thanks to @PMHeart from InsanelyMac for providing the respective XHC USB port limit patches. 
       
      USB 2.0 and USB 3.0 Benchmark Results  
          
       
      USB 3.1 Type-A and Type-C Benchmark Results  
          
       
      E.5) 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 driveto 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 theASUS Prime X299 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   I recommend to install the Thunderbolt 3 Add-In PCIe Adapter in the 4th PCIe Slot from top, which is PCIEX_3  

       
        8.) Reboot into windows and install the ASUS ThunderboltEX 3 DVD accompanying your ASUS Prime X299 Deluxe mainboard.  
      Reboot into windows and install accompanying TB3 PCIe Drivers and Software.
       
      9.) Reboot and enter the Mainboard BIOS (F2)   a.) Go to /Advanced/ Thunderbolt(TM) Configuration/ and apply the following BIOS Settings detailed below: TBT Root por Selector PCIE16_3 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.     Thunderbolt Benchmarks:    For the sake fo completeness and for testing the overall Thunderbolt Functionality and Performance, I benchmarked the the data rates of an external Thunderbolt Drive connected via Apple's Thunderbolt-3 to Thunderbolt-2 Adapter. As External Thunderbolt Drive, I once more used the Lacie Rugged Thunderbolt / USB Type-A and Type-C HDD.             E.6) NVMe compatibility    In contrary to macOS Sierra 10.12, in macOS High Sierra 10.13 there is native support of non-4Kn NVMe SSDs, like my Samsung EVO 960 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 10.13 on M.2 NVMEs like the Samsung EVO 960.     E.7.) 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 of my most 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 MatchOS IOAHCIBlockStorage 4150504c 45205353 4400 00000000 00000000 0000 Trim Enabler 10.12.x,10.13.x  
      With this KextToPatch entry, SSD/NVMe TRIM should be  fully enabled on your 10.13 System, see Apple's System Report below.
       
        
       
      For the sake of completeness please find below the Benchmark of connected NVMe and SDD Drives.
       
          
       
      E.8) Gbit and 10-Gbit Ethernet Implementations
       
      Section E.8.1) and and E.8.2.) below, describe in the 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 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 Aquantia based 10GBit network cards, which are implemented by means of a Apple Vanilla kext called "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 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 also under 10.13.4 and and later macOS versions.   How to successfully implement the ASUS XG-C100C AQC107 PCIe x4 10GBit Ethernet Adapter:   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 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 will be natively implemented in macOS High Sierra 10.13.3 and fully functional.   2.) To finally use the ASUS XG-C100C 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      0F84C003 0000      90909090 9090      Aquantia 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 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.   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) 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.4) 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.5) 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.6) 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 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 most 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 I will use in the following the PCIe Slot nomenclature depicted below:  
        
       
      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 in post  #225  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 Replacement Patches and SSDT-X299-iMacPro.aml implementation detailed below requires 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 most 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.13 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 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     For the proper PCI device driver implementation (detailed in the figure above), we now have to revise and likely adopt or modify all System SSDTs provided within my X299-System-SSDTs Github repository.

      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 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.) Radeon RX Vega 64 GPU  

      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  VGTab-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: 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 PB8). 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..   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 most 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 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.

      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.


      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 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 and for all other 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.

      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.

      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.   E.9.2.13) - Thunderbolt 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-TTR.aml (for GC-Titan Ridge and ASUS TBEX 3) and SSDT-X299-TB3HP-APR.aml (for GC-Titan Ridge) constitute workarounds for achieving TB HotPlug and TB XHC USB HotPlug functionality with the respective TB3 PCIe Add-In adopters. Note once more that with the GC-Titan Ridge, HotPlug functionality can be reached with the THB_C connected. For HotPlug with the other TB adaptors, the THB_C must be removed from most of the available mainboards. For all TB3 SSDTs provided above, partial contributions 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.

      >>> https://youtu.be/Jakp5dCoFvY <<<
       
       
      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) System Overview CPU Cosmetics 
      As our Skylake-X CPU at present will not be properly recognised by OS X, Apple's System Overview ("About This Mac") reveals incomplete or simply wrong CPU details. Many times CPU's like the i9-7980XE are implemented as "unknown"...   I recently discovered on InsanelyMac a sophisticated fix of pure cosmetic nature developed by Shaneee (also thanks to fabiosun for pointing me to this direction), which allows to implement those CPU details you want to be implemented. For the sake of simplicity, I summarise the necessary steps once more below. Note that the following example is only valid for systems with English as main system language. If your system language is German, French, Spanish, Chinese etc., substitute "English.lproj" in the individual commands by the "lproj" of your System language! Thanks to @PedroJSkywalker for this latter important advice!   1.) Open a terminal and use the following commands: cp /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/Resources/English.lproj/AppleSystemInfo.strings ~/Desktop/ sudo mv /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/Resources/English.lproj/AppleSystemInfo.strings /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/Resources/English.lproj/AppleSystemInfo.strings-Backup   2.) Open "AppleSystemInfo.strings" on your Desktop with TextWrangler and change <key>UnknownCPUKind</key> <string>Unknown</string>  
      to what ever you want. In my case I choose:
      <key>UnknownCPUKind</key> <string>4,5 GHz 18-core 36-thread Skylake-X i9-7980XE</string>   Save  "AppleSystemInfo.strings"     3.) Run the following terminal commands: sudo codesign -f -s - ~/Desktop/AppleSystemInfo.strings sudo cp ~/Desktop/AppleSystemInfo.strings /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/Resources/English.lproj/   and reboot your system.   4.) Open your config.plist with Clover Configurator and in Section "CPU" set "Type" to "Unknown". Save the config.plist and reboot.   5.) Apple's System Overview now will reveal the following details:     As fall back option enter the following terminal commands:
      sudo rm /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/Resources/English.lproj/AppleSystemInfo.strings sudo mv /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/Resources/English.lproj/AppleSystemInfo.strings-Backup /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/Resources/English.lproj/AppleSystemInfo.string  
      and reboot.
       
      E.11) ASUS Boot Splash Screen Cosmetics
      Based on the ideas and instructions of @Matthew82 from InsanelyMac, 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, we can now download the most 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.12) Native Display Brightness Control / Native NightShift Functionality for Monitors with DCC/IC Support
        1.) Native Display Brightness Control    Many of you might miss the ability to control the display brightness with the F1/F2 keys on original Apple Keyboards, or with FN&F1/FN&F2 on non-Apple keyboards.    @bensge wrote a small but genius application to do just that on any Hackintosh System and to show the native OSX brightness system UI.    
      The App works for desktops and monitors that support DDC/CI. You have to connect your monitor to your GPU either via HDMI or DP. Note that you also have to enable DDC/CI support on your monitor to make the program work.   This application automatically adds itself as a Login Item in your User Settings in System Preferences.    
      Please carefully read all instructions on his NativeDiplayBrightness GitHub page before downloading the program.
      git clone https://github.com/Bensge/NativeDisplayBrightness/ cd ~/NativeDisplayBrightness/ xcodebuild   The compiled NativeDisplayBrightness.app can be found in subfolder ~/NativeDisplayBrightness/build/Release   To add the application as a Login Item in your User Settings in System Preferences, just double click on the App.    If you're using an original Apple keyboard, this app won't work with your F1/F2 keys straight away. On non-Apple keyboards it won't work out off the box, even with FN&F1/FN&F2 as it should work  .    In both cases you need to additionally add two KernelToPatch entries in your config.plist in Section "Kernel and Kext Patches" of Clover Configurator: Name* Find* [Hex] Replace* [HEX] Comment com.apple.driver.AppleHIDKeyboard 30783030 30373030 33612c30 78666630 31303032 31 30783030 30373030 33612c30 78303030 37303033 61 by Wern com.apple.driver.AppleHIDKeyboard 30783030 30373030 33622c30 78666630 31303032 30 30783030 30373030 33622c30 78303030 37303033 62 by Wern   2.) Native NightShift Functionality for Monitors with DDC/IC Support   To enable native NightShift functionality on the 38" LG 38UC99, one needs to download and unzip the respective Display Override Profile DisplayProductID-76fc, subsequently properly sign the file, and finally copy the file to /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-1e6d/.   The latter to steps can be done by the following terminal commands: cd ~/Downloads sudo codesign -f -s - DisplayProductID-76fc sudo cp DisplayProductID-76fc /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-1e6d/ Subsequently you have to reboot and to newly adjust your Screen Resolution under "Display" in System Preferences.
       

       
      And your are done:
       
       
      Note that the attached Display Override Profile, does not allow a LG 38UC99 Monitor Frequency of 75Hz. Only 60Hz are supported.   Many thanks to user @Ramalama for providing this approach to our community. NightShift should also work for the Acer 38" and Dell 38" Monitors. Yet @Ramalama misses the respective EDIDs. Any body with e.g. the Acer XR382CQK should immediately  upload the requested information and contact @Ramalama by posting in this thread! Many thanks in advance!   E.13) Logic-X and Audio Studio Software Functionality
       
      The ASUS BIOS patching, providing full read/write access for the OSX Kernel to the MSR 0xE2 register, apparently also circumvents the Intel SKZ7 bug and yet missing BIOS microcode implementations. The Xnu CPU Power Management (XCPM) is now solely handled by the OSX Kernel, which completely resolves all former Logic-X or other studio audio software implementations. The same states for all other X299 mainboards with factory-default open MSR 0xE2 register implementation.   Nevertheless there is a second extremely important intrinsic LOGIC X configuration setting, which has to be adopted depending on the degree of sophistication of the studio audio hardware (Latency) in use.   In the following description, I will provide the correct audio preference settings for the ASUS Prime X299 with the onboard Realtek ALC S1220A audio chip:   1.) Within Logic X go to "Preferences" -> "Audio"   2.) Under Advanced check "Show Advanced Tools"   3.) Go back to the "Audio" settings and adopt "I/O Buffer Size" from "128" to e.g. "512" or even better "1024" Samples, in case you really use the onboard Realtek ALC S1220A audio chipset. Users of more sophisticated Studio Audio Hardware with better latencies have to adopt the I/O Buffer Size accordingly to their hardware implementation.    
      To check the now flawless functionality and performance of Logic-X, download, unzip and run the attached Logic-X test sample Test Hyperthreading Bug.logicx.zip of @DSM2. attached at the bottom of this originating post/guide. Note that the test sample sound volume output is zero, for avoiding epileptic or panic attacks at audience side... this is just a test sample to check the Logic-X functionality and performance and not a chart breaking audio sample.
       
      Start Intel Power Gadget (IPG) in parallel and play the test sample with Logic-X:
       
       
      You will rapidly notice that everything fully behaves as expected. The Hyperthreading-sample plays flawless at alternated CPU frequencies.
      All credits to @DSM2.
       
      E.14) 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 most actual iStatMenus v6.2 distribution can be assessed at https://bjango.com/mac/istatmenus/   The most 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.8GHz) CPU Benchmarking       Geekbench CPU Benchmark:  Multi-Core Sore: 65.348 Single-Core Sore: 5.910   Cinebench Cpu Benchmark: 4.618 CB  
          Compare with recent Geekbench results for the 18-core iMacPro (W2191B):   Geekbench CPU Benchmark:  Multi-Core Sore: 46.406 Single-Core Sore: 5.175
          F.2) Gigabyte AORUS GTX 1080 Ti Waterforce EB 11GB Extreme Edition Benchmarking     Geekbench OpenGl and Metal2 Benchmarks:  OpenGL Sore: 229.965 Metal2 Sore: 242.393  
        G.) Summary and Conclusion:
       
      Already during the first individual macOS High Sierra 10.13 beta releases, Syklake-X/X299 systems reached full functionality together with flawless stability. Now with final release macOS High Sierra 10.13.6 (17G65), it might be the right moment to follow my build and Desktop Installation Guide to unfold the unbelievable Skylake-X/X299 potential together with macOS High Sierra 10.13 (special iMac Pro build)!   I am quite optimistic that high-end builds based on extremely novel Skylake-X/X299 technology will find 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 will make X299 to a "relatively cheap" but really serious alternative to the iMac Pro's and Mac Pro's. The principal intention of this desktop guide was to demonstrate, that we are able to build and configure fully functional and relatively "low-cost" high-end systems nowadays, which go far beyond of what Apple is able to offer at present or will be ever able to offer for some reasonable pricing. A Skylake-X/X299-System, that allows 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) should make such system affordable for anybody (also home office, audio and video editing/production, etc.) and allow its perfect adaptation for the specific purpose, requirements and available budgets. 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 my innovative iMacPro macOS High Sierra Hackintosh Build iSPOR-S (the imaging Spectropolarimetric Parallel Organized Reconstruction Server 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) and for the entire respective iMac Pro Skylake-X/X299 Desktop User Guide Development, which hopefully will be also of benefit for others.  Anybody interested can find more details on my personal webpage.  
    • By NyssSun
      Hello everyone, as you can see in the title, I'm having problems with the graphics driver card (I think).
      Because when I log in for example, the screen start showing to me like some blank lines and then they go away.
      I think it could be some problem related to drivers, but when I go to (Apple Icon), About this Mac it told me the right graphics card, Gigabyte 210 1024MB.
      What could I do to solve this problem ?, when I browse in the internet it happens those glitches in my screen.
      If you want the specifications of my computer are these:
      HP Compaq 8000 elite sff
      Intel Core Duo E7500
      Gigabyte GeForce 210
      4GB RAM 1333MHz
      Thank you for all your help, regards.
       
    • By MaLd0n
      Now have a Olarila app, just download app and clover folder for your Chipset! https://olarila.com/forum/viewtopic.php?f=81&amp;t=6771     First... If you need DSDT edits for SkyLake, KabyLake or CoffeeLake... -Post your full Clover folder with original tables in Origin folder(Extract with F4 in Clover boot screen) -Post Ioreg, extract with Ioreg Explorer http://www.insanelymac.com/forum/index.php?app=core&module=attach&section=attach&attach_id=222606 -Run it, post files generated in your desktop http://www.insanelymac.com/forum/index.php?app=core&module=attach&section=attach&attach_id=222609  Installation   --Create a bootable copy of macOS Sierra Check out the link http://www.insanelymac.com/forum/files/file/559-flash-drive-maker/   --Create a bootable copy of macOS HighSierra Check out the link http://diskmakerx.com/   --Install Clover in USB stick https://sourceforge.net/projects/cloverefiboot/files/Installer/   --Replace with my Clover folder  CLOVER.zip   --Install Sierra/High Sierra and boot into system!   Post Installation   --Install Clover in HDD/SSD and replace with my folder CLOVER.zip   --Reboot and activate video!   -Nvidia WebDriver Sierra http://www.insanelymac.com/forum/topic/312525-nvidia-web-driver-updates-for-macos-sierra-update-07212017/ -Nvidia WebDriver High Sierra http://www.insanelymac.com/forum/topic/324195-nvidia-web-driver-updates-for-macos-high-sierra-update-10162017/ -Cuda http://www.insanelymac.com/forum/topic/302795-cuda-90214-is-out-update-10162017/   --DSDT My DSDT with Skylake patches DSDT.MaLd0n GA H110M-S2.zip Patches -FIX ERRORS AND WARNINGS -HPET -SATA -DMAC -SLPB -DARWIN -LPC -XHCI -PLUGIN TYPE -HDAS to HDEF -HDEF -RTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -USBX -PMCR -EC -PNLF -HDMI --FakeSMC https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek --Audio https://github.com/vit9696/AppleALC --USB https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads --LAN http://www.insanelymac.com/forum/topic/287161-new-driver-for-realtek-rtl8111/   -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!   Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad and many, many, many others!   We're all here to have fun and learn from each other!   ENJOY!  
×