Contribute
Register

Skylake-X/X299 and macOS Sierra 10.12 - [Successful Build/Extended Guide]

Status
Not open for further replies.

kgp

Retired
Joined
May 30, 2014
Messages
6,902
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
X299-10.12.6.png


Up and successfully running Skylake-X/X299 on macOS 10.12.6 Sierra now also with Gigabyte AORUS GTX 1080 Ti WaterForce WB 11GB Extreme Edition!

Overview-10.12.6.png


GTX1080.png

Screen Shot 2017-10-15 at 00.19.26.png


This originating post constitutes a new macOS 10.12 Sierra Desktop Guide for Skylake-X/X299, which certainly can still grow and improve by your estimated user feedback. The actual Skylake-X/X299 10.12 Sierra Desktop Guide bases on the ASUS Prime X299 Deluxe (although initially, tests also have been performed with the Gigabyte X299 Aorus Gaming 9, thus this latter mainboard is also partly addressed in my guide below). However, also other X299 ASUS mainboard models or X299 mainboards of other brands shall 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 already 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.

Skylake-X-Guide-Compatibility.png


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 supports four
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.

SMBIOS iMAC 17,1 seems absolutely mandatory if one wants to use native Xnu CPU Power Management (XCPM) for Skylake-X based on Pike Alpha's ssdtPRgen.sh and ssdt.aml. However, the latter SMBIOS definition imposes a dead end at the XHC USB side, as there are is no iMac 17,1 identity neither in Apple's IOUSBHostFamily.kext nor in Apple's AppleUSBXHCIPCI.kext, which further implies the sudden dead of USBInjectAll.kext or any derivatives (e.g. X99_Injector USB 3.kext or, XHCI-200-series-injector.kext, etc.). However, as we are also always somewhat lucky within all the evil, there is a very sophisticated workaround, which provides full XHC USB 2.0 and USB 3.0 functionality also with SMBIOS iMac17,1. Note that I already successfully implemented this latter approach for the ASUS Prime X299 Deluxe! For all other ASUS X299 mainboards and X299 mainboards of different brands, we will hopefully be able to adopt this new approach by means of the required and estimated help and collaboration of different users in establishing the mandatory board specific XHC USB Kexts (the exact XHC USB Kext creation procedure is detailed below under Section E.4 of my guide. On the ASUS Prime X299 Deluxe however, as already stated above, the novel "kext as kext can" XHC USB approach is already perfectly performing. 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 are working at expected data transfer rates (90 Mb/S (USB 3.0)and 40 MB/s (USB 2.0), respectively). All external and internal USB 3.1 (USB 3.1 Gen 2 Type-A and Type-C) ports are natively implemented on different controllers and work at data rates up to 140 MB/s once the USB 2.0 and USB 3.0 ports are properly configured. See Section E.4 of my guide.

Also the ASUS Thunderbolt EX3 Extension Card is now successfully implemented, and external Thunderbolt drives connected via Apples Thunderbolt 3 to Thunderbolt 2 Adapter work at data rates and speeds similar to those of all USB 3.1 Gen 2 Type-A and Type-C connectors, i.e. 140 MB/s and above (see Section E.5 of my guide)!

Analogue Audio and HDMI/DP digital Audio are properly implemented and fully functional thanks to a slightly modified VoodooHDA.kext distribution (see Section E.3 of my guide). 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. Thanks to an additional kext provided by apfelnico, also the Intel I211_AT Gigabit on-board LAN controller of the ASUS Prime X299 Deluxe is now correctly implemented and functional, in addition to the anyway natively implemented and of course also fully functional Intel I219-V Gigabyte on-board LAN controller of the Asus Prime X299 Deluxe (see section E.8 of my guide).

By the way, excellent news for all ASUS freaks! Thanks to the ASUS specific "Sync all Cores"" BIOS-function, one apparently achieves brilliant and absolute top-end Xnu CPU Power Management (XCPM) performance, as you will see below in section E.1 of my guide. In my personal opinion, the ASUS X299 Prime Deluxe is currently definitely the better choice with respect to the overall XCPM performance, at least when compared with the Gigabyte X299 Aorus Gaming 9, which actually seems to miss the ASUS-specific "Sync All Cores" bios-functionality and therefore hardly competes with the smooth and well settled CPU idle and max. load frequencies achieved with the primer mainboard. I already returned the latter mainboard quite a while ago. The same drawback might apply by the way also for all other non-ASUS X299 mainboards of all other different brands than ASUS.

Like always many thanks to @DSM2 and PMheart for their extremely helpful and fruitful collaboration with the initial setup!

Note that my Skylake-X/X299 system is also up, absolutely stable and fully functional under macOS 10.13 High Sierra Supplementary Update! The corresponding Skylake-X/X299 macOS 10.13 High Sierra Desktop Guide can be found HERE! As macOS 10.13 High Sierra has been already officially released, I will actually repeatedly refer to the latter guide with respect to several post-installation techniques and procedures, which can be identically implemented also under macOS Sierra 10.12.6 and which therefore have not to be repeatedly detailed below. I regret for this minor inconvenience when following and implementing my macOS 10.12 Sierra Desktop Guide.



A.) Hardware Overview
IMG_9008.jpg


  • CPU/GPU Cooling: Water Cooling main components:
i9.png



B.) BIOS Configuration

Please find below the summary of my actual Asus X299 Prime Deluxe BIOS settings and some likely already outdated Gigabyte X299 Aorus Gaming 9 BIOS settings, which I used during my initial testing period. Any user feedback that provides more actual settings for the latter mainboard is appreciated and will be immediately implemented.


B.1) ASUS BIOS Configuration

Before applying the specific settings, please provide your ASUS X299 Prime Deluxe with the actual and hopefully best working BIOS firmware.

ASUS-BIOS-Basic.png


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.

ASUS-BIOS-Advanced.jpg


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: Disabled/Enabled [see important notification below!]
b.) CPU Core Ratio: Sync All Cores
c.) DRAM Frequency: DDR4-3200MHz
2.) /AI Tweaker/Internal CPU Power Management/
a.) Enhanced Intel Speed Step Technology: Disabled
3.) /Advanced/CPU Configuration/
a.) Hyper Threading [ALL]: Enabled
4.) /Advanced/CPU Configuration/CPU Power Management Configuration/
a.) Enhanced Intel Speed Step Technology: Disabled
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.) MFC Mode Override: OS Native
5.) /Advanced/System Agent Configuration/
a.) Intel VT for Directed I/O (VT-d): Disabled​

6.) /Boot/
a.) Fast Boot: Disabled
b.) Above 4G Decoding: On
c.) Set your specific Boot Option Priorities
7.) /Boot/Boot Configuration
a.) Boot Logo Display: Full Screen
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 Note: In the frame of the domestication of the i9-7980XE, I made the following discovery with respect to the
"ASUS MultiCore Enhancement" BIOS feature. While at least with the i9-7980XE, one can ENABLE and use this BIOS feature under macOS Sierra 10.12.6, I had to finally DISABLE the latter BIOS feature under macOS High Sierra 10.13 to reach system stability and to avoid immediate reboots after login. I have no clue why with the i9-7980XE, one cannot use this BIOS feature at present under macOS High Sierra 10.13. I also have no clue if the latter feature would stably work with any other Skylake-X CPU under macOS High Sierra 10.13. Just give it a try! Note however, that the feature should be only ENABLED in case of the availability of an excellent and extremely sophisticated water cooling system, as clearly recommended within the BIOS Function! Note that the performance boost by the "ASUS MultiCore Enhancement" BIOS feature seems absolutely tremendous, without the need of performing OC! In case of the i9-7980XE, the Geeckbench score difference is approx. 51.000 (disabled) compared to 58.000 (enabled)!


B.2) Gigabyte BIOS Configuration

Please note once more, that my Gigabyte BIOS settings initially used and such summarized below, might not reflect the actual optimum choice for this mainboard. Any user feedback is appreciated and welcome. In any case, before applying the specific settings listed below, please provide also your Gigabyte X299 Aorus Gaming 9 with the actual and hopefully best working BIOS firmware.

Gigabyte.jpg


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: Manual
b.) Hyper-Threading Technology: Enabled
c.) Enhanced Multi-Core Performance: enabled/disabled (optional)
d.) CPU Enhanced Halt (C1E): Enabled
e.) C6/C7 State Support: Enabled
f.) Package C State limit: C6
g.) CPU EIST Function: Disabled
3.) /M.I.T/Advanced Memory Settings/
a.) Extreme Memory Profile (X.M.P): Profile1
4.) /BIOS/
a.) Boot Numlock State: Disabled
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.) /Chipset/
a.) VT-d: Disabled​

8.) /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 respective macOS distribution.

1.) Excellent news my friends! With Clover_v2.4k_r4233 (already implemented in EFI-X299-10.12-Release-041017.zip), for
the first time ever, one can directly use Clover's OsxAptioFixDrv-64.efi in /EFI/CLOVER/drivers64UEFI/ to obtain a fully functional and fully stable system. Earlier versions of OsxAptioFixDrv-64.efi resulted in unstable system performance and random reboots. Over the years, I therefore previously always employed the OsxAptioFix2Drv-free2000.efi workaround in /EFI/CLOVER/drivers64UEFI/, which now has become totally obsolete! The latter workaround occasionally resulted in memory allocation errors at the very initial boot step with the following error message​

error.jpg

while during system operation, OsxAptioFix2Drv-free2000.efi however always yielded a very stable and fully functional MacOS System. In any case, with the current removal of OsxAptioFix2Drv-free2000.efi, also the memory allocation errors at boot totally vanished. My Skylake-X/X299 System no shows a brilliant performance during both boot and system operation!​

