Jump to content
InsanelyMac Forum
tepaks

[HOW TO UPDATED] 10.8.5 on barebone Asus T3-P5G965

Recommended Posts

Impossible does not exist! There is only one question: HOW TO ...

If You already followed this How To just scroll down to the update section.

Yes, this underdog, a natural born iHack. can run Cougar 10.8.2

This sequel of HOW TO on ASUS T3 is based on tutorial by Brian Sweet and some other sources adapted for T3-P5G965.
I truly believe this is as good as a vanilla installation except for few kexts I haven't found the way to do it without.
Having said that, those kexts are not from Apple so it's safe to use regular Apple update but you never know for sure.
Keep in mind that I've modified attached VoodooHDA.kext to accomodate T3-P5G965 onboard audio device.
Special thanks to Zaledar for his contribution while testing & troubleshooting this guide.

Requirements

1. Mac OS X Mountain Lion install app from APP STORE
2. 8GB USB flash drive
3. fully operational iHack
4. Lots of time and patience
5. :excl:A clean bad sector free HDD or a brand new HDD or SSD ( do not use refurbished HDD, Iv'e learned this lesson hard way )
6. ASUS T3-P5G965.zip Please explore this .zip archive so you'll know what I'm taking about
7. Basic knowledge of OS X ( some steps are not described in detail )

Preparing your target ASUS T3-P5G965

BIOS

:excl:Before You begin I strongly suggest You shod replace RTC battery with a fresh one. This will prevent erratical boot sequence behaviour.

:excl:If You have an T3PG965a ( black one ) STOP here! This HOW-TO isn't suitable for nor tested on those barebones! :excl:

iHack translate: "Mac NVRAM reset" is same as "PC RTC reset" only difference is on a real Mac it's a question of right Keyboard sequence.
On a PC you have no choice than to open the case and fiddle with RTC jumper & POWER button to get same result.

1. :excl:For this part you'll need a FAT32 formatted USB drive containing ACPI903a.rom and
T3AHCI.CMO.zip
2. Go to EZ Flash and load unsupported ACPI903a.rom ( this will speed boot-up of your machine & make possible to install 10.8 )
3. Go to O.C. profile and load settings.cmo ( this will save me a lot of time explaining numerous BIOS settings )
4. :excl:Check all BIOS settings to match your actual configuration.
5. Save & Exit
6. :excl:Go to the BIOS settings again and check AHCI section.
7. Save & Exit

MAIN BOARD

1. Flip the power switch off and open the case
2. :excl:Make sure all USB jumpers are set to +5VSB ( 4 on the MB and 2 on Card-reader )

VIDEO

1. :excl:on-board GPU won't work so you better check this HCL list. This will save you a lot of time and frustrations.

HARDWARE

1. :excl:Keep in mind that original PSU ( 250 Watt ) is not designed for majority of currently available video cards
ASUS calculated this PSU to barely support max configuration but didn't took high power demanding GPU upgrades in mind.
CPU alone, depending on which one you have, can consume everything between 65 and 105 Watts!

GF 8400 GS, GF 210 S will work with stock PSU but for GF 9800 GT you'll need at least 350 Watt PSU
2. ADVICE: Check this HCL first and buy a silent version of your favorite GPU. Keep in mind limited available space!

Formatting your USB drive ( on source machine )

1. Open up Disk Utility.
2. Click on your USB drive in the left sidebar.
3. Click on the Erase tab in the middle.
4. Choose “Mac OS X Extended Journaled” as the format, and give your drive a label it “ML USB”.
5. Click on Apply and confirm erase. ( leave Disk Utility open, as you’ll need it later )
6. Install Chameleon boot loader on USB drive

Preparing your USB drive with 10.8 ( on source machine )

1. Mount your Mountain Lion downloaded from the app store:
Navigate to Applications
right click "Install OS X Mountain Lion" and click "Show Package Contents" -­‐>
navigate to Contents -­‐> SharedSupport -­‐> Double click "InstallESD.dmg"
2. Show hidden files in Finder by running the following command in Terminal:

defaults write com.apple.finder AppleShowAllFiles TRUE

3. Reload Finder by running the following command in Terminal:

killall Finder

4. Run the following command in Terminal to mount “BaseSystem.dmg” within the 10.8 DMG:

open /Volumes/Mac\ OS\ X\ Install\ ESD/BaseSystem.dmg

5. Switch back to Disk Utility.
6. Click on your flash drive in the left sidebar.
7. Click on the Restore button in the middle area.
8. Drag “Mac OS X Base System” from your desktop into the empty Source box.
9. Drag your "ML USB" partition ( :excl:not the USB drive it self! ) to Destination box.
10. Click on “Restore” and confirm "Erase destination" This process will take some time depending on the speed of your flash drive.
11. When it’s finished, you’ll end up with two “Mac OS X Base System” drives in your Finder. Figure out which one is your USB drive ( you can right-click > Get Info and use the capacity as an indicator ), and open it.
12. Once you’ve opened Mac OS X Base System ( the one that’s your flash drive ), go to /System/Installation.
13. You’ll see a symlink for Packages. Drag it to trash and create new folder and name it "Packages".
14. Open up "Mac OS X Install ESD" image ( not the USB drive ) and copy everything within Packages to the empty Packages folder you created on USB drive.
15. Cougar is now on your USB drive. Let's modify some files to make it a proper iHack boot drive.

Adding necessary files to the USB drive ( on source machine )

1. Extract the contents of “ML_GM_OSx86_Files.zip” to your Mac OS X desktop.
2. Copy the NullCPUPowerManagement.kext & FakeSMC.kext from zip file to /System/Library/Extensions on your flash drive.
3. Copy the OSInstall file to /System/Library/PrivateFrameworks/Install.framework/Frameworks/OSInstall.framework/Versions/A/, overwriting the file that’s already there.
4. Copy the OSInstall.mpkg file to /System/Installation/Packages/, overwriting the file that’s already there.
5. Run the Chameleon installation package again. Make sure to install this package to USB flash drive,
6. :excl:Check Chameleon_installer_log.txt You shod see something like this regarding your USB drive

/dev/disk1 <== this number can be different on your system
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *8.1 GB disk1
1: EFI 09.7 MB disk1s1 <== if you don't see this, USB is not bootable, fix it before continuing
2: Apple_HFS Mac OS X Base System 7.7 GB disk1s2

7. Copy your own SMBIOS, org.chameleon.Boot.plist $ dsdt.aml to /Extra.
8. Edit org.chameleon.Boot.plist and make sure that:

<key>UseKernelCache</key>

<string>No</string>

9. Copy mach_kernel from the root of the Mac OS X Install ESD volume and paste it into the root of your flash drive.
10. Copy extracted files from ASUS T3-P5G965.zip to the root of your flash drive. You’ll need this later.

Installing 10.8 from your USB drive ( on taret machine )

1. :excl:Boot and hit DEL, enter BIOS & make your USB Flash drive default Boot drive. Make sure it's set to "Emulate HDD drive"
2. Once in Chameleon, highlight your flash drive and add -v to the end, then push enter. You’ll see a lot of text fly by.
3. Once you get into the installer, choose partition where to install 10.8 to.
4. Go to Utilities Disk Utility and format that partition to HFS+ ( Mac OS Extended Journaled, GUID) and name it "OS X"
5. The installation process will take about 20 minutes, depending on the speed of your USB drive and your SSD or HDD.

Preparing freshly installed 10.8 ( on target machine )

1. Boot ( F8 ) again from your USB installation drive.
2. In the Utilities menu, go to Terminal and enter following commands:

cp -R /System/Library/Extensions/NullCPUPowerManagement.kext /Volumes/"OS X"/System/Library/Extensions/

followed by:

cp -R /System/Library/Extensions/FakeSMC.kext /Volumes/"OS X"/System/Library/Extensions/

and finally:

reboot

Booting 10.8 ( on target machine )

1. Once in Chameleon hit [-], (minus or F8), highlight your OS X partition and type -v and hit enter. You’ll see a lot of text fly by.
2. You’ll hopefully end up in the setup screen of 10.8. Go through that process and finish setup of 10.8 ( hint: network: not connected )
3. Open "System Preferences" => "Security and Privacy", click the lock and give it your password then set "Allow applications downloaded from" to anywhere.
4. Now, install included Chameleon package. As the destination drive, choose your 10.8 installation drive. leave default options as they are.
5. Copy /extra from "Mac OS X Install ESD Base System" /extra to OS X/Extra.
6. Eject "Mac OS X Install ESD BaseSystem" and remove USB drive.
7. cross your fingers and reboot
8. If your iHack boots you are almost done!

Post install ( on target machine )

1. Run Kext Wizard and install VoodooHDA.kext and RealtekRTL81xx.kext to S/L/E
if your GPU has a HDMI, to prevent KP use edited VoodooHDA.kext included in zip file
2. Repair permissions and rebuild cache on S/L/E
3. Reboot and check audio & network
4. GF 8400 GS, GF 210 S and GF 9800 GT work OOB

 

:excl:Graphic card problems are OS X related and not exclusive to this platform nor iHack in general

ADVICE: pause here and find solution for your GPU.

Don't forget to repair permissions and rebuild cache on S/L/E

5. Check Your card reader. If it doesn't work, leave your iHack on, open the case and disconnect card reader from raiser card.

:excl:Insert a CF or a SSD and reconnect it. Be careful not to make a short.

If it works, repair permissions and rebuild cache on S/L/E

I know that I sound like your mother telling you to wash your hands every time you ... just repair damn permissions and rebuild cache!

6. Reboot, and and when Chameleon loads hit F8 and type UseKernelCache=Yes -v




7. if everything works fine to speed up boot permanently, edit org.chameleon.Boot.plist and make sure that:

<key>UseKernelCache</key>

<string>Yes</string>

8. Backup all edited or aded kexts. Also back-up all loaded video card kexts even you didn't edited any of them. Just in case ...

Murphy's Law: "If anything can go wrong, it will"

1. Make a full image of your SSD/HDD ( with software you are familiar with ) to an external drive.
2. Download 10.8.2 Combo update, install it but don't reboot
3. :excl:Check your edited or added kexts in S/L/E and if needed reinstall or reedit them then repair permissions and rebuild cache on S/L/E
IMPORTANT: This is "make it or brake it" point of this HOW TO
4. Cross your fingers again and Reboot
5. If your system doesn't boot properly, restore image made in step 1 and find the culprit. 99.9% chance it's Video Card kext
6. Optionally to make SLEEP function work install SleepEnabler.kext.zip
:excl:System will wake instantly but this may cause problems with Power-off and/or VoodooHDA volume settings :(
if you have Power-off problem read this

​Disclaimer:

Iv'e written this procedure while installing 10.8 on my spare ASUS T3 and using primary T3 iHack running 10.7.5
If You don't have second machine you can use the one you have but swap your HDD or SSD with a spare one so you can back pedal if anything goes wrong.
Of course, there are lots of tweaks you have to apply to this freshly installed iHack but that is a bit off topic sins it's not exclusive to 10.8.x nor ASUS T3.
Some steps may sound illogical or at least confusing and obsolete. Thrust me, each and every one are essential You have to follow them exactly!

Just for reference

This is my spare rig used for testing this HOW TO:

ASUS T3-P5G965
Original 250 W PSU
INTEL C2D 2.66 GHz
Corsair 4 x 512 MB DDR2 667 MHz
80 Gb WD SATA HDD ( Cougar 10.8.2 installed and tuned: from 0 to working desktop: < 60 sec )
NEC SATA CD/R/RW DVD/R/RW DL
GF 210 S 1024 ( VGA & HDMI working individually and in dual screen mode. HDMI not tested )
8 Gb LaCie iamaKey USB drive used for installation

Also i've also tested this HOW TO on my primary rig

ASUS T3-P5G965
ASUS VW193D LCD
Cooler Master 350 W PSU
INTEL QC 2.4 GHz G0 SLACR
Corsair 4x2 GB DDR2 667 MHz ( VS2GB667D2 )
OCZ Vertex 2 120 Gb SSD ( System )
WD SATA HDD 2 Tb 64 Mb Cache ( Data Storage )
Samsung SATA CD/R/RW DVD/R/RW DL
Gigabyte GF 9800 GT 1024 DDR3
Alesis M1 Active 520 USB NFM speakers
Philips HS 1200 Digital Wireless Headset
Philips SPC 1330 NC USB Web Cam
Apple Pro Keyboard
Apple Mouse
8 Gb LaCie iamaKey USB drive used for installation

- this is probably max T3 configuration ( by all means, please prove me wrong )
- Cougar 10.8.2 installed and tuned: from 0 to working desktop: < 40 sec :thumbsup_anim: Shut down time < 1 sec :ihw_wow:
- With Sleep enabler installed, entering sleep mode < 2 sec, wake-up time < 2 sec :ihw_wow: ( sudo pmset -a hibernatemode 0 )

 

Easter Egg: go to BIOS boot settings and enable "Full Screen Logo" and disable "Hit DEL Message Display" then Save & Exit :wink_anim:

:excl: attached dsdt.aml , smbios.plist and settings.cmo files are for reference purpose only! Use them at own risk.
BEST PRACTICE: boot without any DSDT and create a new one. Recreate smbios.plist and org.chameleon.boot.plist

:excl:This HOW TO is subject to change without notice. If you need support send me a PM and I'll do my best to help you.


UPDATE:

- download 10.8.5 combo update
- make an image of working configuration
- copy all added and or edited kexts
- install combo update

- don't reboot
- compare added and or edited kext's
- if needed reedit or reinstall kext's or just as I did take the plunge
- repair permissions, rebuild cache, cross your fingers and reboot


Steve, R.I.P. With all due respect, I don't want your hardware, just your software!

Share this post


Link to post
Share on other sites
Advertisement

Upgrade ASUS T3-P5G965 from 10.7.5 to 10.8.2 [sUCCESS], thanks Tepaks for this How-TO.

 

Before, my computer was fully operational ASUS T3-P5G965 iHack running 10.7.5.

 

I used old tepaks HowTo http://www.insanelymac.com/forum/topic/269865-how-to-1068-on-barebone-asus-t3-p5g965/

and http://www.insanelym...asus-t3-p5g965/

 

All is Working Fine with 10.8.2 :

 

- Stable

- As fast as 10.7.5 : applications, games etc.

- AHCI BIOS boost my SSD

- Boot and shutdown are very fast

- Sound OK with VoodooHDA modify by Tepaks

- No videos problem, all is working fine, HD movies, games like Diablo III

- No Network problem

 

First I have a problem with ShutDown, I forgot this :

 

Make sure all USBPWR jumpers are set to +5VSB

 

That solve my problem.

 

My config :

 

ASUS T3-P5G965

INTEL C2D Q6600 2.40 GHz

8 GB DDR2 667 MHz

60 Gb SSD OCZ

GF 9800GT GTS 1024mb DVI

 

You can update easily, just follow this How-to.

Share this post


Link to post
Share on other sites

long story short: just run 10.8.4 update and enjoy!

Share this post


Link to post
Share on other sites

UPDATE:

- download 10.8.5 combo update
- make an image of working configuration ( just in case ... )
- copy all added and or edited kexts
- install combo update

:excl: possible KP : make sure you have installed NullCPUPowerManagement.kext   :excl: ( I've removed mine at some point for some reason I can't remember any more )

- don't reboot
- compare added and or edited kext's
- if needed reedit or reinstall kext's or just as I did if you have same VGA, take the plunge!
-  repair permissions, rebuild cache, cross your fingers and reboot ...

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 Gymnae
      Introduction
      The H370 chipset powers 8th generation Intel Core-i CPUs. Even though the name H370 rings comparable to Z370, the H370 is based on newer silicon. This it also requires some new approaches compared to the Z370. An example would be on-die USB 3.1 and WiFi support.
       
      Since this guide is not a "hold-your-hand-every-step" guide, I assume you know:
      Clover installation and configuration How to create an install medium for MacOS Access and configure the BIOS Have heard of ACPI patching (I'm a newb at this myself)  
      What works
      Sleep (via DSDT edits and emulated NVRAM) On-board Audio (via CloverALC script) Native power management (without any kext or patch) All USB ports (and only those present are active) iGPU for both acceleration and display dGPU (I'm running an Nvidia GTX 1080)  
      Untested
      NIC --> I'm using WiFi only  
      What doesn't work
      Native NVRAM via AptioMemoryFix.efi DMVT Pre-alloc higher than 64MB (but not necessary)  
      Changes to the guide:
      22.5.18: Added SSDT hot-patching to enable sleep, replacing DSDT static patching as an alternative.
      23.5.18: Add iMac18,1 as alternative SMBIOS config for those relying on the iGPU for output
       
      1. Installation
      This guide heavy inspired by the work of /u/corpnewt of /r/hackintosh and his (sorta) Vanilla guide
       
      1.1 Create the install media for MacOS
      Follow this, if you are using a Mac to start off with. If you are totally new to MacOS, then please check the basic guide Creation of an installer media in windows or linux
       
      1.2 Install Clover on the install media
      Using the Clover installer, ensure you are installing to the USB medium you are using for the installer.
      Chose the following options:
      AptioMemoryFix UEFI booting only Install to ESP You have to get your hands on an apfs.efi. A google search can help, or extracting it from the Installer package. Make sure you procure a version matching the MacOS version you are about to install. Place the apfs.efi in drivers64UEFI.
       
      1.2 Adjust the config.plist for the installer
      You can use the config.plist attached as a guideline, but take a look at it before and at least adjust the SMBIOS - otherwise it won't boot.
      Attention: The attached plist contains audio patches introduced by a post-install step. If you run into problems, you might remove those. It also contains a manual slide value, which should normally not be needed, but works fine for me. It is also tuned for usage with an Nvidia Pascal dGPU as main GPU.
       
      The config you create now should serve you nicely for install and running the system.
       
      Take care of adding the following basics:
      SMBIOS: iMac18,3 - You can generate a serial number via Clover Configurator. The creation of a proper SMBIOS is covered in many guides to good extend Note: If you aim at using the iGPU for output, a user reported that iMac18,1 works better - since iMac18,3 produces sever flicker. Look at the graphics section and adjust the injection for Intel to your situation  
      Fixes

      Patches

      Devices

      Graphics

      Kernel and Kext patches
       
      1.3 kexts and friends
      Add the supplied SSDT-UAIC.aml to "patched" - it limits the injected USB Ports to the actual number and ports valid for this board.
       
      Required kexts on "Other":
      FakeSMC.kext IntelGraphicsFixup.kext Lilu.kext When having an Nvidia card: NvidiaGraphicsFixup.kext IntelMausiEthernet.kext in case you're running Ethernet USBInjectAll.kext with the HCI-300-series-injector.kext --> These two should be installed to /L/E after install  
      We are leaving sound out at the moment, this is something for post-install. Please note the absence of Shiki, I don't find it necessary. Video material I tried made use of the iGPU without shiki.
       
      1.4 Check BIOS and install
      You should be ready for install. But before you reboot, please take a look at your BIOS and set it up accordingly (copied from the aforementioned guide and adapted):
      Load Optimized Defaults Disable VT-d setting If your system has Secure Boot Mode, disable it Set OS Type to Windows 8/10 or OtherOS - I have not seen a difference Turn off internal Serial and Parallel port Turn off Network stack for boot Turn off wake-on-lan (for now) Set XHCI Handoff to Enabled Don't enable decode over 4G Depending on your GPU, set priority for boot Set internal GPU to enable Set DMVT pre-alloc to 64MB Set USB legacy to enabled Activate XMP profile 1 f your Ram has it (mine doesn't and I added the timings manually) Set ERP to enable, disable platform power management (I need to do more research if this could be enabled)  
      I've attached my current BIOS config "hack2". You can place that on a fat32 drive (the EFI partition of your install USB drive might be an idea) and see if it loads. It's made for and with the F2 BIOS.
       
      The install itself should be like other MacOS Hackintosh installs with it several reboots and ensuring to select the correct boot device in Clover.
       
      2. Post-install
       
      2.1 Install clover on target
      This is a no-brainer, but install a fresh copy of Clover on your target medium.
       
      During install select again AptioMemoryFix but also additionally
      EmuVariableUefi-64.efi Install RC scripts on target volume because otherwise NVRAM doesn't seem to work
       
      After the install, copy
      config.plist contents of "Other" content of "patched" apfs.efi from drivers64UEFI to your new clover install.
       
      2.1 Edit ACPI for slumber
      Choose one option, not both. The hot-patch is experimental, but for the moment it is stable.
       
      2.1.1 Edit DSDT
      This is necessary only once on initial install and every time, you edit or upgrade the BIOS. The DSDT.aml attached to this post might work for your system or give you a file to compare to. Don't expect it to work for you, though.
      I won't go into the details of DSDT extraction and patching. There are better guides (the linked guide is a rip-off of rehabman's guide from a different forum). Please follow such a guide to extract your ACPI data.
       
      Locate and disassemble the DSDT with the newest iasl binary you can put your hands on, then open it with MacIASL in its newest version you can find (Hint: Here is a good source) You can check if the version is new enough if MacIASL doesn't throw error upon compiling a freshly extracted DSDT.aml or DSDT.dst
       
      Add rehabmans repo (as per linked guide) and apply the following patches:
      Rename _DSM to _XDSM Fix _WAK Arg0 v2 USB3 _PRW 0x6D Skylake (instant wake) Find the CNVW device and remove the _PWR function there.
       
      Compile the DSDT and place it in "patched".
       
      2.1.2 Use SSDT hot-patching
      Instead of having to re-extract and re-patch the DSDT on every BIOS change or update, Hardware change one can also use ACPI hot-patching.
      It's a combination of config.plist patches and an SSDT, which is hot-patched into the ACPI (if I understand the process correctly)
       
      You need to add this SSDT-GPRW.aml to your Clover folder in the designated position at Clover/ACPI/patched You need to add this patch to your config.plist. It goes into the DSDT patch section  
      Note: This works for me, but the patch removes the _PRW method from all devices in the DSDT. This could have side-effects. So far, I have seen none. At the moment I'm also not applying any other patch, compared with the additional edits I made to the DSDT method before.
       
      2.2 Install kexts to system
      As mentioned in the install section, it's better to follow rehabman's instruction and install USBinjectAll.kext to /L/E:
      sudo cp -R Release/USBInjectAll.kext /Library/Extensions sudo touch /System/Library/Extensions && sudo kextcache -u / 2.3 Enable onboard Audio
      This is where I'm not so happy currently, I'd like it to work without altering AppleHDA. But currently I find no other way.
       
      2.3.1 Install FakePCIID & FakePCIID_Intel_HDMI_Audio
      Rehabman tells us to use a kext installer to install it to /S/L/E. Chose the RELEASE folder
       
      2.3.2 Run CloverALC command
      Ensure your EFI partition is mounted before running this command
      Get the newest version of CloverALC command (audio_cloverALC-xxx.sh) and run it. Our Audio codec is RTL887 and I'm running with layout ID 1
       
      2.4 Optional steps
      If you have a dGPU, now it's the time to install its drivers and adjust the config.plist for it.
      This is out of scope of this guide. Yet, my supplied config.plist is ready to be used with Nvidia Pascal cards and using the Nvidia web driver.
       
      3. ToDo
      Move away from static DSDT patching to SSDT hotpatching --> requires my work Native NVRAM --> requires developer work Audio without AppleHDA patching --> requires developer work  
      4. Thanks to
      @MaLd0nfor helping finding the right way with the DSDT
      @RehabMan, for being a legend and helping me out patching
      @toleda, for audio patches for the 300 series
      /u/corpnewt, for his superb vanilla guide
      @wmchris for his super XPS 9550 guide and introducing me to hot-patching
      all the developers of clover and it's awesomeness
       
      SSDT-UIAC.aml
      config.plist
      DSDT.aml
      hack2
    • By frankiee
      Hi there, time for my first guide after asking so many things
       
      Updated for newer Clover versions and with additional instructions for more apps: gdisk and RU.
       
      So what may be overlooked sometimes in the whole boot loader discussion is the ability of UEFI to do more than just loading an OS. This is why I see ".efi" files as "apps" because in fact they just are, built on a special kind of API: UEFI. So, you can actually do stuff like editing, diagnosing, testing certain stuff at the lowest possible system level without booting to any OS.
       
      DISCLAIMER: Use this guide at your own risk! For educational purposes only! Should do not any harm, but remember you are dealing with rather low level stuff. But at least for me everything went flawless.
       
      Prerequisites:
      Working clover installation Clover Configurator or some app to edit the config.plist  
      1) Memtest
       
      This is how to install the UEFI version of Memtest with Clover:
      Download memtest, I used this link: Image for creating boot-able USB Drive Open the archive by double clicking on it. Mount the file memtest86-usb.img within by double clicking again. Now, you should see a folder named EFI in this volume, containing a folder BOOT. Open it. The files containing it are the actual app, in 32 and 64 bit versions. Think in almost all cases we want to use the 64 bit version. Now, mount your EFI partition, using Clover configurator. Create a folder named MemTest86 in the EFI folder on your main drive. Copy all files in the EFI/BOOT folder from the mounted image to your newly created folder. That ends the basic setup! Now, we add the correct Menu entry to the clover boot menu, so that we can actually start this app.
       
      Get into clover configurator, open your standard config.plist from your boot drive and go to the GUI section. Under "Custom Entries", add an entry like this:
       

       
      Please note while the path you enter is not case sensitive, you must make sure you use the backslash "\" for entering paths, and not a slash. So basically what we do is tell clover where it can find the app, give it a name, and tell clover it is a "Windows" app. Note: with older Clover versions we had to set this to "Linux", but for now "Windows" is the setting that works.
       
      If you prefer to do a manual config, add this entry to your config.plist, under GUI/Custom/Entries:
      <dict> <key>CustomLogo</key> <true/> <key>Disabled</key> <false/> <key>FullTitle</key> <string>MemTest86</string> <key>Hidden</key> <false/> <key>Ignore</key> <false/> <key>Image</key> <string>\EFI\CLOVER\themes\Icons\os_mint.png</string> <key>Path</key> <string>\EFI\MemTest86\BOOTX64.efi</string> <key>Type</key> <string>Windows</string> <key>VolumeType</key> <string>Internal</string> </dict> Now, save and reboot and you should see the newly created entry. Note that I also used a custom Icon - this is optional - in case you don't you will just see a generic windows icon instead:
       

       
      And this is how it looks like:
       

       

       
      PS: also noticeably faster and you get also more features with this version than with the older version, for example it does now write a log file. For more Information, see: http://www.passmark.com/forum/showthread.php?4315-Memtest86-Version-5-Beta-%28Pure-UEFI%29
       
       
      2) gdisk
       
      Another app you can use is the UEFI version of gdisk (aka GPT fdisk), which you can use to edit and change your partitions.
       
      Warning! Install and use this app at your own risk! If you do something wrong here you might nuke your drive(s), so only use that if you know what you are doing.
       
      This is how to do it (even easier):
      Download here: https://sourceforge.net/projects/gptfdisk/files/gptfdisk/1.0.1/gdisk-binaries/gdisk-efi-1.0.1.zip/download Mount your EFI partition Unzip the file and copy the resulting folder to your EFI Folder, so your path goes like this "/Volumes/EFI/EFI/gdisk-efi" Get into clover configurator, open your standard config.plist from your boot drive and go to the GUI section. Add an entry like this:  
      If you prefer to do a manual config, add this entry to your config.plist, under GUI/Custom/Entries:
      <dict> <key>CustomLogo</key> <false/> <key>Disabled</key> <false/> <key>FullTitle</key> <string>GDisk</string> <key>Hidden</key> <false/> <key>Ignore</key> <false/> <key>Image</key> <string></string> <key>Path</key> <string>\EFI\gdisk-efi\gdisk_x64.efi</string> <key>Type</key> <string>Windows</string> <key>VolumeType</key> <string>Internal</string> </dict> When everything went OK you should see this after selecting the respective entry in Clover:
       

       
       
      3) RU
       
      I recently found one more app that might be interesting to some, and thats "Read Universal" or in short "RU". This is a tool that enables you to debug your BIOS and read (and modify!) every imaginable data, including UEFI variables, ACPI Tables etc.
       
      Warning, again! I think blindly messing around with this app is even more dangerous, but on the other hand it gives you access to a lot of potentially interesting stuff.
      Download here: http://ruexe.blogspot.de/ The next steps are basically the same as above so make a folder in your EFI partition, copy the .EFI files and make another custom entry in your config.plist Here are some screens:
       

       

       

       
       
      So this is what you also can do with UEFI and clover. I am curious which other useful applications might exist!
       
      Anybody who knows, maybe post it here?
    • By KGP-iMacPro
      Successfully running my iMac Pro Skylake-X/X299 Build with macOS High Sierra 10.13.4 SU (17E202)!
       

        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.4 (17E199), which can be subsequently updated to macOS 10.13.4 SU (17E202) macOSHigh Sierra 10.13.5 2 (17B45c) via the Appstore once the latter will be available.   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 natively implements IOPCIPrimaryMatchID "a2af8068" and AppleUSBXHCISPT on the ASUS Prime X299 Deluxe. Thus, 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 work natively at expected data transfer rates (90 Mb/S (USB 3.0)and 40 MB/s (USB 2.0), respectively) for all X299 mainboards.  All external and internal USB 3.1 (USB 3.1 Gen 2 Type-A and Type-C) ports were natively implemented already before on different controllers than XHC and also work at data rates up to 140 MB/s. Up to my best knowledge, the native XHC USB implementation states for all X299 mainboards.   Also the ASUS Thunderbolt EX3 Extension Card is fully implemented including TB XHC USB and TB hot plug functionality. External Thunderbolt drives connected via Apples Thunderbolt 3 to Thunderbolt 2 Adapter work at expected data rates and speeds. The same states for all USB 3.1 Gen 2 Type-A and Type-C devices (see Section E.5 of my guide)!   Note that opposite to my previous EFI-Folder distributions, EFI-X299-10.13.4-SU-Release-iMacPro1,1-260418.zip 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 AppleALC.kext v1.2.6 and Lilu.kext v1.2.3 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).   Excellent news concerning CPU Power Management: ASUS, MSI and ASROCK mainboards allow now for manually unlocked the MSR 0xE2 BIOS Register and make any BIOS Firware patching obsolete. The MSR 0xE2 BIOS Register of all Gigabyte mainboards is anyway unlocked by factory default. By this we 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). 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 @interferenc.   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 (obsolete) 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.4 (17E199). Note that the macOS High Sierra 10.13.4 (17E199) 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.4 (17E199) Installer Package Creation D.3) iMac Pro macOS High Sierra 10.13.4 (17E199) USB Flash Drive Installer Creation D.4) iMac Pro macOS High Sierra 10.13.4 (17E199) 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) ASUS Prime X299 Deluxe Thunderbolt EX3 PCIe Add-On Implementation E.6) NVMe compatibility E.7.) SSD TRIM Support Extend the life of your SSD and maintained its normal speed E.8) ASUS Prime X299 Deluxe on-board Ethernet-Functionality E.9) ASUS Prime X299 Deluxe PCI Device Implementation E.9.1) ACPI DSDT Replacement Implementation E.9.2) SSDT-X299-iMacPro.aml PCI Implementation E.9.2.1) - HDEF - onboard PCI Audio Controller PCI Implementation E.9.2.2) - GFX0, HDAU - Nvidia Graphics Card 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) - ANS2 - Apple NVMe Controller PCI Implementation E.9.2.8) - SAT1 - Intel AHCI SATA Controller PCI Implementation E.9.2.9) - ETH0/ETH1 - onboard LAN Controller PCI Implementation E.9.2.10) - ARPT - OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 AirPort Controller PCI Implementation E.9.2.11) - ThunderboltEX 3 Controller PCI Implementation E.9.2.12) - DTGP Method E.10) System Overview CPU Cosmetics E.11) ASUS Boot Splash Screen Cosmetics E.12) Native Display Brightness Control / Native NightShift Functionality for Monitors with DCC/IC Support E.13) Logic-X and Audio Studio Software Functionality E.14) 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: Tridentz DDR-4 3200 Mhz 128GB (8x16GB) Kit (F4-3200C14Q2-128GTZSW) [1.400€] GPU: Gigabyte Aorus GTX 1080 Ti Waterforce WB Extreme Edition 11GB [900€] 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€] 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€] 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: 8904€
      -----------
      Compared with:
       
      B.) Mainboard BIOS
      Please find below a summary of my actual Asus X299 Prime Deluxe BIOS settings (Section B.2), in line with some actual Gigabyte Designare EX settings (Section B.3). All detailed instructions for ASUS X299 mainboard BIOS Firmware patching formerly outlined in Section B1.) are already obsolete. 
       
      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, @PikeAlpha and @Adrian_dsl), we were able to successfully patch any ASUS X299 mainboard BIOS distribution and unlock the MSR 0xE2 register. This made the "xcpm_core_scope_msrs" KernelToPatch entry of Pike R. Alpha obsolete and allowed fully native read/write MSR 0xE2 register access by the OSX kernel.    Within the ASUS Prime X299 Deluxe BIOS firmware 1301, ASUS now allows upon my user request for the first time to manually unlock the MSR 0xE2 register within the most recent BIOS settings, which makes any additional firmware patching totally obsolete.  MSI and ASRock mainboards already previously allowed for manually unlocking the MSR 0xE2 BIOS Register. The MSR 0xE2 BIOS Register of all Gigabyte mainboards is anyway unlocked by factory default. By this we 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).   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 7.) in Section C.) of this guide).   The most recent ASUS mainboard BIOS firmware can be uploaded to the specific ASUS X299 mainboard in many different ways. The ASUS EZ BIOS Flashback Procedure is one of several options. The individual steps for the latter procedure are detailed below:   1.) Add TSCAdjustRest.kext to your /EFI/Clover/kexts/Other directory (see further instructions in Error prevention 7.) of Section C.) below).   2.) Download the most recent BIOS Firmware file from ASUS. For the ASUS Prime X299 Deluxe follow THIS LINK   3.) Copy the most recent ASUS BIOS Firmware file to your Desktop, e.g.   cp ~/Downloads/PRIME-X299-DELUXE-ASUS-1301.CAP ~/Desktop/   Change to your desktop   cd ~/Desktop/  
      4.) Now rename the patched BIOS Firmware distribution file in concordance with the ASUS EZ Flashback filename convention for your particular ASUS X299 mainboard. For the ASUS Prime X299 Deluxe, the modified BIOS Firmware distribution file must be named "X299D.CAP":   mv ~/Desktop/PRIME-X299-DELUXE-ASUS-1301.CAP.patched ~/Desktop/X299D.CAP  
      Now copy the CAP-file with the correct ASUS EZ Flashback filename convention to a USB Drive with a FAT32 File System of your choice.
      cp ~/Desktop/X299D.CAP /Volumes/"YOUR_USB_DRIVE"/   and shut down your system.    5.) Connect the USB Drive to the USB-port assigned to the ASUS BIOS Flashback procedure (see your mainboard manual for further details)   Subsequently, press the EZ BIOS-Flashback button on your mainboard for three seconds until the EZ BIOS Flashback led starts blinking, indicating that the EZ BIOS Flashback procedure is in progress. Release the button and wait until the light turns off, indicating that the EZ BIOS Flashback procedure has completed.    
        6.) Boot your system, enter the BIOS Menu with F2 and implement the ASUS BIOS settings detailed in Section B.2). Save your BIOS settings and exit the BIOS with F7 and F10.   Now you completed the BIOS update procedure and you should have an ASUS X299 mainboard with an unlocked MSR 0xE2 register.   To check that the latter is the case, enter the following terminal command after rebooting your system:   bdmesg   The Clover boot log will show if the MSR 0xE2 register of your ASUS mainboard is unlocked.   If you are able to find something like the following information, you fully succeeded in unlocking your MSR 0xE2 register:   MSR 0xE2 before patch 00000402 MSR 0xCE 00070C2C_F3011A00 MSR 0x1B0 00000000   Alternatively, you can also check the status of your MSR 0xE2 register by means of the VoltageShift distribution.   Download the VoltageShift distribution by following THIS LINK.   Copy the voltageshift folder to your desktop   mv ~/Downloads/voltageshift ~/Desktop/  
      Enter the following terminal commands:
      cd ~/Desktop/voltageshift/ sudo chmod -R 755 VoltageShift.kext sudo chown -R root:wheel ~/Desktop/voltageshift/VoltageShift.kext ./voltageshift read 0xe2  
      With unlocked MSR 0xE2 register, the output should look like as follows:
      RDMSR e2 returns value 0x7e000003   0x7e000003 is the value we need for our Skylake-X processors:   This is from the latest kernel, the E2 value is in bold and backwards:   00a572c0: E200 0000 4C00 0000 0000 0000 0000 0000 ....L...........
      00a572d0: 0F04 0000 0000 0000 0500 001E 0000 0000 ................
      00a572e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................

      00a572f0: E200 0000 9033 0000 0000 0000 0000 0000 .....3..........
      00a57300: 0F04 0000 0000 0000 0800 007E 0000 0000 ...........~....
      00a57310: 0000 0000 0000 0000 0000 0000 0000 0000 ................

      00a57320: E200 0000 0040 0000 0000 0000 0000 0000 .....@..........
      00a57330: 0F04 0000 0000 0000 0300 007E 0000 0000 ...........~....
      00a57340: 0000 0000 0000 0000 0000 0000 0000 0000 ................  
      Alternatively you can also check the MSR 0xE2 register status by means of Pike Alpha's AppleIntelInfo.kext. Note however that the latter kext is incompatible with the i9-7980XE! Users of the latter Skylake-X CPU should opt for either the "bdmesg" or "voltageshift" MSR 0xE2 register verification approach detailed above.   Here I link the actual ASUS Prime X299 Deluxe 1301 BIOS firmware distribution X299D.CAP, which already includes the iMacPro Splash Screen image implemented by the procedure detailed in Section E.11).   
      B2.) ASUS BIOS Configuration
      Before applying the specific settings, please provide your ASUS X299 Prime Deluxe with 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: Disabled (NEW BIOS FEATURE TO UNLOCK MSR 0xE2 REGISTER)   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!   Intel® Power Gadget (IPG) CPU Power Consumption note: for the proper display of the CPU Power Consumption in e.g. the Intel® Power Gadget it is absolutely mandatory to enable both /AI Tweaker/CPU SVID Support/ and /Advanced/CPU Configuration/CPU Power Management Configuration/Enhanced Intel Speed Step Technology (EIST)   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. At least with the i9-7980XE it is not anymore necessary to fix the CPU Core Voltage in the ASUS mainboard BIOS to a minimum value that still provides flawless system boot and full system performance during CPU max. load conditions in line with significantly CPU core temperatures, as detailed below. However, for the sake of completeness I did not remove the respective description so far. With CPU max. load conditions, I refer to the max. turbo frequency (e.g. 4.4 Ghz for the i9-7980XE) applied to ALL cores!
        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!   It is not recommend to use CPU Core Voltage Overrride larger than 1.27 V! 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.) Note that the /EFI/Clover/drivers64UEFI/-directory of EFI-X299-10.13.4-SU-Release-iMacPro1,1-260418.zip contains by default AptioMemoryFix.efi, which replaces OsxAptioFix3Drv-64.efi and all former OsxAptioFixDrv-64.efi or OsxAptioFix2Drv-64.efi implementations. AptioMemoryFix.efi is a totally new approach developed by @vit9696. AptioMemoryFix.efi is under permanent development. For further details and related discussions follow THIS LINK.   To retrieve the most actual version, download and compile the AptioMemoryFix.efi Source Code from Github by means of AptioMemory-Builder.sh developed by @Pavo, using the following terminal commands:   rm -rf AptioMemFix git clone https://github.com/Pavo-IM/AptioMemFix rm -rf ~/Desktop/AptioMemFix/ rm -rf ~/Desktop/AptioFix/ mv AptioMemFix/ ~/Desktop/ chmod +x ~/Desktop/AptioMemFix/AptioMemory_Builder.sh ~/Desktop/AptioMemFix/AptioMemory_Builder.sh   This will create "AptioFix" and "AptioFix_Build" folders on your Desktop. The compiled AptioMemoryFix.efi can be found in ~/Desktop/AptioFix_Build/RELEASE/.    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.    AptioMemoryFix.efi implements native NVRAM on our iMac Pro Skylake-X/X299 Systems under macOS High Sierra 10.13.2 (17C2120), 10.13.2 SA (17C2205), 10.13.3 (17D2047), 10.13.3 SA (17D2102), 10.13.3 SA (17D2104), 10.13.4 (17E199) and now also 10.13.4 SU (17E202), thus EmuVariableUefi-64.efi has been also omitted in the /EFI/Clover/drivers64UEFI/ directory contained in EFI-X299-10.13.4-SU-Release-iMacPro1,1-260418.zip!   Note that 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   AptioMemoryFix.efi works absolutely flawless on my system, without any memory allocation errors or slide issues even with the "slide" boot flag disabled.   However, anybody witnessing issues with AptioMemoryFix.efi  can try to use Clover's OsxAptioFix3Drv-64.efi instead. Don't forget to remove AptioMemoryFix.efi from the /EFI/Clover/drivers64UEFI/ directories in the EFI-Folders of your macOS USB Flash Drive Installer and macOS System Disk in this case.   Also OsxAptioFix3Drv-64.efi maintains fully native NVRAM implementation and works absolutely flawless on my system, without any memory allocation errors or slide issues with the "slide" boot flag disabled. Note also that with OsxAptioFix3Drv-64.efi, 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 as detailed above.     2.a.) All Users of rudimentary and basic ATI Starter Graphics Cards like the ATI Radeon RX 560 or RX 580 should use  WhateverGreen.kext v1.1.7 and Lilu.kext v1.2.2.   Advanced ATI Vega 64 and Frontier GPUs are natively implemented by OSX and run Out of Box (OoB). No need for an additional Whatevergreen.kext and Lilu.kext implementation. Remaining HDMI/DP port errors, hot plug errors and flaws with multi-monitor or 5K display configurations can be fixed by means of VegaGraphicsFixup.kext, kindly provided by @jyavenard. Important notifications for all Vega users with 4K monitors:  When connecting e.g. the Vega Frontier 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). @DSM2 reported similar issues with his true 4K display and with both the ASUS Prime X299 Deluxe and the Gigabyte Designare EX. Thus the VEGA DP 4K boot screen resolution issue is neither related with the fact that the LG 38UC99-W is a 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 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 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 and everything will work as expected.   b.) 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). Finally on 25 April 2018,  Web Driver 387.10.10.10.30.107 has been released for 10.13.4 SU (17E202). Since Web Driver 387.10.10.10.30.106 former lagging issues have been fully removed. 10.13.5 Beta 4 (17F66a) users can use WebDriver-78.10.10.10.25.107 after a simple patching procedure detailed in Section E.2)   Nvidia Kepler Graphics Cards were anyway already natively implemented in the earlier beta distributions of macOS 10.13.   For further details and error prevention see Section E.2).   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 the EFI-Folder contained in EFI-X299-10.13.4-SU-Release-iMacPro1,1-260418.zip, all MatchOS assignments have been definitely removed.   4.) If you have the Thunderbolt EX3 PCIe extension card already successfully connected with your ASUS Prime X299 Deluxe and properly implemented in your system, disconnect any Thunderbolt 2 drives during the macOS installation/upgrade procedure. If however the Thunderbolt EX3 PCIe extension card yet has not been properly configured and implemented 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.) Always check that you have the most actual apfs.efi in the /EFI/CLOVER/drivers64UEFI/ - directories of your USB Flash Drive Installer and System Disk!   The actual apfs.efi can be obtained by following the respective guideline detailed below:   a.) Download and install Pacifist for Mac.   b.) Copy the "Install macOS High Sierra.app" to your Desktop -> right-click with your mouse on the app and select "Show Package Contents" -> click with the mouse on "Contents" and subsequently on "Shared Support" -> right-click with the mouse on "BaseSystem.dmg" and select "Open With" -> select "pacifist.app".  Pacifist is now loading the  "BaseSystem.dmg" package contents.   c.) Now click with the mouse on "usr" -> "standalone" -> "i386". After a right-click on apfs.efi, select "Extract toCustom Location...". Choose your Desktop as Destination. Answer the subsequent question "Extract apfs.efi ?" with "Extract". You now have the most actual version of apfs.efi on your Desktop.   d.) Note that the EFI-Folder of EFI-X299-10.13.4-SU-Release-iMacPro1,1-260418.zip contains a patched apsf.efi without verbose boot. The respective patching procedure and the related discussion can be derived by following THIS LINK. Credits to @PMheart and @ErmaC from InsanelyMac.   e.) If necessary (usually the /EFI/CLOVER/drivers64UEFI/ - directory of my distributed EFI-Folders already containsthe most actual apfs.efi version), copy the actual patched apfs.efi to the /EFI/CLOVER/drivers64UEFI/ - directories of your USB Flash Drive Installer and System Disk!     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.    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.4 SU (17E202) 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.   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 EFI-X299-10.13.4-SU-Release-iMacPro1,1-260418.zip in the "Boot" Section of Clover Configurator under "Arguments".   12.) Note that in the current EFI-X299-10.13.4-SU-Release-iMacPro1,1-260418.zip distributions, 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.4 17E199 (D.4). This also includes the iMacPro EFI-Folder Preparation (D.1) as well as the macOS High Sierra 10.13.4 (17E199) Installer Package (D.2) and macOS High Sierra 10.13.4 (17E199) 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 EFI-X299-10.13.4-SU-Release-iMacPro1,1-260418.zip attached at the bottom of this originating post/guide 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 EFI-X299-10.13.4-SU-Release-iMacPro1,1-260418.zip.   Press several times the "Generate New" Button next to serial number text field.   In the final step, 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.   Finally save the modified config.plist.   3.) Copy the appropriate TSCAdjustRest.kext, which you modified by following 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.4 (17E199) Installer Package Creation 
      While on non-iMacPro systems the macOS High Sierra 10.13.4 (17E199) full package installer (5.22 GB) can be retrieved directly from the Appstore, the download on iMacPro systems apparently results in a file with largely reduced size (22.5 MB).    To derive the macOS High Sierra 10.13.4 (17E199) Full-Package Installer on iMac Pro Systems just follow the individual steps below:   1.) Open a terminal and create a "091-76233" directory on your Desktop. Subsequently change to the newly created directory. All this can be done with the following terminal commands:   mkdir ~/Desktop/091-76233/ cd ~/Desktop/091-76233/  
      2.) Download the following files from the Apple server (public links) to your ~/Desktop/091-62779/ directory by a copy & paste of the following terminal commands:
       
      curl https://swdist.apple.com/content/downloads/10/62/091-76233/v27a64q1zvxd2lbw4gbej9c2s5gxk6zb1l/091-76233.English.dist -o 091-76233.English.dist curl http://swcdn.apple.com/content/downloads/10/62/091-76233/v27a64q1zvxd2lbw4gbej9c2s5gxk6zb1l/RecoveryHDMetaDmg.pkg -o RecoveryHDMetaDmg.pkg curl http://swcdn.apple.com/content/downloads/10/62/091-76233/v27a64q1zvxd2lbw4gbej9c2s5gxk6zb1l/InstallInfo.plist -o InstallInfo.plist curl http://swcdn.apple.com/content/downloads/10/62/091-76233/v27a64q1zvxd2lbw4gbej9c2s5gxk6zb1l/AppleDiagnostics.chunklist -o AppleDiagnostics.chunklist curl http://swcdn.apple.com/content/downloads/10/62/091-76233/v27a64q1zvxd2lbw4gbej9c2s5gxk6zb1l/OSInstall.mpkg -o OSInstall.mpkg curl http://swcdn.apple.com/content/downloads/10/62/091-76233/v27a64q1zvxd2lbw4gbej9c2s5gxk6zb1l/AppleDiagnostics.dmg -o AppleDiagnostics.dmg curl http://swcdn.apple.com/content/downloads/10/62/091-76233/v27a64q1zvxd2lbw4gbej9c2s5gxk6zb1l/InstallESDDmg.chunklist -o InstallESDDmg.chunklist curl http://swcdn.apple.com/content/downloads/10/62/091-76233/v27a64q1zvxd2lbw4gbej9c2s5gxk6zb1l/BaseSystem.chunklist -o BaseSystem.chunklist curl http://swcdn.apple.com/content/downloads/10/62/091-76233/v27a64q1zvxd2lbw4gbej9c2s5gxk6zb1l/InstallESDDmg.pkg -o InstallESDDmg.pkg curl https://swdist.apple.com/content/downloads/10/62/091-76233/v27a64q1zvxd2lbw4gbej9c2s5gxk6zb1l/RecoveryHDMetaDmg.pkm -o RecoveryHDMetaDmg.pkm curl http://swcdn.apple.com/content/downloads/10/62/091-76233/v27a64q1zvxd2lbw4gbej9c2s5gxk6zb1l/BaseSystem.dmg -o BaseSystem.dmg curl https://swdist.apple.com/content/downloads/10/62/091-76233/v27a64q1zvxd2lbw4gbej9c2s5gxk6zb1l/InstallESDDmg.pkm -o InstallESDDmg.pkm curl http://swcdn.apple.com/content/downloads/10/62/091-76233/v27a64q1zvxd2lbw4gbej9c2s5gxk6zb1l/InstallAssistantAuto.pkg -o InstallAssistantAuto.pkg curl https://swdist.apple.com/content/downloads/10/62/091-76233/v27a64q1zvxd2lbw4gbej9c2s5gxk6zb1l/InstallAssistantAuto.pkm -o InstallAssistantAuto.pkm  
      The full list of package files can be found within the following catalog URL, searching for key "v27a64q1zvxd2lbw4gbej9c2s5gxk6zb1l":
       
      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-76233/091-76233.English.dist --package-path ./091-76233/ 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-76233/InstallESDDmg.pkg /Applications/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/InstallESD.dmg sudo cp ./091-76233/AppleDiagnostics.dmg /Applications/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/ sudo cp ./091-76233/AppleDiagnostics.chunklist /Applications/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/ sudo cp ./091-76233/BaseSystem.dmg /Applications/Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/ sudo cp ./091-76233/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.4 (17E199) Installer package in your /Applications Folder.  
      Many thanks to [USER=17860]@macandrea[/USER] 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.4 (17E199) 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.4 (17E199) USB Flash Drive Installer Creation  
       
      Follow the individual steps detailed below to successfully create a bootable iMac Pro macOS High Sierra 10.13.4 (17E199) 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.4 (17E199) 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.4 (17E199) USB Flash Drive Installer.   Many thanks to @macandrea for his substantial and extensive contributions.   D.4) iMac Pro macOS High Sierra 10.13.4 (17E199) Clean Install on Skylake-X/X299 
      Follow the individual steps detailed below to successfully setup macOS High Sierra 10.13.4 (17E199)  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.4 (17E199), 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.4 (17E199) 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.4 (17E199) 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.4 (17E199) BaseSystem.dmg distribution from the Apple Server to your Desktop with the following terminal commands:   cd ~/Desktop/ curl http://swcdn.apple.com/content/downloads/10/62/091-76233/v27a64q1zvxd2lbw4gbej9c2s5gxk6zb1l/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.4 (17E199) 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.4 (17E199) 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.4 (17E199) 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 will be able to update your iMac Pro macOS High Sierra 10.13.4 (17E199) build to macOS High Sierra 10.13.4 SU (17E202) or macOS High Sierra 10.13.5 Beta 4 (17F66a) directly via the Appstore. 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.   Also any other future macOS High Sierra Update can be directly performed via the Appstore.  
      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 the distributed EFI-Folder EFI-X299-10.13.4-SU-Release-iMacPro1,1-260418.zip.
      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. Typically the command "sysctl machdep.xcpm.mode" reveals 1, which means that XCPM is active.   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.    
      Alternatively, the plugin-type injection also can be performed by some injector SSDT like the ssdt.aml provided by @interferenc, linked here. For the proper "plugin-type" injection on your system, alternatively download and unzip the ssdt.aml and copy the file to the /EFI/Clover/ACPI/patched/ directory of the EFI-Folder on your System Disk and reboot subsequently.   a.) Verify that in the IORegistryExplorer you have now under CP00@0 the following entry:   Property: Type: Value: plugin-type Number 0x1  
      b.) 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>  
      c.) Verify with the following terminal command:
      kextstat|grep -y appleintelcpu that you got now rid of the Apple Intel CPU power management. If the result is empty you are fine.
       
      d.)  Verify with the following terminal command:
      sysctl -n machdep.xcpm.vectors_loaded_count  
      If this command returns "1", the XCPM FrequencyVectors are properly loaded and you are all set.
       
      E.2) Graphics Configuration: 
      ATI Starter Graphics Cards solutions like the ATI Radeon RX 560 or RX 580 just require two basic kexts in the /EFI/Clover/kexts/Other/ directory of the EFI folders on both USB Flash Drive Installer and 10.13 System Disk , i.e. namely WhateverGreen.kext v1.1.7 and Lilu.kext v1.2.2.   Advanced ATI Vega 64 and Frontier GPUs are natively implemented by OSX and run Out of Box (OoB). No need for an additional Whatevergreen.kext and Lilu.kext implementation. Remaining HDMI/DP port errors, hot plug errors and flaws with multi-monitor or 5K display configurations can be fixed by means of VegaGraphicsFixup.kext, kindly provided by @jyavenard. Important notifications for all Vega users with 4K monitors:  When connecting e.g. the Vega Frontier 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). @DSM2 reported similar issues with his true 4K display and with both the ASUS Prime X299 Deluxe and the Gigabyte Designare EX. Thus the VEGA DP 4K boot screen resolution issue is neither related with the fact that the LG 38UC99-W is a 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 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 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 and everything will work as expected.   Nvidia Kepler Graphics Cards were already natively implemented in the earlier beta distributions of macOS 10.13.   All Users with Maxwell and Pascal Nvidia Graphics Cards on 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). Finally on 25 April 2018,  Web Driver 387.10.10.10.30.107 has been released for 10.13.4 SU (17E202). Since Web Driver 387.10.10.10.30.106 former lagging issues have been fully removed. 10.13.5 Public Beta 4 (17F66a) users can use WebDriver-78.10.10.10.25.107 after a simple patching procedure detailed below.     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 Installation under macOS 10.13.5 Beta distributions.   Nvidia Web Driver Installation and 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 NvidiaGraphicsFixup.kext v.1.2.6 and Lilu.kext v1.2.3 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 original or patched Nvidia 10.13 Web Driver Package.   b.) In case of the original Web Driver, just reboot as requested and you will already have a fully functional Web Driver.   c.) In case of the patched Web Driver, 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 "17E202" to "17F66a", the corresponding build number of 10.13.5 Beta 4.   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 will 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 under 10.13.5 Beta 4 (17F66a).     E.3) Audio Configuration:     Note that opposite to my previous EFI-Folder distributions, EFI-X299-10.13.4-SU-Release-iMacPro1,1-260418.zip 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 AppleALC.kext v1.2.6, which further requires Lilu.kext v1.2.3 in the /EFI/CLOVER/kexts/Other/ directory of your System Disk.   Provided that you use the EFI-Folder contained in EFI-X299-10.13.4-SU-Release-iMacPro1,1-260418.zip, you need to open the config.plist in the /EFI/CLOVER/ directory of your System Disk with the Clover Configurator and enable the CAVS -> HDEF DSDT replacement patch in Clover Configurator Section "ACPI" under "DSDT Patches".   Comment: Find*[Hex] Replace [Hex] CAVS -> HDEF 43415653 48444546   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 HDMI/DP digital Audio PCI implementation will be detailed in Section E.9) in line with the HDEF and GPU PCI device implementation.     To remove the AppleALC Audio Approach Implementation perform the following steps:   1.) Remove AppleALC.kext v1.2.6  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 the EFI-Folder contained in EFI-X299-10.13.4-SU-Release-iMacPro1,1-260418.zip, you need to open the config.plist in the /EFI/CLOVER/ directory of your System Disk with the Clover Configurator and enable the CAVS -> HDEF DSDT Replacement Patch in Clover Configurator Section "ACPI" under "DSDT Patches".
      Comment Find*[HEX] Replace*[HEX] Rename CAVS to HDEF 43415653 48444546 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 IORegistryExplorer.app v2.1 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 the EFI-Folder contained in EFI-X299-10.13.4-SU-Release-iMacPro1,1-260418.zip, you need to open the config.plist in the /EFI/CLOVER/ directory of your System Disk with the Clover Configurator and enable the CAVS -> HDEF DSDT Replacement Patch in Clover Configurator Section "ACPI" under "DSDT Patches".   Comment Find*[Hex] Replace[Hex] Rename CAVS to HDEF 43415653 48444546 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 natively implements IOPCIPrimaryMatchID "a2af8068" and AppleUSBXHCISPT on the ASUS Prime X299 Deluxe. Thus, 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 work natively at expected data transfer rates (90 Mb/S (USB 3.0)and 40 MB/s (USB 2.0), respectively) for all X299 mainboards.  All external and internal USB 3.1 (USB 3.1 Gen 2 Type-A and Type-C) ports were natively implemented already before on different controllers than XHC and also work at data rates up to 140 MB/s. Up to my best knowledge, the native XHC USB implementation states for all X299 mainboards.
      My former sophisticated board-specific XHC USB Kext Workaround and all respective Guidelines are herewith obsolete for X299. Anybody with a ASUS Prime X299 Deluxe and still interested in the latter XHC USB Kext can still download KGP-iMacPro-XHCI.kext. 
       
      Just note that for the else now totally native XHC USB implementation, one just needs to add a 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 natively implemented.
       
      Name* Find*[Hex] Replace* [Hex] Comment AppleUSBXHCI 837d940f 0f839704 0000 837d941a 90909090 9090 10.13.4 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) ASUS Prime X299 Deluxe Thunderbolt EX3 PCIe Add-On Implementation  
      For the successful implementation of the Thunderbolt EX3 PCIe Add-On Adapter, a fully working Dual Boot System with an UEFI Windows Implementation is unfortunately absolutely mandatory. You will not be able to configure your Thunderbolt EX3 PCIe Add-On 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 of your rig and start with the installation of the Thunderbolt EX3 PCIe Add-On Adapter   a.) I recommend to install the adapter in third PCIe Slot from the bottom which is PCIEX_3  

       
      b.)  For full TB hot plug functionality skip or remove the THB_C cable between the TBEX 3 and the respective mainboard connector!   8.) Reboot into windows and install the ASUS ThunderboltEX 3 DVD accompanying your ASUS Prime X299 Deluxe mainboard.  
        
       
      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 Disabled 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 Disabled  
      b.) Verify in /Boot/ that Above 4G Decoding is Off
      Above 4G Decoding Off   10.) Shut down your rig, connect the Thunderbolt Device with the Thunderbolt EX3 Adaptor and boot   11.) You are done!  Your Thunderbolt EX3 PCIe Adapter and connected devices should be now fully implemented andfunctional.   12.) We will add TB XHC USB and TB Hot Plug functionality by means of the SSDT-X299-iMacPro.aml described in Section E.9.2) of this guide.      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 TRIM Support    Macs only enable TRIM for Apple-provided solid-state drives they come with. If you upgrade a Mac with an aftermarket SSD, the Mac won’t use TRIM with it. The same applies for SSD's used by a Hackintosh. When an operating system uses TRIM with a solid-state drive, it sends a signal to the SSD every time you delete a file. The SSD 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 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 can then manage its available storage more intelligently..    Note that the config.plist in the EFI-folder of EFI-X299-10.13.4-SU-Release-iMacPro1,1-260418.zip, contains an SSD "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 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) ASUS Prime X299 Deluxe on-board 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 anyway natively implemented Intel I219-V Gigabyte on-board LAN controller of the ASUS Prime X299 Deluxe. Thus, both ethernet ports on the ASUS Prime X299 Deluxe should now be fully operational..
       
      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 an adequate ACPI DSDT Replacement Patch Table and a sophisticated SSDT-X299.aml. 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! I now adopted the ACPI DSDT Replacement Patches and the SSDT-X299.aml in concordance with SMBIOS iMacPro1,1. The updated ACPI DSDT Replacement Patches are already part of the config.plist contained in EFI-X299-10.13.4-SU-Release-iMacPro1,1-260418.zip. The new SSDT-X299-iMacPro.aml is linked here in addition.   Note that both ACPI DSDT Replacement Patches and SSDT-X299-iMacPro.aml can be build and PCIe slot population dependend and have to be verified and likely 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 v1.2.
       
      How to adopted or modify the ACPI DSDT Replacement Patches and SSDT-X299-iMacPro.aml 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 PCI Device implementation by means of a minimalistic starter SSDT-X299-iMacPro.aml, which just contains the Definition Block and Device Implementation for one single specific device. Once this PCI device has been successfully implemented, other PCI Device definitions can be added to the SSDT-X299-iMacPro.aml. In case that subsequently the implementation of a specific PCI Device would be erroneous and fail, also all other already successfully implemented PCI devices would disappear from Section "PCI" of Apple's System report and the entire "PCI" Device implementation would fail. Thus a stepwise PCI device implementation/adaptation is highly recommended and sometimes deemed necessary!   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 that all required ACPI DSDT Patches are already implemented in the config.plist in the /EFI/CLOVER/ directory of the EFI-Folder contained in EFI-X299-10.13.4-SU-Release-iMacPro1,1-260418.zip. However, by default they are disabled, thus we will now open the config.plist in the /EFI/CLOVER/ directory of your 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 CAVS -> HDEF DSDT replacement patch is audio related and has the aim to achieve the SMBIOS iMacPro1,1specific HDEF onboard audio controller implementation.   If not already enabled in Section E.3), please enable this DSDT replacement patch now independent from your mainboard.   Comment: Find*[Hex] Replace [Hex] CAVS -> HDEF 43415653 48444546  
      b.) 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  
      c.) SL05 -> GFX0 is a graphics related ACPI DSDT replacement patch to achieve consistency with the SMBIOSiMacPro1,1 variable naming. This ACPI DSDT replacement patch is not mainboard but slot specific! All mainboard users with their GPU in PCIe Slot 1 can now enable this ACPI DSDT replacement patch.
      Comment: Find*[Hex] Replace [Hex] SL05 -> GFX0 534c3035 47465830  
      All mainboard users with their GPU in a PCIe Slot different from one have to adopt the patch previously. E.g. with a GPU in PCIe Slot 4, the ACPI DSDT replacement patch looks the following.
      Comment: Find*[Hex] Replace [Hex] SL01 -> GFX0 534c3031 47465830  
      Users with two GPUs in PCIe Slot 1 and 4 might use the following ACPI DSDT replacement patches
      Comment: Find*[Hex] Replace [Hex] SL05 -> GFX0 534c3035 47465830 SL01 -> GFX1 534c3031 47465831   Note that the respective ACPI DSDT replacement patch(es) are not GPU brand specific.   However, the SSDT-X299-iMacPro.aml, which will be addressed in detail in Section E.9.2) below, can have GPU brand dependent device definitions and can also be sensitive with respect to the GPU PCIe population.   d.) 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-X299-iMacPro.aml. 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. The respective SSDT-X299-iMacPro.aml implementations will be discussed in Section E.10.2) below. Note that in addition to the OSI -> XOSI DSDT Replacement Patch, one needs to add the  SSDT-XOSI.aml in the /EFI/Clover/ACPI/pathed directory of the System Disk EFI-Folder.   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  
      e.) GBE1 -> ETH0 and D0A4  -> ETH1 are ASUS Prime X299 Deluxe specific LAN related ACPI DSDT replacement patches to achieve consistency with the MAC variable naming. All ASUS Prime X299 users can now enable the respective ACPI DSDT replacement patches. Note that the ETH0 and ETH1 implementations in the SSDT-X299-iMacPro.aml addressed in Section E.9.2.) are of cosmetic nature. All users of mainboards different from the ASUS Prime X299 Deluxe have to find their mainboard-specific LAN-entries in the IOREG and replace the "GBE1" and "D0A4" ACPI DSDT Replacement Patches and SSDT-X299-iMacPro.aml implementations depending on the mainboard in use. Alternatively, the GBE1 -> ETH0 and D0A4  -> ETH1 ACPI DSDT replacement patches can als maintain disabled.
      Comment: Find*[Hex] Replace [Hex] GBE1 -> ETH0 47424531 45544830 D0A4 -> ETH1 44304134 45544831  
      f.) 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'.   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  
      g.)  The PMC1 -> PMCR ACPI DSDT patch replacement is Power Management Controller (PMC) related and applied forconsistency with the PMC naming on real Macs.   Please enable now this ACPI DSDT replacement patch independent from your mainboard. Comment: Find*[Hex] Replace [Hex] PMC1 -> PMCR 504d4331 504d4352  
      h.) 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, the LPCB functionality will be disabled within the SSDT-X299-iMacPro.aml.
       
      Please enable now this ACPI DSDT replacement patch independent from your mainboard.
      Comment: Find*[Hex] Replace [Hex] LPC0 -> LPCB 4c504330 4c504342   i.) The SMBS._ADR -> XSBU.XADR Replacement renames SMBS for 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  
      j.) 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  
      k.)  SLOC -> ARPT is an Airport related ACPI DSDT replacement patch, which I additionally introduced for consistencywith the variable naming on a real Mac when using an OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 PCIe Adapter on the ASUS Prime X299 Deluxe in PCIe Slot 3. The respective SSDT-X299-iMacPro.aml implementations will be addressed in Section E.9.2).   All ASUS Prime X299 Deluxe and OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 users with the PCIe Adapter in PCIe Slot 3 can now enable the respective ACPI DSDT Replacement patch. Comment: Find*[Hex] Replace [Hex] SLOC -> ARPT 534c3043 41525054   All OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 users of different mainboards or with the PCIe Adapter in a PCIe Slot different from 3 have to primarily verify and likely adopt/modify the SLOC -> ARPT in concordance with the IOREG entries for their specific mainboard and build or slot population. Users without the OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 PCIe Adapter can simply leave this ACPI DSDT replacement patch disabled. Users of a WIFI and Bluetooth Adapter different from the OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 can enable this ACPI DSDT replacement patch but might have to adopt the SSDT-X299-iMacPro.aml device implementation discussed in Section E9.2 below.   l.) 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  
      E.9.2)  SSDT-X299-iMacPro.aml PCI Implementation
       
       
      For the proper PCI device driver implementation (detailed in the Figure above), which is mostly directly related with the PCI device functionality, we now have to revise and likely adopt or modify the attached SSDT-X299-iMacPro.aml to our specific build and system configuration with the help of the IORegistryExplorer.   Note that for each device, the SSDT-X299-iMacPro.aml 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 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 drivers is recommended!   E.9.2.1) - HDEF - onboard PCI Audio Controller PCI Implementation:
      DefintionBlock entry:
      External (_SB_.PCI0.HDEF, DeviceObj) // (from opcode)  
      PCI Device Implementation:
      Scope (\_SB.PCI0.HDEF) { Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x16) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "model", Buffer (0x1C) { "Realtek ALC S1220A HD Audio" }, "name", Buffer (0x27) { "Realtek ALC S1220A HD Audio Controller" }, "hda-gfx", Buffer (0x0A) { "onboard-1" }, "device_type", Buffer (0x14) { "HD-Audio-Controller" }, "device-id", Buffer (0x04) { 0xF0, 0xA2, 0x00, 0x00 }, "compatible", Buffer (0x0D) { "pci8086,0C0C" }, "MaximumBootBeepVolume", Buffer (One) { 0xEE }, "MaximumBootBeepVolumeAlt", Buffer (One) { 0xEE }, "layout-id", Buffer (0x04) { 0x07, 0x00, 0x00, 0x00 }, "PinConfigurations", Buffer (Zero) {} }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } }  
      The HDEF PCI device implementation is valid for the ASUS Prime X299 Deluxe and likely for all other mainboards with the Realtek ALC S1220A Audio Controller chipset. It is a build-in device and does not have any slot specific dependency. In any case verify device path "PCI0.HDEF" and PCI device implementations by means of IOREG.
       
      E.9.2.2) - GFX0, HDAU - Nvidia Graphics Card and HDMI/DP Audio PCI implementation
      DefintionBlock entry:
      External (_SB_.PC02.BR2A, DeviceObj) // (from opcode) External (_SB_.PC02.BR2A.GFX0, DeviceObj) // (from opcode) External (GFX0, DeviceObj) // (from opcode)  
      PCI Device Implementation:
      Scope (_SB.PC02.BR2A) { Scope (GFX0) { OperationRegion (PCIS, PCI_Config, Zero, 0x0100) Field (PCIS, AnyAcc, NoLock, Preserve) { PVID, 16, PDID, 16 } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x14) { "built-in", Buffer (One) { 0x00 }, "device-id", Buffer (0x04) { 0x06, 0x1B, 0x00, 0x00 }, "hda-gfx", Buffer (0x0A) { "onboard-2" }, "AAPL,slot-name", Buffer (0x07) { "Slot-1" }, "@0,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@1,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@2,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@3,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@4,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@5,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (HDAU) { Name (_ADR, One) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x0C) { "built-in", Buffer (One) { 0x00 }, "device-id", Buffer (0x04) { 0xEF, 0x10, 0x00, 0x00 }, "AAPL,slot-name", Buffer (0x07) { "Slot-1" }, "device_type", Buffer (0x16) { "Multimedia Controller" }, "name", Buffer (0x1D) { "NVIDIA High Definition Audio" }, "hda-gfx", Buffer (0x0A) { "onboard-2" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } }   The actual 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, or with an Nvidia graphics card in a PCIe slot different from PCIe Slot 1, will have to adopt the respective device path entries PC02.BR2A, PCIe Slot definitions and PCI device properties following their respective IOREG entries.   Below one finds an example of @apfelnico for a GFX and HDAU PCI implementation of 2x Radeon Vega 64 in PCIe Slot 1 and 4. Note that for such implementation also requires an additional DSDT Replacement patch, namely: SL01->GFX1 534c3031 47465831  
      DefintionBlock entry:
      External (_SB_.PC02.BR2A, DeviceObj) // (from opcode) External (_SB_.PC02.BR2A.SL05, DeviceObj) // (from opcode) External (_SB_.PC01.BR1A, DeviceObj) // (from opcode) External (_SB_.PC01.BR1A.SL01, DeviceObj) // (from opcode)  
      PCI Device Implementation:
      Scope (\_SB.PC02.BR2A.GFX0) { OperationRegion (PCIS, PCI_Config, Zero, 0x0100) Field (PCIS, AnyAcc, NoLock, Preserve) { PVID, 16, PDID, 16 } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } Device (GFXA) { Name (_ADR, Zero) // _ADR: Address Device (GFX0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (PCIB, PCI_Config, Zero, 0x0100) Field (PCIB, AnyAcc, NoLock, Preserve) { Offset (0x10), BAR0, 32, BAR1, 32, BAR2, 64, BAR4, 32, BAR5, 32 } Method (_INI, 0, NotSerialized) // _INI: Initialize { If (LEqual (BAR5, Zero)) { Store (BAR2, Local0) } Else { Store (BAR5, Local0) } OperationRegion (GREG, SystemMemory, And (Local0, 0xFFFFFFF0), 0x8000) Field (GREG, AnyAcc, NoLock, Preserve) { Offset (0x6800), GENA, 32, GCTL, 32, LTBC, 32, Offset (0x6810), PSBL, 32, SSBL, 32, PTCH, 32, PSBH, 32, SSBH, 32, Offset (0x6848), FCTL, 32, Offset (0x6EF8), MUMD, 32 } Store (Zero, FCTL) Store (Zero, PSBH) Store (Zero, SSBH) Store (Zero, LTBC) Store (One, GENA) Store (Zero, MUMD) } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x16) { "AAPL,slot-name", Buffer (0x07) { "Slot-1" }, "CFG,CFG_USE_AGDC", Buffer (One) { 0x00 }, "PP,PP_DisableAutoWattman", Buffer (One) { 0x00 }, "ATY,Part#", Buffer (0x0C) { "113-3E366DU" }, "@0,AAPL,boot-display", Buffer (One) { 0x00 }, "@0,name", Buffer (0x0D) { "ATY,Kamarang" }, "@1,name", Buffer (0x0D) { "ATY,Kamarang" }, "@2,name", Buffer (0x0D) { "ATY,Kamarang" }, "@3,name", Buffer (0x0D) { "ATY,Kamarang" }, "model", Buffer (0x13) { "AMD Radeon Vega 64" }, "hda-gfx", Buffer (0x0A) { "onboard-2" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (HDAU) { Name (_ADR, One) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x0C) { "built-in", Buffer (One) { 0x00 }, "AAPL,slot-name", Buffer (0x07) { "Slot-1" }, "layout-id", Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 }, "name", Buffer (0x0D) { "AMD HD-Audio" }, "model", Buffer (0x0D) { "AMD HD-Audio" }, "hda-gfx", Buffer (0x0A) { "onboard-2" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } } Scope (\_SB.PC01.BR1A.GFX1) { OperationRegion (PCIS, PCI_Config, Zero, 0x0100) Field (PCIS, AnyAcc, NoLock, Preserve) { PVID, 16, PDID, 16 } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } Device (GFXB) { Name (_ADR, Zero) // _ADR: Address Device (GFX1) { Name (_ADR, Zero) // _ADR: Address OperationRegion (PCIB, PCI_Config, Zero, 0x0100) Field (PCIB, AnyAcc, NoLock, Preserve) { Offset (0x10), BAR0, 32, BAR1, 32, BAR2, 64, BAR4, 32, BAR5, 32 } Method (_INI, 0, NotSerialized) // _INI: Initialize { If (LEqual (BAR5, Zero)) { Store (BAR2, Local0) } Else { Store (BAR5, Local0) } OperationRegion (GREG, SystemMemory, And (Local0, 0xFFFFFFF0), 0x8000) Field (GREG, AnyAcc, NoLock, Preserve) { Offset (0x6800), GENA, 32, GCTL, 32, LTBC, 32, Offset (0x6810), PSBL, 32, SSBL, 32, PTCH, 32, PSBH, 32, SSBH, 32, Offset (0x6848), FCTL, 32, Offset (0x6EF8), MUMD, 32 } Store (Zero, FCTL) Store (Zero, PSBH) Store (Zero, SSBH) Store (Zero, LTBC) Store (One, GENA) Store (Zero, MUMD) } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x16) { "AAPL,slot-name", Buffer (0x07) { "Slot-4" }, "CFG,CFG_USE_AGDC", Buffer (One) { 0x00 }, "PP,PP_DisableAutoWattman", Buffer (One) { 0x00 }, "ATY,Part#", Buffer (0x0C) { "113-3E366DU" }, "@0,AAPL,boot-display", Buffer (One) { 0x00 }, "@0,name", Buffer (0x0D) { "ATY,Kamarang" }, "@1,name", Buffer (0x0D) { "ATY,Kamarang" }, "@2,name", Buffer (0x0D) { "ATY,Kamarang" }, "@3,name", Buffer (0x0D) { "ATY,Kamarang" }, "model", Buffer (0x13) { "AMD Radeon Vega 64" }, "hda-gfx", Buffer (0x0A) { "onboard-2" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (HDAU) { Name (_ADR, One) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x0C) { "built-in", Buffer (One) { 0x00 }, "AAPL,slot-name", Buffer (0x07) { "Slot-3" }, "layout-id", Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 }, "name", Buffer (0x0D) { "AMD HD-Audio" }, "model", Buffer (0x0D) { "AMD HD-Audio" }, "hda-gfx", Buffer (0x0A) { "onboard-2" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } }   Note that with 10.13.4, Apple changed the com.apple.driver.AppleHDAController implementation. To make the HDAU PCI device driver work, one needs to add the following KextToPatch entry in Section "Kernel and kext Patches" of Clover Configurator, as already implemented in the config.plist contained in my distributed EFi-Folder: Name* Find* [HEX] Replace* [HEX] Comment com.apple.driver.AppleHDAController DE100B0E DE10EF10 FredWst DP/HDMI patch  
      Credits to @FreedWst and thanks to@fabiosunfor pointing me to this solution.  
        E.9.2.3) - PMCR - onboard Power Management Controller (PMC) PCI Implementation:   DefintionBlock entry: External (_SB_.PCI0.PMCR, DeviceObj) // (from opcode)   PCI Device Implementation: Scope (\_SB.PCI0.PMCR) { Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x0E) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "model", Buffer (0x1E) { "Intel X299 Series Chipset PMC" }, "name", Buffer (0x0A) { "Intel PMC" }, "device-id", Buffer (0x04) { 0xA1, 0xA2, 0x00, 0x00 }, "device_type", Buffer (0x0F) { "PMC-Controller" }, "built-in", Buffer (One) { 0x00 }, "compatible", Buffer (0x0D) { "pci8086,a2a1" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } }   The PMCR PCI device implementation should be valid for all X299 mainboards and should not require any build specific adaptation/modification. In any case verify device path "PCI0.PMCR" and PCI device implementations by means of IOREG.     E.9.2.4) - USBX:   PCI Device Implementation: Device (_SB.USBX) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LNot (Arg2)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x08) { "kUSBSleepPortCurrentLimit", 0x0834, "kUSBSleepPowerSupply", 0x13EC, "kUSBWakePortCurrentLimit", 0x0834, "kUSBWakePowerSupply", 0x13EC }) } }   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 USBX PCI device implementation fixes this errors.   E.9.2.5) - XHCI - onboard Extended Host Controller Interface (XHCI) PCI Implementation:   DefintionBlock entry: External (_SB_.PCI0.XHCI, DeviceObj) // (from opcode)   PCI Device Implementation: Scope (\_SB.PCI0.XHCI) { Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x1B) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "built-in", Buffer (One) { 0x00 }, "device-id", Buffer (0x04) { 0xAF, 0xA2, 0x00, 0x00 }, "name", Buffer (0x34) { "ASMedia / Intel X299 Series Chipset XHCI Controller" }, "model", Buffer (0x34) { "ASMedia ASM1074 / Intel X299 Series Chipset USB 3.0" }, "AAPL,current-available", 0x0834, "AAPL,current-extra", 0x0A8C, "AAPL,current-in-sleep", 0x0A8C, "AAPL,max-port-current-in-sleep", 0x0834, "AAPL,device-internal", Zero, "AAPL,clock-id", Buffer (One) { 0x01 }, "AAPL,root-hub-depth", 0x1A, "AAPL,XHC-clock-id", One, Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } }   The XHCI USB3.0 ASMedia ASM1074 / Intel X299 Series Chipset 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 PCI device implementations by means of IOREG.   E.9.2.6) - XHC2,3,4 - ASMedia ASM3142 USB 3.1 Controller PCI Implementation:
      DefintionBlock entry: External (_SB_.PCI0.RP01.PXSX, DeviceObj) // (from opcode) External (_SB_.PCI0.RP01.XHC2, DeviceObj) // (from opcode) External (_SB_.PCI0.RP05.PXSX, DeviceObj) // (from opcode) External (_SB_.PCI0.RP05.XHC3, DeviceObj) // (from opcode) External (_SB_.PCI0.RP07.PXSX, DeviceObj) // (from opcode) External (_SB_.PCI0.RP07.XHC4, DeviceObj) // (from opcode)   PCI Device Implementation: Device (\_SB.PCI0.RP01.XHC2) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Store (Package (0x1B) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "built-in", Buffer (One) { 0x00 }, "device-id", Buffer (0x04) { 0x42, 0x21, 0x00, 0x00 }, "name", Buffer (0x17) { "ASMedia XHC Controller" }, "model", Buffer (0x2F) { "ASMedia ASM3142 #1 1x USB 3.1 Type-C Internal " }, "AAPL,current-available", 0x0834, "AAPL,current-extra", 0x0A8C, "AAPL,current-in-sleep", 0x0A8C, "AAPL,max-port-current-in-sleep", 0x0834, "AAPL,device-internal", Zero, "AAPL,clock-id", Buffer (One) { 0x01 }, "AAPL,root-hub-depth", 0x1A, "AAPL,XHC-clock-id", One, Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Name (_SB.PCI0.RP01.PXSX._STA, Zero) // _STA: Status Device (\_SB.PCI0.RP05.XHC3) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Store (Package (0x1B) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "built-in", Buffer (One) { 0x00 }, "device-id", Buffer (0x04) { 0x42, 0x21, 0x00, 0x00 }, "name", Buffer (0x17) { "ASMedia XHC Controller" }, "model", Buffer (0x2E) { "ASMedia ASM3142 #2 2x USB 3.1 Type-A External" }, "AAPL,current-available", 0x0834, "AAPL,current-extra", 0x0A8C, "AAPL,current-in-sleep", 0x0A8C, "AAPL,max-port-current-in-sleep", 0x0834, "AAPL,device-internal", Zero, "AAPL,clock-id", Buffer (One) { 0x01 }, "AAPL,root-hub-depth", 0x1A, "AAPL,XHC-clock-id", One, Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Name (_SB.PCI0.RP05.PXSX._STA, Zero) // _STA: Status Device (\_SB.PCI0.RP07.XHC4) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Store (Package (0x1B) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "built-in", Buffer (One) { 0x00 }, "device-id", Buffer (0x04) { 0x42, 0x21, 0x00, 0x00 }, "name", Buffer (0x17) { "ASMedia XHC Controller" }, "model", Buffer (0x4A) { "ASMedia ASM3142 #3 1x USB 3.1 Type-A / ASM1543 1x USB 3.1 Type-C External" }, "AAPL,current-available", 0x0834, "AAPL,current-extra", 0x0A8C, "AAPL,current-in-sleep", 0x0A8C, "AAPL,max-port-current-in-sleep", 0x0834, "AAPL,device-internal", Zero, "AAPL,clock-id", Buffer (One) { 0x01 }, "AAPL,root-hub-depth", 0x1A, "AAPL,XHC-clock-id", One, Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Name (_SB.PCI0.RP07.PXSX._STA, Zero) // _STA: Status   The XHC2,XHC3,XHC4 ASMedia ASM3142/ASM1543 USB 3.1 onboard Intel XHCI 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 that this SSDT-X299-iMacPro.aml device implementation also performs the following ACPI Replacements   PCI0.RP01.PXSX -> PCI0.RP01.XHC2 PCI0.RP05.PXSX -> PCI0.RP01.XHC3 PCI0.RP07.PXSX -> PCI0.RP01.XHC4   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) - ANS2 - Apple NVMe Controller PCI Implementation:   DefintionBlock entry: External (_SB_.PCI0.RP09.PXSX, DeviceObj) // (from opcode) External (_SB_.PCI0.RP09.ANS2, DeviceObj) // (from opcode)   PCI Device Implementation: Device (\_SB.PCI0.RP09.ANS2) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Store (Package (0x08) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "built-in", Buffer (One) { 0x00 }, "name", Buffer (0x14) { "AppleANS2Controller" }, "model", Buffer (0x12) { "Apple SSD AP1024M" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Name (_SB.PCI0.RP09.PXSX._STA, Zero) // _STA: Status   The current ANS2 Apple NVMe Controller PCI implementation is of purely cosmetic nature and is valid for the ASUS Prime X299 Deluxe. Note that this SSDT-X299-iMacPro.aml device implementation also performs the following ACPI Replacement   PCI0.RP09.PXSX -> PCI0.RP09.ANS2   in concordance with the respective SMBIOS iMacPro1,1 variable naming.   Verify and adopt/modify if necessary the "PCI0.RP09.ANS2" PCI device implementations by means of IOREG.     E.9.2.8) - SAT1 - Intel AHCI SATA Controller PCI Implementation:   DefintionBlock entry: External (_SB_.PCI0.SAT1, DeviceObj) // (from opcode)   PCI Device Implementation: Scope (\_SB.PCI0.SAT1) { Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x0C) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "built-in", Buffer (One) { 0x00 }, "name", Buffer (0x16) { "Intel AHCI Controller" }, "model", Buffer (0x1F) { "Intel X299 Series Chipset SATA" }, "device_type", Buffer (0x15) { "AHCI SATA Controller" }, "device-id", Buffer (0x04) { 0x82, 0xA2, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } }   The SAT1 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) - ETH0/ETH1 - onboard LAN Controller PCI Implementation:   DefintionBlock entry: External (_SB_.PCI0.ETH0, DeviceObj) // (from opcode) External (_SB_.PCI0.RP02.ETH1, DeviceObj) // (from opcode)   PCI Device Implementation: Scope (\_SB.PCI0.ETH0) { Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x10) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "built-in", Buffer (One) { 0x00 }, "name", Buffer (0x16) { "Intel I219V2 Ethernet" }, "model", Buffer (0x2A) { "Intel I219V2 PCI Express Gigabit Ethernet" }, "location", Buffer (0x02) { "1" }, "subsystem-id", Buffer (0x04) { 0x72, 0x86, 0x00, 0x00 }, "device-id", Buffer (0x04) { 0xB8, 0x15, 0x00, 0x00 }, "subsystem-vendor-id", Buffer (0x04) { 0x43, 0x10, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Scope (\_SB.PCI0.RP02.ETH1) { Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x10) { "AAPL,slot-name", Buffer (0x09) { "Built In" }, "built-in", Buffer (One) { 0x00 }, "name", Buffer (0x16) { "Intel I211VA Ethernet" }, "model", Buffer (0x2A) { "Intel I211VA PCI Express Gigabit Ethernet" }, "location", Buffer (0x02) { "2" }, "subsystem-id", Buffer (0x04) { 0xF0, 0x85, 0x00, 0x00 }, "device-id", Buffer (0x04) { 0x39, 0x15, 0x00, 0x00 }, "subsystem-vendor-id", Buffer (0x04) { 0x43, 0x10, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } }   Note that the ETH0/ETH1 Intel I219V2 PCI Express Gigabit Ethernet and Intel I211VA PCI Express Gigabit Ethernet onboard LAN controller 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.     E.9.2.10) - ARPT - OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 AirPort Controller PCI Implementation:   DefintionBlock entry: External (_SB_.PC03.BR3D.ARPT, DeviceObj) // (from opcode)   PCI Device Implementation: Scope (_SB.PC03.BR3D.ARPT) { OperationRegion (PCIS, PCI_Config, Zero, 0x0100) Field (PCIS, AnyAcc, NoLock, Preserve) { PVID, 16, PDID, 16 } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x0E) { "built-in", Buffer (One) { 0x00 }, "device-id", Buffer (0x04) { 0xA0, 0x43, 0x00, 0x00 }, "AAPL,slot-name", Buffer (0x07) { "Slot-3" }, "device_type", Buffer (0x13) { "AirPort Controller" }, "model", Buffer (0x4A) { "OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 Controller" }, "compatible", Buffer (0x0D) { "pci14e4,43a0" }, "name", Buffer (0x10) { "AirPort Extreme" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } }   The ARPT 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. Users of this PCIe Adapter within a PCIe slot population different from PCIe Slot 3 have to adapt/modify the respective device path "PC03.BR3D.ARPT" and likely also the respective ACPI DSDT Replacement Patch. Users of the Asus Prime X299 Deluxe onboard Bluetooth chipset controller or with a completely different WIFI/Bluetooth configuration have to either adopt the entire Airport PCI implementation by means of IOREG or can also skip the entire part.     E.9.2.11) - ThunderboltEX 3 Controller PCI Implementation:   DefintionBlock entry: External (_SB_.PC01.BR1A, DeviceObj) // (from opcode) External (_SB_.PC01.BR1A.PEGP, DeviceObj) // (from opcode) External (_SB_.PC01.BR1A.SL01, DeviceObj) // (from opcode) External (_SB_.PC01.BR1A.UPSB, DeviceObj) // (from opcode) External (OSDW, MethodObj) // 0 Arguments (from opcode) External (OSYS, UnknownObj) // (from opcode) External (PEGP, DeviceObj) // (from opcode) External (SL01, DeviceObj) // (from opcode) External (UPSB, DeviceObj) // (from opcode)  
      PCI Device Implementation:
      Scope (\_SB.PC01.BR1A) { Scope (SL01) { Name (_STA, Zero) // _STA: Status } Scope (PEGP) { Name (_STA, Zero) // _STA: Status } Device (UPSB) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LNot (Arg2)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "PCI-Thunderbolt", One }) } Name (_RMV, One) // _RMV: Removal Status Device (DSB0) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LNot (Arg2)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "PCIHotplugCapable", One }) } Device (NHI0) { Name (_ADR, Zero) // _ADR: Address Name (_STR, Unicode ("Thunderbolt")) // _STR: Description String Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x0D) { "built-in", Buffer (One) { 0x00 }, "device_type", Buffer (0x19) { "Thunderbolt 3 Controller" }, "AAPL,slot-name", Buffer (0x07) { "Slot-4" }, "model", Buffer (0x30) { "ThunderboltEX 3 Intel DSL6540 Thunderbolt 3 NHI" }, "name", Buffer (0x37) { "ThunderboltEX 3 Intel DSL6540 Thunderbolt 3 Controller" }, "power-save", One, Buffer (One) { 0x00 } }) } } } Device (DSB1) { Name (_ADR, 0x00010000) // _ADR: Address Name (_SUN, 0x04) // _SUN: Slot User Number OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Device (UPS0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (ARE0, PCI_Config, Zero, 0x04) Field (ARE0, ByteAcc, NoLock, Preserve) { AVND, 16 } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DSB0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1, Offset (0x3E), , 6, SBRS, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } Device (DSB1) { Name (_ADR, 0x00010000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } Device (DSB2) { Name (_ADR, 0x00020000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } Device (DSB3) { Name (_ADR, 0x00030000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } Device (DSB4) { Name (_ADR, 0x00040000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } Device (DSB5) { Name (_ADR, 0x00050000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } } } Device (DSB2) { Name (_ADR, 0x00020000) // _ADR: Address Device (XHC5) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x12) { "built-in", Buffer (One) { 0x00 }, "AAPL,slot-name", Buffer (0x07) { "Slot-4" }, "model", Buffer (0x41) { "ThunderboltEX 3 Texas Instruments TPS65982 USB 3.1 Type-A/Type-C" }, "name", Buffer (0x31) { "ThunderboltEX 3 Texas Instruments XHC Controller" }, "device_type", Buffer (0x13) { "USB 3.1 Controller" }, "device-id", Buffer (0x04) { 0xB6, 0x15, 0x00, 0x00 }, "USBBusNumber", Zero, "UsbCompanionControllerPresent", One, "AAPL,XHCI-clock-id", One }) } Device (RHUB) { Name (_ADR, Zero) // _ADR: Address Device (SSP1) { Name (_ADR, One) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0x09, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }) Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "UsbCPortNumber", One }) } } Device (SSP2) { Name (_ADR, 0x02) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0x09, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }) Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "UsbCPortNumber", 0x02 }) } } Device (HS01) { Name (_ADR, 0x03) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0x09, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }) } Device (HS02) { Name (_ADR, 0x04) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0x09, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }) } } } } Device (DSB3) { Name (_ADR, 0x00030000) // _ADR: Address Name (_SUN, 0x04) // _SUN: Slot User Number OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Device (UPS0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (ARE0, PCI_Config, Zero, 0x04) Field (ARE0, ByteAcc, NoLock, Preserve) { AVND, 16 } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DSB0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1, Offset (0x3E), , 6, SBRS, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } Device (DSB1) { Name (_ADR, 0x00010000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } Device (DSB2) { Name (_ADR, 0x00020000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } Device (DSB3) { Name (_ADR, 0x00030000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } Device (DSB4) { Name (_ADR, 0x00040000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } Device (DSB5) { Name (_ADR, 0x00050000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } } } Device (DSB4) { Name (_ADR, 0x00040000) // _ADR: Address Name (_SUN, 0x04) // _SUN: Slot User Number OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (Zero) } Device (UPS0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (ARE0, PCI_Config, Zero, 0x04) Field (ARE0, ByteAcc, NoLock, Preserve) { AVND, 16 } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { If (OSDW ()) { Return (One) } Return (Zero) } Device (DSB0) { Name (_ADR, Zero) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1, Offset (0x3E), , 6, SBRS, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } Device (DSB1) { Name (_ADR, 0x00010000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } Device (DSB2) { Name (_ADR, 0x00020000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } Device (DSB3) { Name (_ADR, 0x00030000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } Device (DSB4) { Name (_ADR, 0x00040000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } Device (DSB5) { Name (_ADR, 0x00050000) // _ADR: Address OperationRegion (A1E0, PCI_Config, Zero, 0x40) Field (A1E0, ByteAcc, NoLock, Preserve) { AVND, 32, BMIE, 3, Offset (0x18), PRIB, 8, SECB, 8, SUBB, 8, Offset (0x1E), , 13, MABT, 1 } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (SECB) } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } Device (DEV0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { Return (One) } } } } } } }  
      I programmed and implemented the TBEX 3 TB SSDT implementation based on former attempts by @Mork vom Orkand @Matthew82. If I understand correctly, @Matthew82 's former work further bases on some implementations by @maleorderbride and @TheRacerMaster.
       
       
      As detailed above, it provides full TB XHC USB and TB hot plug functionality for the TBEX 3 PCIe Adapter in PCIe Slot 4.    >>> https://youtu.be/Jakp5dCoFvY <<<   In order to obtain full TBEX 3 TB and TB XHC USB hot plug functionality with my SSDT-X299-iMacPro.aml, one needs to remove the THB_C cable between the TBEX 3 and the respective mainboard connector! Thank's to @crismac2013 and @lelet  for their findings!   No need to connect any TB device before booting the system. The TBEX 3 get's fully automatically initialised and implemented by OSX, as soon a TB or TB XHC USB device will be connected to the already operational system.    >>> https://youtu.be/JSNp75UOfq4 <<<   Users of this PCIe Adapter within a PCIe slot population different from PCIe Slot 4 have to adapt/modify the respective ACPI path entries "PC01", "BR1A" and respective SL01 -> PEGP and PEGP -> UPSB ACPI Replacements, directly performed within the SSDT-X299-iMacPro.aml.    After populating also DSB3 and DSB4, the respective TB SSDT implementation should now also be valid for TB solutions different from the ASUS TBEX 3 (also for two-port TB solutions). Note however that the TBEX 3 uses PCI lanes directly connected with the CPU, whereas other TB solutions might use PCH lanes. The latter TB implementations might need a TB device connected at boot to be recognised by the system, although hot plug should work subsequently also in this case. Thanks to @lelet for all fruitful discussions and for testing the new TB SSDT implementation on his Z370.    Note that with this TB SSDT device implementation also any "Arbitrary" TB entry in the config plist in Section "Devices" of Clover Configurator is totally obsolete.              
        E.9.2.12) - DTGP Method:   Method (DTGP, 5, NotSerialized) { If (LEqual (Arg0, ToUUID ("a0b5b7c6-1318-441c-b0c9-fe695eaf949b"))) { If (LEqual (Arg1, One)) { If (LEqual (Arg2, Zero)) { Store (Buffer (One) { 0x03 }, Arg4) Return (One) } If (LEqual (Arg2, One)) { Return (One) } } } Store (Buffer (One) { 0x00 }, Arg4) Return (Zero) } }   The DTG Method Implementation is required for SSDT functionality and has not to be modified or adopted in any case.     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:   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. 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.1 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 macOS High Sierra 10.13.4 SU (17E202), 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 Codinger
      Hello newcomer,
      As i saw that many users upload their config.plist or SMBIOS.plist with non deleted S/N and MLB, ROM values. Noobs please never upload your unique machine values like ROM, MLB, Serial Number or System UUID. If you upload these values your Apple ID will be suspended form Apple services (AppStore, FaceTime, iCloud, iMessage, iTunes ...) directly, because some other noobs will try to "clone" your system as described here. 
      It is an easy process ... simply remove these information from your uploaded media as blurring the data (watch here) or as removing / censoring the files for upload (watch here)
      Thank you for your attention and have a good start, here, in the forums at Insanelymac.   
      P.S. don't blame me for this shared serial. I had found it just before i wrote this guide .
    • By MaLd0n
      --Create a bootable copy of macOS Sierra   http://www.insanelymac.com/forum/files/file/559-flash-drive-maker/   --Create a bootable copy of macOS HighSierra   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   --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/   Now you need a fine tune!   --DSDT DSDT.GA H97M-D3H MaLd0n.zip Patches -FIX ERRORS AND WARNINGS -HPET -SATA -SLPB -EHCx -DARWIN -LPC -XHCI -HDEF -RTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -PNLF --Power Management   Use "plugin-type"=1 in DSDT, SSDT or Clover config.plist   --Brightness   Install .app, select the required permission and reboot. Work in F1 / F2 keys! NativeDisplayBrightness.app.zip https://github.com/Bensge/NativeDisplayBrightness/releases *in some cases .app don't work, check patches in config.plist inside Clover folder Post Install  
      --FakeSMC
        https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek/downloads/   --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!
×