2.) The /EFI/Clover/kexts/Other/ directory of the EFI-folder in EFI-X299-10.12-Release-041017.zip attached at the end of this
originating post/guide contains the basic kext configuration for all ATI-Users with typical rudimentary and basic Starter ATI Graphics Cards like the 2GB ATI Radeon RX 560, i.e. WhateverGreen.kext and Lilu.kext (once more attached at the end of this originating post/guide).

In addition, please edit the config.plist with Clover Configurator and check "Inject ATI" in the "Graphics" Section of the Clover Configurator, as it is not checked by default. Don't forget to save the modified config.plist.

Users of ATI graphics cards different from the 2GB ATI Radeon RX 560 or natively supported by MacOS Sierra 10.12, are advised to use an adequate kext configuration (if necessary at all) and a likely to be modified conifg.plist configuration for their specific and particular ATI graphics card.

Very bad news for at least all Nvidia Maxwell and Pascal Graphics Cards Users! On Skylake-X/X299 Systems, your Nvidia Maxwell and Pascal Graphics Cards are not properly supported neither by macOS 10.12.6 nor by the Nvidia 10.12.6 web driver. The lack of support by macOS 10.12.6 makes it impossible to follow the standard macOS 10.12.6 Clean Install or Upgrade Procedures outlined in Section D.)! Any boot intentions with the macOS 10.12.6 USB Flash Driver installer will end-up at gIOScreenlockstate 3, independent of the black screen prevention one might choose. On Skylake-X/X299 Systems, Nvidia Maxwell and Pascal Graphics Cards as well as the related web driver are simply not fully compatible with MacOS 10.12.6!

However, there are two possible workarounds:

a.) Use my Skylake-X/X299 macOS High Sierra 10.13 Desktop guide to directly install macOS High Sierra 10.13 on
your Skylake-X/X299 System.

b.) Setup your 10.12.6 Skylake-X/X299 System Disk on a System different from Skylake-X/X299! After the

macOS 10.12.6 Installation perform the AGDPFix.app Black Screen prevention and subsequently install the 10.12.6 Nvidia Web Driver. Before connecting the 10.12.6 System Disk to your Skylake-X/X299 System, adopt the EFI-Folder on the 10.12.6 System Disk for it's later use on your Skylake-X/X299 System by following the respective System Disk EfI-Folder related points in Error Prevention C.) and macOS Sierra 10.12 Clean Install in D.1). Now connect and boot your 10.12.6 Skylake-X/X299 System Disk to/on your Skylake-X/X299 System. You will be able to boot and operate 10.12.6 without further major issues or further additional actions. Your graphics card will be fully supported by the Nvidia 10.12.6 Web Driver (OpenGL and Metal Support), although the Nvidia Driver Manager will immediately crash on login.

To run macOS Sierra 10.12 on my Skylake-X/X299 system, I obviously successfully used Workaround b.) above. For successful benchmark results with my Gigabyte AORUS GTX 1080 Ti WaterFroce WB 11GB Extreme Edition and my Intel Skylake-X i9-7980XE see Section F.) "Benchmarking".

3.) In the EFI-folder of EFI-X299-10.12-Release-041017.zip attached at the end of this originating post/guide, one finds the
EmuVariableUefi-64.efi in the /EFI/CLOVER/drivers64UEFI/-directory. Note the following very important advice and error prevention:

a.) If present in the EFI-directory of your USB Flash Drive Installer, the following error message might occur during

the macOS system installation/upgrade:

error-install.png


Thus, please remove the EmuVariableUefi-64.efi from the /EFI/CLOVER/drivers64UEFI/-directory of your USB Flash drive installer!

b.) Note however, that it is absolutely mandatory to have the EmuVariableUefi-64.efi implemented in the
/EFI/CLOVER/drivers64UEFI/-directory of the System Disk!

The reason is the following: at the end of the macOS installation/update process (icloud registration of your system) or during each boot of your system disk, you need to correctly transmit your SMBIOS credentials, like Serial Number, UUID, ROM and Board Serial Number, etc. (previously created during the SMBIOS definition process detailed below) to iCloud. On systems with iMac17,1 SMBIOS definition and X299-mobo, this crucial step only can be successfully performed by means of EmuVariableUefi-64.efi! Remember, that due to Error Prevention 4.a) above, the EmuVariableUefi-64.efi file is however omitted in the USB Flash Drive Installer's EFI partition. Thus, as once more emphasized in more detail in D.1/12.) and D.2/12.) below, in the last step of the MacOS Clean Install or Upgrade procedure, one has to boot the MacOS Installer Partition on the System Disk with the EFI-Partition on the System Disk, which opposite to the EFI-directory on the USB Flash Driver Installer indeed contains the EmuVariableUefi-64.efi as configured above. If in this last step of the macOS install/update procedure, the EmuVariableUefi-64.efi is missing in the respective EFI-directory, one will be able to sign in to iCloud but will subsequently neither be able to use iMessage nor Facetime! This fundamental problem only can be solved by signing out from iCloud by previously unchecking in Apple's Photos Application under "Preferences" the options "iCloud Photo Library", "My Photo Stream" and "iCloud Photo Sharing", and by subsequently repeating all necessary steps detailed in @P1LGRIM 's "An iDiots's Guide To iMessage" and also considering my few additional comments and modifications detailed in D.1/4.c), D.1/4.d) and D.2/4.c) below.!
4.) The /EFI/Clover/kexts/Other/ directory of the EFI-Folder in EFI-X299-10.12-Release-041017.zip attached at the end of this
originating post/guide already contains a functional and operational XHC USB Kext (KGP-ASUSPrimeX299Deluxe-USB.kext), which should successfully implement all USB 2.0 and USB 3.0 ports available on the ASUS Prime X299 Deluxe during the boot process also under macOS Sierra 10.12! Thus, all ASUS Prime X299 Deluxe Users are save at this place and can either successfully boot the MacOS USB Flash Drive Installer or the System Disk, as long the primer kext is present in the corresponding EFI-directories!

All users of mainboards different from the ASUS Prime X299 Deluxe are however limited at this place by the fact that the latter kext will not work with their specific USB board configuration. The general idea is, to provide in the near future at this place a library of different board-specific XHC USB Kexts for most of all other X299 mainboards in operation. One out of these yet to be established XHC USB Kexts shall then be able to replace the currently ASUS Prime X299 Deluxe specific XHC USB Kext for each particular mainboard different from the ASUS Prime X299 Deluxe. However, for the establishment of such a XHC USB Kext Library, the collaboration and active contribution of mainboard users different from the ASUS Prime X299 Deluxe would be absolutely mandatory. The individual XHC USB Kexts should be established once for each specific mainboard by some user following the kext creation procedure detailed in Section E.4) of my Skylake-X/X299 macOS High Sierra 10.13 Desktop Guide, which also fully applies under macOS Sierra 10.12. The particular contribution of such users in establishing board-specific XHC USB Kexts certainly would be of fundamental benefit for all users following my Skylake-X/X299 approach.

At present, users of different mainboards than the ASUS Prime X299 Deluxe have the following option to successfully install/upgrade MacOS Sierra 10.12 on their system:

Instead of using an USB2.0 or USB3.0 USB Flash Drive Installer, the macOS clean install or update can be performed by means of an USB 3.1 Gen 2 Type-A or Type-C MacOS Flash Drive Installer, connected to one of the available USB 3.1 Gen 2 Type-A or Type-C ports. The latter ports are independent from the XHC controller but are connected to separate controller natively implemented by OS X. Primer to the MacOS clean-install/update, just remove the ASUS Prime X299 Deluxe specific XHC USB Kext from the /EFI/CLOVER/Kexts/Other/-directory of the EFI-Folder on the USB3.1 Flash Drive Installer and 10.12 System Disk, respectively. Subsequently to the macOS clean install or update, one can implement during the post installation process all internal and external USB2.0 and USB3.0 connectors by following my kext creation guide lines outlined in Section E.4) of my Skylake-X/X299 macOS High Sierra 10.13 Desktop Guide.

I successfully verified this 100% working approach for all non ASUS Prime X299 Deluxe boarders.
5.) 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.
6.) 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.
7.) To avoid boot problems and for sleep/wake functionality (not verified yet), it is absolute mandatory to
have VoodooTSCSync.kext in the /EFI/CLOVER/kexts/10.12/ directory of both USB Flash Drive and System Disk.

Please note that the VoodooTSCSync.kext attached at the end of this originating post/guide is configured for a 6-core CPU (12 threads) like the i7-7800X. To adopt the kext for Skylake-X processers with more or less cores than 6 cores, apply the following approach:

a.) Download and unzip the VoodooTSCSync.kext attached at the end of this originating post/guide to your desktop.

b.) Right-click with the mouse on the VoodooTSCSync.kext file and select "Show Packet Contents".

c.) 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.
d.) Use the "find"-function of TextEdit.app and search for the term "IOCPUNumber"

e.) 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 6 core i7-7800X, the IOCPUNumber is 11 (12 threads - 1).

Code:
<key>IOCPUNumber</key>
<integer>11</integer>
By following this methodology, the correct IOCPUNumber for the 10-core i9-7900X would be (20 threads -1)

Code:
<key>IOCPUNumber</key>
<integer>19</integer>
and the IOCPUNumber for the 18-core i9-7980XE would result in (36 threads -1)
Code:
<key>IOCPUNumber</key>
<integer>19</integer>
f.) After adopting the IOCPUNumber for your particular Skylake-X processor, save the info.plist file and copy the modified
VoodooTSCSync.kext to the /EFI/CLOVER/kexts/10.12/ - directories of both USB Flash Drive Installer and System Disk (see D.1/4.e and D.2/4.d)!
8.) If you use a system drive, which has been previously formatted with APFS under macOS High Sierra 10.13, it seems to be
still impossible to format an APFS-disk with HFS+ by means of Apple's disk utility.

If you need to do format an APFS-disk with HFS+, use one of the following workarounds:

a.) Windows work around:

i.) Install UEFI Windows as described in E.5, 1.) to 5.). Download, install and run MiniTool Partition Wizard

ii.) Delete all partitions on your APSF-Disk. Else, leave the drive unformatted.

iii.) Back to OS X, format now the unformatted disk with HFS+ [(Mac OS Extended (Journaled)] and a GUID partition
table by means of Apple's Disk Utility and you are done!
The dual boot system with windows might be also helpful for some of the other preparatory error prevention steps mentioned above, if you do not have any Mac or older Hackintosh available.​
b.) OS X approach workaround:

In the Terminal app, type:

Code:
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.

Making a note of the disk identifier for the disk you intend to format (you can eliminate risk by removing all but the intended target). Subsequently, you can partition and format the entire disk as HFS+ by typing the following terminal command:

Code:
diskutil partitionDisk /dev/diskX 1 GPT jhfs+ "Sierra" R
where /dev/diskX is the disk identifier mentioned above and Sierra will 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. Thanks to @dwhitla for respective advices and implementations.
Important additional Note:

i.) Both approaches might be also useful in successfully formatting newly implemented factory pre-formatted NVME,
SSD or HDD drives, which cannot be directly formatted by means of Apple's disk utility.
ii.) By means of the second OS X 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;
When entering the disk util terminal command, there will be many virtual volumes in the output due to the installer having created temporary memory-resident disks. At the top of this output which you can read by scrolling back, you will see all internal disk(s) marked (internal).​

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 AppleIGB-kext.zip 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.​


D.) macOS 10.12 Sierra System Setup

Below, one finds a detailed description for the Clean Install of macOS Sierra 10.12 or subsequent updates of the latter operating System.


D.1) macOS Sierra 10.12 Clean Install on X299/Skylake-X

clean-install-10.12.png
I suggest to follow the individual steps below to successfully setup the latest version of macOS Sierra 10.12 on a virgin test drive of your choice (SSD or HDD).

1.) In order to perform a clean install of macOS Sierra 10.12, prepare a USB Flash Drive (source, named USB) and a SSD or
HDD destination drive of your macOS installation by formatting both drives 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 each drive.​

2.) Download the latest macOS Sierra 10.12 Full Installer Package from the Appstore.

3.) Once the Installer is in the Application-directory of your system disk, connect your USB Flash Drive (named USB) and run
the following terminal command:​

Code:
sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ Sierra.app --nointeraction

4.) Now perform the following steps detailed below.

a.) Copy the EFI directory being part of EFI-X299-10.12-Release-041017.zip (attached towards the bottom of this post) to
the empty EFI partitions of both your USB Flash Drive and your macOS Install destination drive (system disk). Remove the EmuVariableUefi-64.efi from the /EFI/CLOVER/drivers64UEFI/-directory of your USB Flash Drive Installer!

Important additional note for all newbies (implemented on user request):

The empty EFI-partitions can be mount by means of Clover Configurator!

Clover -Configurator.png


Just select the "Mount" menu (1.), mount any partition displayed by means of "Mount Partition" (2.) and subsequently open it's EFI-Folder with "Open Partition" (3.). The latter function opens an Apple File Manager, which allows to copy, paste, delete anything on/to or from the respective EFI Partition. Ones your manipulation of the respective EFI-Folder is finished, select "unMount Partition" (4). By means of the latter command, the EFI-Folder will be unmounted and disappear again. Don't forget that Clover Configurator is also a mighty tool for config.plist editing and configuration! We therefore will use it many times along this guide!
b.) In case that this EFI-folder once would not contain the most actual clover distribution (which presently is not the case)
download and install the latest clover distribution by verifying the proper Install-Location (again you have to do it twice for your USB Flash Drive and your system disk) and customizing (don't press "Install" but "Customize" before) the following clover install-options:​
  • Install for UEFI booting only
  • Install Clover in the ESP
  • Select the Bootloader Themes you want to install
  • Enable Install RC scripts on target volume
  • For the clover installation on your USB Flash Drive, check "CsmVideoDxe-64" under "Drivers64UEFI" (to comply with error prevention C.3.a.). For the clover installation on your system disk, check "CsmVideoDxe-64" and "EmuVariableUefi-64" under "Drivers64UEFI" (to comply with error convention C.3.b). Since Clover_v2.4k_r4233, also check "OsxAptioFixDrv-64" but uncheck all other EFI-driver options under "Drivers64UEFI" for the clover installation on both drives!
  • Select Install RC scripts on target volume
  • Select Install Clover Preference Pane
c.) Open the config.plist on your system disk with the latest version of the Clover Configurator, proceed to the
"SMBIOS" Section and complete the Serial Number, Board Serial Number and SMUUID entries as detailed below in order to successfully install and run macOS High Sierra 10.13 on your Skylake-X/X299 System, free of issues or limitations with respect to iMessage and Facetime Functionality. IMPORTANT NOTE: In order to successfully run XCPM with Pike Alpha's ssdtPRGen.sh and ssdt.aml, you have to maintain the iMac17,1 SMBIOS entries already implemented in the config.plist of the EFI-Folder attached below.
i.) Press several times the "Generate New" Button next to serial number text field. Copy the serial number and
perform the serial number check on http://www.everymac.com/ultimate-mac-lookup/ by following @P1LGRIM 's related instructions in "An iDiots's Guide To iMessage".
ii.) Also perform the serial number check on https://checkcoverage.apple.com by following
@P1LGRIM 's related instructions in "An iDiots's Guide To iMessage".

If all checks have been past successfully, proceed to point iii.) below.
iii.) Note that the latest versions of Clover Configurator already correctly implements the Board Serial Number in
parallel. Thus one can skip the related description in@P1LGRIM 's "An iDiots's Guide To iMessage".
iv.) 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.
Save the config.plist on your system disk.
d.) Transfer the correct Serial Number, Board Serial Number and SMUUID also to the config.plist of your USB Flash Drive.

e.) Copy the appropriate VoodooTSCSync.kext, which you modified by following error prevention C/7.) to the /EFI/CLOVER
/kexts/10.12/ directories of both USB Flash Drive and System Disk!​

Both drives are now ready for installation. Reboot your System.

5.) While rebooting, press the F8 button to enter the BIOS boot menu. Select to boot from your USB Flash Drive.

6.) Subsequently, click on the USB Flash Drive Icon in the clover boot menu to boot the respective macOS High Sierra Installer
on your USB Flash Drive.​

7.) After successful boot, pass the individual steps of the macOS Sierra 10.12 installation menu and finally select the
destination drive for your macOS Sierra 10.12 Installation, which should be logically the system disk you successfully configured above. In the next step, the Installer will create a Sierra 10.12 Installer Partition on the system disk and subsequently reboot your system.​

8.) 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 on Drive XXX" Icon onf the clover bopot screen to boot the newly created macOS High Sierra 10.13 Installer Partition on your destination drive.

9.) After successful boot, you will enter now the macOS Sierra 10.12 Installer Screen with a progress bar starting at something
like 18 minutes. This is normally also the moment when either error 3.) or 4a.) occurs if you did not properly follow my instructions for error prevention above. In any case, if everything goes fine and there is no error message, the installer will again reboot your System just after a few couple of minutes. Don't be scared, this just seems to be part of the correct overall installation procedure!

10.) During system reboot press again the F8 button to enter the BIOS boot menu. Select again to boot from your USB
Flash Drive. Click again on the "Install MacOS on Drive XXX" Icon on the clover boot screen to boot once more the macOS Sierra 10.12 Installer Partition on your system disk.
11.) After successful boot, you will enter once more the macOS Sierra 10.12 Installer Screen with the progress bar this
time starting at something like 30 to 40 minutes of remaining installation time. This time is actually really roughly also the time the subsequent installation will require. When approaching a remaining time of approx. 17 minutes for installation, the installer will once more reboot your System!

12.) Now the important final step of the macOS install procedure as commented already several times before! During the last
system reboot towards the end of the MacOS installation process, press again the F8 button to enter the BIOS boot menu. However, in the BIOS boot menu select this time to boot from your system disk, with the EFI-folder that also contains the EmuVariableUefi-64.efi file (this is fundamental for a the correct registration of your system in iCloud, as the final requisite of the entire macOS installation process) and subsequently select and boot the new macOS Sierra 10.12 Partition on your 10.12 system disk in the Clover Boot menu. By booting the final step of the macOS Sierra Clean Install process without the EmuVariableUefi-64.efi in the EFI-Folder (remember that we omitted on purpose this efi-file in the EFI-Folder of the USB Flash Drive Installer to fulfill error prevention 4.a), your "ROM" and "Board Serial Number" SMBIOS confidential would be erroneously transmitted to iCloud because of the SMBIOS iMac17,1 definition and the fact that you use a X299 board. In case of transmitting erroneous SMBIOS information, you will be able to register your System in iCloud, like nothing would have happened or failed.. However when subsequently trying to use "iMessage" or "Facetime" on your system drive, you will not be able to perform the once more requested registration with your correct Apple-ID and Password in order to successfully run the two latter Apple Services. As already indicated under error prevention 4b.), the latter issue only can be solved by signing out from iCloud, by previously unchecking in Apple's Photos Application under "Preferences" the options "iCloud Photo Library", "My Photo Stream" and "iCloud Photo Sharing", and by subsequently repeating all necessary steps detailed in @P1LGRIM 's "An iDiots's Guide To iMessage" by considering also my additional modifications and comments detailed under D.1/4.c) and D.1/4.d) above!

13.) After successfully completing the iCloud registration, you now successfully finished the macOS Sierra Clean Installation
Process on your X299 / Skylake-X System unless you want to still migrate data and programs from a system different from your current Skylake-X/X299 build.

14.) Continue with the Post Installation Process detailed in Section E.) below.


D.2) macOS Sierra 10.12 Upgrade on Skylake-X/X299

10.12-10.12.png

If you already previously successfully performed a macOS Sierra 10.12 Clean Install on your Skylake-X/X299 System and you want to upgrade your System to the latest version of macOS Sierra 10.12, follow all suggestions indicated below.

1.) Backup the EFI-Folders of both previous USB Flash Drive Installer and 10.12 System Disk. Also backup your 10.12 System
Disk itself, e.g. by cloning your current 10.12 System Disk by means of e.g. Carbon Copy Cloner (CCC).

2.) In order to perform the update of macOS Sierra 10.12, format your former USB Flash Drive (source, named USB) with
HFS+ [(Mac OS Extended (Journaled)] and a GUID partition table by means of Apple's Disk Utility.

3.) Download the actual macOS Sierra 10.12 installer. Once the Installer is in the Application-directory of your system
disk, connect your USB Flash Drive (named USB) and run the following terminal command:

Code:
sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ Sierra.app --nointeraction
4.) Now perform the following steps detailed below,

a.) Replace the former EFI-directories of both USB Flash Drive Installer and 10.12 System Disk with the EFI-directory being
part of EFI-X299-10.12-Release-041017.zip (attached towards the bottom of this post). Remove the EmuVariableUefi-64.efi from the /EFI/CLOVER/drivers64UEFI/-directory of your USB Flash Drive Installer to comply with error prevention C/4.a)!
b.) In case that this EFI-Folder once would not contain the most actual clover distribution (which presently is not the case),
download and install the latest clover distribution on both, your USB Flash Drive and 10.12 System Disk by verifying the proper clover install location and by customizing (don't press "Install" but "Customize" before) the following clover install options:
  • Install for UEFI booting only
  • Install Clover in the ESP
  • Select the Bootloader Themes you want to install
  • Enable Install RC scripts on target volume
  • For the clover installation on your USB Flash Drive, check "CsmVideoDxe-64" under "Drivers64UEFI" (to comply with error prevention C.3.a.). For the clover installation on your system disk, check "CsmVideoDxe-64" and "EmuVariableUefi-64" under "Drivers64UEFI" (to comply with error convention C.3.b). Since Clover_v2.4k_r4233, also check "OsxAptioFixDrv-64" but uncheck all other EFI-driver options under "Drivers64UEFI" for the clover installation on both drives!
  • Select Install RC scripts on target volume
  • Select Install Clover Preference Pane
c.) Open the config.plist on your USB Flash Drive and 10.12 System Disk, proceed to the "SMBIOS" Section and complete
the yet empty Serial Number, Board Serial Number and SMUUID entries with your particular personal values derived during the initial clean install of MacOS Sierra 10.12 detailed in D.1/4.c).
Save the config.plists on your USB Flash Drive and 10.12 System Disk.

d.) Copy the appropriate VoodooTSCSync.kext, which you modified by following error prevention C/7.) to the
/EFI/CLOVER/kexts/10.12/ directories of both USB Flash Drive and System Disk!
Both drives are now ready for the MacOS upgrade. Reboot your System.

5.) While booting, press the F8 button to enter the BIOS boot menu. Select to boot from your USB Flash Drive.

6.) Subsequently, click on the USB Flash Drive Icon in the clover boot menu to boot the respective macOS High Sierra Installer

on your USB Flash Drive.

7.) After successful boot, pass the individual steps of the macOS Sierra 10.12 installation menu and finally select the
destination drive of your macOS Sierra 10.12 Update, which should be logically your 10.12 System Disk. In the next step, the Installer will create a macOS Sierra 10.12 Installer Partition on your 10.12 System Disk and subsequently reboot your system.

8.) During system reboot, just press again the F8 button to enter the BIOS boot menu. Select again to boot from your
USBFlash Drive. In contrary to 6.), click this time on the "Install MacOS on Drive XXX" Icon on the clover boot screen to boot the newly created macOS Sierra 10.12 Installer Partition on your 10.12 System Disk.

9.) After successful boot, you will enter now the macOS Sierra 10.13 Installer Screen with a progress bar starting at 18
minutes. This is normally also the moment when either error C/3.) or C/4.a) occurs if you did not properly follow my instructions for error prevention in C/3.) and C/4.a) In any case, if everything goes fine and there is no error message, the installer will again reboot your System just after a few couple of minutes. Don't be scared, this just seems to be part of the correct overall installation procedure!
10.) During system reboot press again the F8 button to enter the BIOS boot menu. Select again to boot from your USB Flash
Drive. Click again on the "Install MacOS on Drive XXX" Icon on the clover boot screen to boot once more the macOS Sierra 10.12 Installer Partition on your 10.12 System Disk.
11.) After successful boot, you will enter once more the macOS Sierra 10.12 Installer Screen with the progress bar
starting now at about 41 minutes of remaining installation time. This time is actually really roughly also the time the subsequent installation will require. When approaching a remaining time of 17 minutes for installation, the installer will once more reboot your System!

12.) Now the important final step of the macOS update procedure as commented already several times before! During the last
system reboot towards the end of the MacOS update process, press again the F8 button to enter the BIOS boot menu. However, in the BIOS boot menu select this time to boot from your system disk, with the EFI-folder that also contains the EmuVariableUefi-64.efi file (this is fundamental for a the correct registration of your system in iCloud, as the final requisite of the entire macOS installation process) and subsequently select and boot the macOS Sierra 10.12 Partition on your 10.12 system disk in the Clover Boot Menu. By booting the final step of the macOS Sierra Upgrade process without the EmuVariableUefi-64.efi in the EFI-Folder (remember that we omitted on purpose this efi-file in the EFI-Folder of the USB Flash Drive Installer to fulfill error prevention 4.a), your "ROM" and "Board Serial Number" SMBIOS confidential would be erroneously transmitted to iCloud because of the SMBIOS iMac17,1 definition and the fact that you use a X299 board. In case of transmitting erroneous SMBIOS information, you will be able to register your System in iCloud, like nothing would have happened or failed.. However when subsequently trying to use "iMessage" or "Facetime" on your system drive, you will not be able to perform the once more requested registration with your correct Apple-ID and Password in order to successfully run the two latter Apple Services. As already indicated under error prevention 4b.), the latter issue only can be solved by signing out from iCloud, by previously unchecking in Apple's Photos Application under "Preferences" the options "iCloud Photo Library", "My Photo Stream" and "iCloud Photo Sharing", and by subsequently repeating all necessary steps detailed in @P1LGRIM 's "An iDiots's Guide To iMessage" by considering also my additional modifications and comments detailed under D.1/4.c) above!

13.) After successfully completing the iCloud registration, you now successfully finished the macOS Sierra Update Process
on your X299 / Skylake-X System.
14.) All Nvidia Graphics Cards Users will have to subsequently install the web driver complying with the latest macOS
Sierra 10.12 distribution.​


E.) Post Installation Process

post-installation.png


E1.) Xnu CPU Power Management (XCPM) Configuration

power-management.png

The EFI folder attached towards the end of this post, already contains a fully functional XCPM configuration for all Skylake-X processors! And the excellent news are that XCPM is performing nearly native on Skylake-X/X299 systems. One just has to perform one single step to successfully run XCPM on the freshly installed Skylake-X/x299 system. Remember the necessity of the correct BIOS settings for each board detailed at the beginning of this guide.

When inspecting the config.plist in the the EFI-folder of EFI-X299-10.12-Release-041017.zip with the Clover Configurator, there are just a view necessary patches to improve the overall XCPM performance or to properly display the Skylake-X properties in Apple's System Overview.

a.) The "Type" entry in the "CPU" section of the clover configurator​

CPU-Type.png

b.) The "FakeCPUID entry" in the Kernel and Kext Patches Section of the clover configurator.​

FakeCPUID-12.16.png

a.) and b.) are just cosmetic entries to correctly show the CPU properties in Apple's System Overview. Else these patches are not essential for the fully functional and stable X299 / Skylake-X System.​

c.) Note that the only two XCPM KernelToPatch entries not disabled in the "Kernel and Kext Patches Section of the Clover
Conifgurator" are xcpm_core_scope_msrs and xcpm_pkg_scope_msrs , which are not mandatory for XCPM functionality but definitely improve the all-over XCPM performance... All other KernelToPatch entries are already natively supported!​

XCPM-entries-10.12.png

How to finalize the Skylake-X/X299 XCPM configuration:

1.) Verify with the terminal command "sysctl machdep.xcpm.mode" if the XCPM mode is active. If so,
"sysctl machdep.xcpm.mode" should return "1".​

2.) Download the latest Piker-Alpha's ssdtPRGen.sh distribution from Github.

3.) Drop ssdtPRGen.sh into a terminal and add the -turbo flag in case of OC (e.g. 4200 (Mhz), in case the turbo stock speed of
your Skylake-X processor is 4400 MHz, like in case of the i9-7980XE.​

Code:
./ssdtPRGen.sh  -turbo 4200
Result:

Code:
ssdtPRGen.sh v0.9  Copyright (c) 2011-2012 by † RevoGirl
[INDENT][INDENT][INDENT]     v6.6  Copyright (c) 2013 by † Jeroe
     v21.5 Copyright (c) 2013-2017 by Pike R. Alpha[/INDENT][/INDENT][/INDENT]
-----------------------------------------------------------

Bugs > https://github.com/Piker-Alpha/ssdtPRGen.sh/issues <

System information: Mac OS X 10.12.6 (16G29)
Brandstring: "Intel(R) Core(TM) i9-7980XE CPU @ 2.60GHz"

Override value: (-turbo) maximum (turbo) frequency, now using: 4400 MHz!

Version: models.cfg v171 / Skylake.cfg v195

Generating ssdt.dsl for a 'iMac17,1' with board-id [Mac-B809C3757DA9BB8D]
Skylake Core i9-7980XE processor [0x50654] setup [0x0a05]
With a maximum TDP of 165 Watt, as specified by Intel
Number logical CPU's: 36 (Core Frequency: 2600 MHz)
Number of Turbo States: 18 (2700-4400 MHz)
Number of P-States: 37 (800-4400 MHz)
Injected C-States for CP00 (C1,C3,C6,C7,C8,C9,C10)
Injected C-States for CP01 (C1,C2,C3,C6,C7)
Warning: 'cpu-type' may be set improperly (0x0a05 instead of 0x0905)
[INDENT][INDENT]    - Clover users should read https://clover-wiki.zetam.org/Configuration/CPU#cpu_type[/INDENT][/INDENT]
Compiling: ssdt_pr.dsl
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20140926-64 [Nov  6 2014]
Copyright (c) 2000 - 2014 Intel Corporation

ASL Input:     /Users/kgp/Library/ssdtPRGen/ssdt.dsl - 729 lines, 20718 bytes, 240 keywords
AML Output:    /Users/kgp/Library/ssdtPRGen/ssdt.aml - 5700 bytes, 112 named objects, 128 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
Do you want to open ssdt.dsl (y/n)? n
4.) Copy the SSDT.aml from ~/Library/ssdtPRGen/ to the /EFI/CLOVER/ACPI/patched/ directory of your system disk and
reboot
5.) a.) Verify that in the ioRegistryExplorer you have now under CP00@0 the following entry:

Code:
Property:         Type:         Value:
plugin-type       Number        0x1
b.) Verify with the terminal command

Code:
kextstat|grep -y x86plat
that the "X86PlatformPlugin.kext" is now loaded. If the command returns something like

Code:
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>
your are fine.

c.) Verify with the terminal command

Code:
kextstat|grep -y appleintelcpu
that the Apple Intel CPU power management is not loaded. If the result is empty you are fine.

d.) Verify with the following terminal command:

Code:
sysctl -n machdep.xcpm.vectors_loaded_count
that the Frequency-Vectors for the iMac17,1 are loaded. If the result is "1" you are fine. Note that there is no necessity for the addition injection of a Frequency-Vector fin case of SMBIOS iMac17,1, as the related plist file already has the Frequency-Vectors defined.
6.) To deeply investigate your final XCPM functionality, download Piker Alpha’s AppleIntelInfo.kext from Github. To compile the
source code, you need to primarily install Xcode (Appstore) and Xcode Command Line Tools! This guideline might be helpful for the successfully installation of the latter.

Now enter the following terminal commands:

Code:
cd ~/Downloads/AppleIntelInfo-master
xcodebuild
cd build/Release
chmod -R 755 AppleIntelInfo.kext
sudo chown -R root:wheel AppleIntelInfo.kext
Load the AppleIntelInfo.kext with "kextload" and "cat" the info-results with the following terminal commands:

Code:
sudo kextload AppleIntelInfo.kext
Code:
sudo cat /tmp/AppleIntelInfo.dat
The cat command should reveal something like the following result:

Code:
AppleIntelInfo.kext v2.6 Copyright © 2012-2017 Pike R. Alpha. All rights reserved.
enableHWP................................: 0

Settings:
------------------------------------------
logMSRs..................................: 1
logIGPU..................................: 0
logCStates...............................: 1
logIPGStyle..............................: 1
InitialTSC...............................: 0x1eae01d2e134 (963 MHz)
MWAIT C-States...........................: 8224

Processor Brandstring....................: Intel(R) Core(TM) i7-7800X CPU @ 3.50GHz

Processor Signature..................... : 0x50654
------------------------------------------
- Family............................... : 6
- Stepping............................. : 4
- Model................................ : 0x55 (85)

Model Specific Registers (MSRs)
------------------------------------------

MSR_CORE_THREAD_COUNT............(0x35)  : 0x0
------------------------------------------
- Core Count........................... : 6
- Thread Count......................... : 12

MSR_PLATFORM_INFO................(0xCE)  : 0x70C2CF3012300
------------------------------------------
- Maximum Non-Turbo Ratio.............. : 0x23 (3500 MHz)
- Ratio Limit for Turbo Mode........... : 1 (programmable)
- TDP Limit for Turbo Mode............. : 1 (programmable)
- Low Power Mode Support............... : 0 (LMP not supported)
- Number of ConfigTDP Levels........... : 2 (additional TDP level(s) available)
- Maximum Efficiency Ratio............. : 12
- Minimum Operating Ratio.............. : 7

MSR_PMG_CST_CONFIG_CONTROL.......(0xE2)  : 0x403
------------------------------------------
- I/O MWAIT Redirection Enable......... : 1 (enabled, IO read of MSR(0xE4) mapped to MWAIT)
- CFG Lock............................. : 0 (MSR not locked)
- C3 State Auto Demotion............... : 0 (disabled/unsupported)
- C1 State Auto Demotion............... : 0 (disabled/unsupported)
- C3 State Undemotion.................. : 0 (disabled/unsupported)
- C1 State Undemotion.................. : 0 (disabled/unsupported)
- Package C-State Auto Demotion........ : 0 (disabled/unsupported)
- Package C-State Undemotion........... : 0 (disabled/unsupported)

MSR_PMG_IO_CAPTURE_BASE..........(0xE4)  : 0x11814
------------------------------------------
- LVL_2 Base Address................... : 0x1814
- C-state Range........................ : 1 (C6 is the max C-State to include)

IA32_MPERF.......................(0xE7)  : 0x33ABB963EAE
IA32_APERF.......................(0xE8)  : 0x3334D372818

MSR_FLEX_RATIO...................(0x194) : 0xE0000
------------------------------------------

MSR_IA32_PERF_STATUS.............(0x198) : 0x226D00002800
------------------------------------------
- Current Performance State Value...... : 0x2800 (4000 MHz)

MSR_IA32_PERF_CONTROL............(0x199) : 0x2800
------------------------------------------
- Target performance State Value....... : 0x2800 (4000 MHz)
- Intel Dynamic Acceleration........... : 0 (IDA engaged)

IA32_CLOCK_MODULATION............(0x19A) : 0x0

IA32_THERM_INTERRUPT.............(0x19B) : 0x0

IA32_THERM_STATUS................(0x19C) : 0x88460000
------------------------------------------
- Thermal Status....................... : 0
- Thermal Log.......................... : 0
- PROCHOT # or FORCEPR# event.......... : 0
- PROCHOT # or FORCEPR# log............ : 0
- Critical Temperature Status.......... : 0
- Critical Temperature log............. : 0
- Thermal Threshold #1 Status.......... : 0
- Thermal Threshold #1 log............. : 0
- Thermal Threshold #2 Status.......... : 0
- Thermal Threshold #2 log............. : 0
- Power Limitation Status.............. : 0
- Power Limitation log................. : 0
- Current Limit Status................. : 0
- Current Limit log.................... : 0
- Cross Domain Limit Status............ : 0
- Cross Domain Limit log............... : 0
- Digital Readout...................... : 70
- Resolution in Degrees Celsius........ : 1
- Reading Valid........................ : 1 (valid)

MSR_THERM2_CTL...................(0x19D) : 0x0

IA32_MISC_ENABLES................(0x1A0) : 0x850089
------------------------------------------
- Fast-Strings......................... : 1 (enabled)
- FOPCODE compatibility mode Enable.... : 0
- Automatic Thermal Control Circuit.... : 1 (enabled)
- Split-lock Disable................... : 0
- Performance Monitoring............... : 1 (available)
- Bus Lock On Cache Line Splits Disable : 0
- Hardware prefetch Disable............ : 0
- Processor Event Based Sampling....... : 0 (PEBS supported)
- GV1/2 legacy Enable.................. : 0
- Enhanced Intel SpeedStep Technology.. : 1 (enabled)
- MONITOR FSM.......................... : 1 (MONITOR/MWAIT supported)
- Adjacent sector prefetch Disable..... : 0
- CFG Lock............................. : 0 (MSR not locked)
- xTPR Message Disable................. : 1 (disabled)

MSR_TEMPERATURE_TARGET...........(0x1A2) : 0x640A00
------------------------------------------
- Turbo Attenuation Units.............. : 0
- Temperature Target................... : 100
- TCC Activation Offset................ : 0

MSR_MISC_PWR_MGMT................(0x1AA) : 0x401040
------------------------------------------
- EIST Hardware Coordination........... : 0 (hardware coordination enabled)
- Energy/Performance Bias support...... : 1
- Energy/Performance Bias.............. : 0 (disabled/MSR not visible to software)
- Thermal Interrupt Coordination Enable : 1 (thermal interrupt routed to all cores)

MSR_TURBO_RATIO_LIMIT............(0x1AD) : 0x2828282828282828
------------------------------------------
- Maximum Ratio Limit for C01.......... : 28 (4000 MHz)
- Maximum Ratio Limit for C02.......... : 28 (4000 MHz)
- Maximum Ratio Limit for C03.......... : 28 (4000 MHz)
- Maximum Ratio Limit for C04.......... : 28 (4000 MHz)
- Maximum Ratio Limit for C05.......... : 28 (4000 MHz)
- Maximum Ratio Limit for C06.......... : 28 (4000 MHz)

IA32_ENERGY_PERF_BIAS............(0x1B0) : 0x1
------------------------------------------
- Power Policy Preference...............: 1 (highest performance)

MSR_POWER_CTL....................(0x1FC) : 0x213C005B
------------------------------------------
- Bi-Directional Processor Hot..........: 1 (enabled)
- C1E Enable............................: 1 (enabled)

MSR_RAPL_POWER_UNIT..............(0x606) : 0xA0E03
------------------------------------------
- Power Units.......................... : 3 (1/8 Watt)
- Energy Status Units.................. : 14 (61 micro-Joules)
- Time Units .......................... : 10 (976.6 micro-Seconds)

MSR_PKG_POWER_LIMIT..............(0x610) : 0x43FFD0001AEA82
------------------------------------------
- Package Power Limit #1............... : 3408 Watt
- Enable Power Limit #1................ : 1 (enabled)
- Package Clamping Limitation #1....... : 0 (disabled)
- Time Window for Power Limit #1....... : 13 (20480 milli-Seconds)
- Package Power Limit #2............... : 4090 Watt
- Enable Power Limit #2................ : 1 (enabled)
- Package Clamping Limitation #2....... : 1 (allow going below OS-requested P/T state setting Time Window for Power Limit #2)
- Time Window for Power Limit #2....... : 33 (10 milli-Seconds)
- Lock................................. : 0 (MSR not locked)

MSR_PKG_ENERGY_STATUS............(0x611) : 0xE664AA71
------------------------------------------
- Total Energy Consumed................ : 235922 Joules (Watt = Joules / seconds)

MSR_CONFIG_TDP_NOMINAL...........(0x648) : 0x23
MSR_CONFIG_TDP_LEVEL1............(0x649) : 0xB40000001E0460
MSR_CONFIG_TDP_LEVEL2............(0x64a) : 0xB40000001E0460
MSR_CONFIG_TDP_CONTROL...........(0x64b) : 0x0
MSR_TURBO_ACTIVATION_RATIO.......(0x64c) : 0x0
MSR_PKGC3_IRTL...................(0x60a) : 0x0
MSR_PKGC6_IRTL...................(0x60b) : 0x0
MSR_PKG_C2_RESIDENCY.............(0x60d) : 0x4043E4940C6
MSR_PKG_C3_RESIDENCY.............(0x3f8) : 0x0
MSR_PKG_C2_RESIDENCY.............(0x60d) : 0x4043E4940C6
MSR_PKG_C6_RESIDENCY.............(0x3f9) : 0xCD5F78C41D5

IA32_TSC_DEADLINE................(0x6E0) : 0x1EAE05465E43

IA32_PM_ENABLE...................(0x770) : 0x0 (HWP Supported but not, yet, enabled)

CPU Ratio Info:
------------------------------------------
Base Clock Frequency (BLCK)............. : 100 MHz
Maximum Efficiency Ratio/Frequency.......: 12 (1200 MHz)
Maximum non-Turbo Ratio/Frequency........: 35 (3500 MHz)
Maximum Turbo Ratio/Frequency............: 40 (4000 MHz)
P-State ratio * 100 = Frequency in MHz
------------------------------------------
CPU P-States [ (12) 31 40 ]
CPU C6-Cores [ 0 2 4 7 9 10 ]
CPU P-States [ 12 31 (35) 40 ]
CPU C6-Cores [ 0 2 3 4 6 7 8 9 10 ]
CPU P-States [ (12) 17 31 35 40 ]
CPU C6-Cores [ 0 1 2 3 4 5 6 7 8 9 10 ]
CPU P-States [ (12) 17 22 31 35 40 ]
CPU P-States [ (12) 17 19 22 31 35 40 ]
CPU P-States [ (12) 17 19 22 23 31 35 40 ]
CPU P-States [ (12) 17 19 22 23 25 31 35 40 ]
CPU P-States [ 12 17 19 22 23 25 31 34 35 (40) ]
CPU P-States [ 12 17 19 22 23 25 31 32 34 35 (40) ]
CPU P-States [ (12) 16 17 19 22 23 25 31 32 34 35 40 ]
CPU P-States [ (12) 16 17 19 20 22 23 25 31 32 34 35 40 ]
CPU C6-Cores [ 0 1 2 3 4 5 6 7 8 9 10 11 ]
CPU P-States [ 12 16 17 19 20 22 23 25 29 31 32 34 (35) 40 ]
CPU P-States [ (12) 16 17 19 20 22 23 25 28 29 31 32 34 35 40 ]
CPU P-States [ (12) 16 17 19 20 21 22 23 25 28 29 31 32 34 35 40 ]
CPU P-States [ (12) 16 17 19 20 21 22 23 24 25 28 29 31 32 34 35 40 ]
CPU P-States [ 12 16 17 19 20 21 22 23 24 25 28 29 31 32 33 34 (35) 40 ]
CPU P-States [ (12) 15 16 17 19 20 21 22 23 24 25 28 29 31 32 33 34 35 40 ]
CPU P-States [ (12) 15 16 17 19 20 21 22 23 24 25 26 28 29 31 32 33 34 35 40 ]
CPU P-States [ (12) 14 15 16 17 19 20 21 22 23 24 25 26 28 29 31 32 33 34 35 40 ]
CPU P-States [ (12) 14 15 16 17 18 19 20 21 22 23 24 25 26 28 29 31 32 33 34 35 40 ]
CPU P-States [ 12 14 15 16 17 18 19 20 21 22 23 24 25 26 28 29 31 32 33 34 (35) 37 40 ]
CPU P-States [ 12 14 15 16 17 18 19 20 21 22 23 24 25 26 28 29 30 31 32 33 34 (35) 37 40 ]
CPU P-States [ (12) 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 40 ]
To unload the AppleIntelInfo.kext, enter the terminal command:

Code:
sudo kextunload AppleIntelInfo.kext
Disentangling Skylake-X XCPM performance differences on the ASUS X299 Prime Deluxe and the Gigabyte X299 Aorus Gaming 9 Mobos


Below I depict Intel Power Gadget (IPG) results, revealing the Skylake-X XCPM performance under macOS High Sierra 10.12.6, with the CPU employed on either the ASUS X299 Prime Deluxe or the Gigabyte X299 Aorus Gaming 9 mobo.

ASUS X299 Prime Deluxe:

xcpm-10.12.6-ASUS.png


One immediately realizes the extraordinary brilliant and extremely clean idle and max. load Skylake-X CPU performance in combination with the ASUS X299 Prime Deluxe mobo. This is not EIST and this is not PMDrvr.kext! This is excellent and native XCPM performance topping anything I have seen before.


Gigabyte X299 Aorus Gaming 9

XCPM-10.12.6-Gigabyte.png


Much noisier and distorted idle and max. load Skylake-X CPU performance in combination with the Gigabyte X299 Aorus Gaming 9! It seems that the "Sync All Cores" BIOS option so far exclusively implemented on ASUS mobos clearly makes it also this time! The significantly worse XCPM performance in combination with Gigabyte X299 Aorus Gaming 9 is not only reflected when comparing the two graphics above, but also leaves its fingerprints in the Benchmark Scores which are lower when using the latter board.


E.2) Graphics Configuration:

Graphics.png

My very simple Gigabyte Radeon RX 560 startup build configuration just requires two basic kexts, which are implemented in the /EFI/Clover/kexts/10.12/ directory of the EFI folder attached at the bottom of this post, i.e. namely the WhateverGreen and the Lilu kexts...

Please don't forget to edit the config.plist with Clover Configurator and check "Inject ATI" in the "Graphics" Section of the Clover Configurator, as it is not checked by default. Don't forget to save the modified config.plist.

Very bad news for at least all Nvidia Maxwell and Pascal Graphics Cards Users as already mentioned in Error Prevention 2.) above! On Skylake-X/X299 Systems, your Nvidia Maxwell and Pascal Graphics Cards are not properly supported neither by macOS 10.12.6 nor by the Nvidia 10.12.6 web driver. The lack of support by macOS 10.12.6 makes it impossible to follow the standard macOS 10.12.6 Clean Install or Upgrade Procedures outlined in Section D.)! Any boot intentions with the macOS 10.12.6 USB Flash Driver installer will end-up at gIOScreenlockstate 3, independent of the black screen prevention one might choose. On Skylake-X/X299 Systems, Nvidia Maxwell and Pascal Graphics Cards as well as the related web driver are simply not fully compatible with MacOS 10.12.6!

However, there are two possible workarounds:

1.) Use my Skylake-X/X299 macOS High Sierra 10.13 Desktop guide to directly install macOS High Sierra 10.13 on
your Skylake-X/X299 System.

2.) Setup your 10.12.6 Skylake-X/X299 System Disk on a System different from Skylake-X/X299! After the

macOS 10.12.6 Installation perform the AGDPFix.app Black Screen prevention and subsequently install the 10.12.6 Nvidia Web Driver. Before connecting the 10.12.6 System Disk to your Skylake-X/X299 System, adopt the EFI-Folder on the 10.12.6 System Disk for it's later use on your Skylake-X/X299 System by following the respective System Disk EfI-Folder related points in Error Prevention C.) and macOS Sierra 10.12 Clean Install in D.1). Now connect and boot your 10.12.6 Skylake-X/X299 System Disk to/on your Skylake-X/X299 System. You will be able to boot and operate 10.12.6 without further major issues or further additional actions. Your graphics card will be fully supported by the Nvidia 10.12.6 Web Driver (OpenGL and Metal Support), although the Nvidia Driver Manager will immediately crash on login.
To run macOS Sierra 10.12 on my Skylake-X/X299 system, I obviously successfully used Workaround 2 above. For successful benchmark results with my Gigabyte AORUS GTX 1080 Ti WaterFroce WB 11GB Extreme Edition and my Intel Skylake-X i9-7980XE see Section F.) "Benchmarking"


E.3) Audio Configuration:

audio.jpg

Concerning the audio configuration, I finally decided to go for the Voodoo Audio solution. All intents to successfully run the system Audio with the audio_CloverALC distribution of Toleda failed, despite his kind help and support during several days.

To properly install the Voodoo Audio distribution perform the following steps:

1.) Open the config.plist in the /EFI/CLOVER/ directory of your System Disk with the Clover Configurator and verify that in the
"ACPI" Section off the latter you have under "DSDT" and "Patches" the following entry:

Code:
Comment                         Find*[HEX]      Replace*[HEX]
Rename CAVS to HDEF      43415653        48444546

2.) Download, unzip the VoodooHDA.kext attached at the end of this originating post/guide 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

Code:
<key>IOPCIClassMatch</key>
<string>0x04020000&amp;0xfffe0000</string>
with

Code:
<key>IOPCIPrimaryMatch</key>
<string>0x43831002</string>
b.) Download, unzip and run the IORegistryExplorer.app.zip 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.

HDEF.png

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 attached below to ~/Library/PreferencePanes/

5.) Reboot

Now you have the following System Audio Implementation in Apple's System Report:

Voodoo-System-Audio.png


The Audio control Icon in the menu bar shows the following content:

Voodoo-Audio-1.png


and in System Preferences you have the Voodoo PreferencePane,

Voodoo-Audio-2.png

which looks like that:

Voodoo-Audio-3.png


In conclusion, you have now analogue and HDMI/DP digital Audio properly implemented and fully functional.


E.4) USB Configuration

USB.png

As mentioned already in the introduction, SMBIOS iMAC 17,1 is absolutely mandatory if one wants to use native Xnu CPU Power Management (XCPM) based on Pike Alpha's ssdtPRGen.sh and ssdt.aml for Skylake-X also under macOS Sierra 10.12.6. Although USB 2.0 is natively supported by macOS 10.12 Sierra, the latter SMBIOS definition imposes a dead end at the USB 3.0 side, as there are is no iMac 17,1 identity neither in IOUSBHostFamily.kext nor AppleUSBXHCIPCI.kext, which further implies the sudden dead of USBInjectAll.kext or any derivatives (e.g. X99_Injector USB 3.kext or, XHCI-200-series-injector.kext, etc.) on X299/Skylake-X.

However, there is very clever and sophisticated solution "kext as kext can or USB 3.0 without USBInjectAll.kext" originally developed by Brumbaer (see his extended guideline for all the tiny details) for the ASUS Strix Z270i Gaming that makes the miracle happen: Correct USB2.0 and USB 3.0 implementation and expected USB 2.0 and USB 3.0 speeds also with SMBIOS iMac17,1.

kextaskextcan.png


All ASUS Prime X299 Deluxe Users can directly use my XHC USB Kext KGP-ASUSPrimeX299Deluxe-USB.kext, already implemented in the distributed EFI Folder and separately attached at the end of this originating post/guide in both System Disk and USB Flash Drive EFIs!

For all different ASUS X299 mobos or X299 mobos of different brands one user will have to to developed once a new XHC USB Kext which considers the board-specific XHC USB configuration on the particular mainboard. For the board-specific XHC USB KEXT creation one just needs to follow my detailed guideline in Section E.4 of my Sylake-X/X299 macOS High Sierra 10.13 Desktop Guide, which also fully applies to macOS Sierra 10.12! Of course anybody is also free to directly follow Brumbear's originating extended guideline for the Strix Z270i Gaming, which however unfortunately is German only....

Don't be afraid! It is not that difficult as it looks like a t the beginning! I really do explain stepwise and in all detail by means of the already successfully implemented XHC USB Kext Creation Approach for the ASUS Prime X299 Deluxe, how one is able to derive with minimum effort a board-specific XHC USB kext not only for his particular X299 mobo but also for any other mainboard e.g. based on X99, etc.

All ASUS Prime X299 Deluxe Users lucky to be use my already successfully implemented XHC USB Kext can already perform their USB 2.0 and USB 3.0 Benchmarks. All Users of other ASUS X299 mobos or X299 mainboards of different brands will have to go through the XHC USB Kext Creation procedure as mentioned above. Note that the benchmark scores always will depend on the USB device used for the Benchmark!

For the ASUS Prime X299 Deluxe, the USB 2.0 and USB 3.0 benchmark results are summarized below.
Note that for performing the USB 2.0 and USB 3.0 benchmarks on the ASUS Prime X299 Deluxe, I used an external WD Elements 1TB USB 3.0 HDD. By the way, the KGP-ASUSPrimeX299Deluxe-USB.kext also perfectly works and reveals the identical comprehensive results under macOS High Sierra 10.13!


USB 2.0 and USB 3.0 Benchmark Results

Front-Port-USB 2.0.png

Front-Port-USB 3.0.png

Back-Port-USB 3.0.png

Back-Panel-USB 2.0-1.png

Back-Panel USB2.0-2.png


If everything behaves as expected you are done! All Users implementing new board-specific XHC USB Kexts for their particular mainboards different from the ASUS Prime X299 Deluxe are kindly asked to provide their fully functional XHC USB Kext to me and the community! Many thanks in advance!

USB 3.1 Type-A and Type-C Benchmark Results

Note that for the sake of completeness, I also benchmarked all Internal and External USB 3.1 Type-A and Type-C Connectors available on the ASUS Prime X299 Deluxe! Further note once more, that these connectors are not connect with or directly related to the ASUS Prime X299 Deluxe on-board XHC USB Controller and are apparently implemented on separate ports and controllers which are, given thecomprehensive benchmark results below, perfectly natively recognized and implemented in both OS X versions, macOS High Sierra 10.13 and macOS Sierra 10.12.6.

For the individual USB 3.1 Type-A and Type-C Connectors Benchmark, I used the external Lacie Rugged Thunderbolt / USB Type-A and Type-C HDD.

USB3.1 Type-A-Type-C.png



E.5) ASUS Prime X299 Deluxe Thunderbolt EX3 PCIe Add-On Implementation

ASUS_ThunderboltEX_3_Card__Schnittstellenkarte@@gzzar9.png


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!

How to achieve a fully working UEFI Windows Implementation and Dual boot System with Windows is extensively outlined in Section E.5) of my Sylake-X/X299 macOS High Sierra 10.13 Desktop Guide, followed by a detailed description of the subsequent installation and configuration of the ASUS Thunderbolt EX3 PCIe Add-On Adapter. The descried procedure is 100% applicable also under macOS 10.12.6 Sierra, as you can see and the benchmark result detailed below.

Thunderbolt Benchmark

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.

Thunderbolt EX3 PCIe _ Lacie.png



E.6) NVMe conifguration

evo.png


On macOS Sierra 10.12, there is not native support for NVMe... Thus, without a sophisticated patching, NVMe's are not recognized by the system.

Note that EFI-X299-10.12-Release-041017.zip attached below already contains a workaround for successful NVMe implementation under macOS Sierra 10.12.6 on both the ASUS X299 Prime Deluxe and Gigabyte X299 Aorus Gaming 9 mobos.

The workaround basically consists of the HackrNVMeFamily-10_12_6.kext in the /EFI/Clover/kexts/10.12/ directory and the nvme_patch.aml in the /EFI/Clover/ACPI/patched/ directory.

For all users of mainboards different from the ASUS X299 Prime Deluxe and Gigabyte X299 Aorus Gaming 9, I provide below a detailed description how to achieve a successful implementation of any NVMe Drive under macOS Sierra 10.12.6, in case the already implemented workaround does not work on their particular mainbaord. The workaround description is based on the ASUS Prime X299 Deluxe, the Samsung 1 TB EVO 960 NVMe and macOS Sierra 10.12.6 but should be applicable to any different mainbaord and NVMe configuration.

Requisites:

a.) MacOS Sierra 10.12.6 already successfully installed and operative on a regular SSD or HDD

b.) Original native vanilla IONVMeFamily.kext file in the S/L/E directory of your SSD or HDD System Disk.

c.) @RehabMan 's latest github patch nvme distirbution: https://github.com/RehabMan/patch-nvme

1.) Open a terminal and enter the following terminal command:

Code:
mkdir ~/Projects && cd Projects
git clone https://github.com/RehabMan/patch-nvme.git patch-nvme.git
cd patch-nvme.git
2.) Run the patch_nvme.sh with the --spoof parameter and the actual system version as additional parameter (Sierra 10.12.6)

Below one finds the corresponding terminal command:​

Code:
./patch_nvme.sh --spoof 10_12_6

3.) Copy the just created "HackrNVMeFamily-10_12_6.kext" to the /EFI/CLOVER/kexts/10.12 directory of your System Disk.
Note that in any case "HackrNVMeFamily-10_12_6.kext" is already implemented in the EFI-Folder attached and distributed at the ens of this originating post/guide)​

4.) For the next step you have to figure out the the internal NVMe address of your M.2. To do so, you have too possibilities.

a.) By means of Windows on your Dual-Boot configuration or linux as described in Rehabman's guide.

b.) To also install macOS High Sierra 10.13 on your system (separate test drive) by means of my
Sylake-X/X299 macOS High Sierra 10.13 Desktop Guide. In the latter case, you subsequently have to download and run the IORegistryExplorer.app attached at the end of this originating post/guide on your 10.13 test drive.

If you enter in the search field of the IORegistryExplorer "nvme" as indicated in the Figure below, you derive the exact NVMe patch information on your Skylake-X/X299 System and by this also all necessary parameters (indicated as v.1, v.2 and v.3 and marked by red rectangles in the figure below) to successfully edit the script depicted in 4c.) blow. As you can see, the EVO 960 on the ASUS Prime X299 Deluxe or Gigabyte AORUS X299 Gaming 9 shows up under PC00@0 > RP09@1D > PXSX@0. The path of your NVMe and your particular mainboard different from the two primer mainbaords might be also different. Therefore, compare and if necessary write down parameters v.1, v.2 and v.3!

NVMe-External-Patch.png

c.) Download, unzip and open the nvme-patch.aml script (attached below) with the MaciALS.app (also attached below).

Now edit the script by replacing the v1, v.2, v.3 values for the ASUS Prime X299 Deluxe or Gigabyte AORUS X299 Gaming 9 with the v1, v.2, v.3 values you derived in 4.) for your particular mainboard.

nvme-patch.aml.png


Now save and copy the nvme_patch.aml to the /EFI/Clover/ACPI/ directory of your system disk and reboot!
You are done! You now should have your NVMe Drive successfully recognized by and implemented in your Skylake-X/X299 macOS Sierra 10.2.6 System!
Disk-Utility.png


System-Report-NVMe.png



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.12-Release-041017.zip attached towards the end of this guide, contains an SSD "TRIM Enabler" KextsToPatch entry, which can be found in the " Kernel and Kext Patches" Section of the Clover Configurator.

Trim-Support.png


Code:
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.

SSD-TRIM-2.png



NVMe and SSD Benchmark

For the sake of completeness please find below the Benchmark of connected NVMe and SDD Drives

diskspeed.png



E.8) ASUS Prime X299 Deluxe on-board Ethernet-Functionality

ehternet-png.276091.png


Thanks to an additional kext provided by apfelnico, 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..

Just download , unzip and copy the AppleIGB-kext attached below to the /EFI/Clover/kexts/10.12/, reboot and you should be done.


F.) Benchmarking

F.1) Sylake-X Intel I9-7980XE CPU Benchmarking

i9.png


i9.png

XCPM-10.12.6.png


Geekbench-4.1.3-10.12.6-2.png


Geekbench-4.1.3.-10.12.6-1.png


Geekbench-4.1.3-10.12.6.png


Cinebench-10.12.6.png



Gigabyte AORUS GTX 1080 Ti Waterforce EB 11GB Extreme Edition Benchmarking

GTX1080.png

GTX1080Ti-Geekench-4.1.3-10.12.6-X299.png


GTX1080Ti-Luxmark-10.12.6-X299.png


GTX1080Ti-Unigine-Heaven-10.12.6-X299.png


G.) Summary and Conclusion:

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.5 GHz will make make X299 to a "relatively cheap" but really serious alternative to the yet to be released 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 my innovative Customac-Pro 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. Anybody interested can find more details on my personal webpage.


avatar4.png
 

Attachments

Last edited:

trs96

Moderator
Joined
Jul 31, 2012
Messages
12,897
Motherboard
GA-Z97X-UD3H-BK
CPU
i5-4690K
Graphics
HD4600 / RX 570
Mac
iMac, Mac mini
Mobile Phone
Android
Are you switching to the AMD Radeon Vega Frontier edition for this build or will you keep the 1080 Ti graphics and 10.12.6 ?
An AMD RX 560 won't be up to the task for the work you do. The Gigabyte Aorus Gaming Nine looks like a good choice. :thumbup:
 
Last edited:

kgp

Retired
Joined
May 30, 2014
Messages
6,902
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
Are you switching to the AMD Radeon Vega Frontier edition for this build or will you keep the 1080 Ti graphics and 10.12.6 ?
An AMD RX 560 won't be up to the task for the work you do. The Gigabyte Aorus Gaming Nine looks like a good choice. :thumbup:
The RX 560 is just for the startup system :lol: The same states by the way also for the i7-7800X (6 cores) and the just 64 GB of DDR-4 :lol: ... it is basically for saving money at present but at the same time implementing Skylake-X/X299 on 10.12.6 and 10.13 :idea:

The final build will be a Skylake-X i9-7980XE (18 cores), 128 GB DDR-4 and a Gigabyte Aorus GTX 1080 TI Extreme Edition ;)
 
Last edited:

kgp

Retired
Joined
May 30, 2014
Messages
6,902
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
Update - First version of my Skylake-X/X299 macOS Sierra 10.12 and macOS High Sierra 10.13 Desktop Guides finished an released

Enjoy! Happy to receive your feedback and suggestions!
avatar4.png
 
Joined
Jun 28, 2017
Messages
2
Great Guide!I have the same mobo and the cpu is i7 7820x,May I ask is the Asus thunderbolt ex3 card works?the system report shows "no drivers are loaded".
Thanks
 

kgp

Retired
Joined
May 30, 2014
Messages
6,902
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
Great Guide!I have the same mobo and the cpu is i7 7820x,May I ask is the Asus thunderbolt ex3 card works?the system report shows "no drivers are loaded".
Thanks
You need the do the installation without the thunderbolt ex3 card! Otherwise the rig will not boot. For the subsequent installation of the thunderbolt ex3 PCIe adapter, please see my X99 Sierra Desktop Guide and report back if it works.. You need a dual boot system with windows to make to make it work.. Did not try it yet, as I do not have windows on my X299 Rig for now.

Cheers,

KGP :thumbup:
 
Last edited:
Joined
Jun 28, 2017
Messages
2
You need the do the installation without the thunderbolt ex3 card! Otherwise the rig will not boot. For the subsequent installation of the thunderbolt ex3 PCIe adapter, please see my X99 Sierra Desktop Guide and report back if it works.. You need a dual boot system with windows to make to make it work.. Did not try it yet, as I do not have windows on my X299 Rig for now.

Cheers,

KGP :thumbup:

Thanks for the quick reply!yeah I have dual boot system, I have seen your X99 Sierra Desktop Guide and I installed TB driver in Windows10,the thunderbolt ex3 cards works well. But it dosen't work in MacOS Sierra. Maybe something wrong with the bios setup? There are some differences in the thunderbolt configuration between the Asus Prime X99 and X299.
 

kgp

Retired
Joined
May 30, 2014
Messages
6,902
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
Thanks for the quick reply!yeah I have dual boot system, I have seen your X99 Sierra Desktop Guide and I installed TB driver in Windows10,the thunderbolt ex3 cards works well. But it dosen't work in MacOS Sierra. Maybe something wrong with the bios setup? There are some differences in the thunderbolt configuration between the Asus Prime X99 and X299.
I refer to the the essential posts related to the thunderbolt ex3 card at the beginning of my X99 macOS 10.12 Sierra Desktop Guide. Please try to follow those advices! The thunderbolt ex3 card works fine on macOS Sierra 10.12! As I said, I did not use the
thunderbolt ex3 card yet on my X299 system...

Cheers,

KGP
 
Last edited:
Joined
May 31, 2016
Messages
536
Motherboard
Z170X-UD5 TH
CPU
6700K
Graphics
GTX1080 (Asus ROG Strix)
Mac
iMac, MacBook, MacBook Pro, Mac mini
Classic Mac
PowerBook, Quadra
Mobile Phone
iOS
FWIW I have a TB3 setup (Z170) and it always shows "No Drivers Loaded" even when TB peripherals are plugged in and working, so don't use that as an indicator of functionality. Also, you generally have to have the TB peripherals connected on boot (hot swap doesn't seem to work in my case)
 

PNZ

Joined
Aug 18, 2017
Messages
3
Hi, I sign up to this forum, which is for me the door into a new world, only to thanks @kgp for this thread!
I am spending last weeks understanding how to configure a dream rig, and your Goal System Configuration matches my desire pretty much (i9-7980xe especially)! :headbang:
If I can, only a few questions:

  1. What do you think about adding one more GTX 1080 TI? Will OSX manage the SLI Bridge?
  2. I laid my eyes on the MSI X299 XPower Gaming AC. Do you think that would be a useless effort since the ASUS tested gives such excellent performance (btw with the MSI I would not know where to start)?
  3. Is it too arduous to imagine a liquid cooling system? In that case, you can consider the AORUS GeForce® GTX 1080 Ti Waterforce WB Xtreme Edition 11G (or there is the All-in-one Cooling System version)
  4. Just a curiosity, that pairs to the last question: in which computer case are you storing all these dreams? :angel:
Thank you very much for sharing all your competencies! :thumbup:
 
Status
Not open for further replies.
Top