Contribute
Register

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

Status
Not open for further replies.
Hey guys, I am running 13.1 at the moment on a gigabyte x99-UD4 with a 5820K processor. My main issue is sleep/wake doesn't work and my CPU runs at a constant 50W.

I am not advanced at all and not sure how to follow/implement the steps given on this thread because of the different board and processor.

Any help or insight would be highly appreciated. I have attached my EFI folder and ssdt file I am currently using.

Thank you in advance
 

Attachments

  • EFI.zip
    28 MB · Views: 95
  • ssdt.aml.zip
    1.4 KB · Views: 74
hi,I read your topic about "E.9.2.4) - GLAN - onboard LAN Controller PCI Implementation" , but I met some problem, it is about the pic slot,it is still "pci slot 16", not "built in", but other information is correct, eg:card, type etc,pls see the following the pictures.This problem took me a lot of time,pls me.Thanks in advance!

1.
38863838912_8a63568577_b.jpg


2.
38863690312_6376b70540_b.jpg


3.
38863840142_b4193276e8_b.jpg

Up and successfully running Broadwell-E/X99 with macOS High Sierra 10.13.1!

View attachment 291442

This X99 macOS High Sierra 10.13 desktop guide is the logical continuation of my macOS Sierra 10.12 guide and build: The Perfect Customac-Pro: X99-A II, i7-6950X, 128GB G.Skill TridentZ, Aorus GTX TI Xtreme (hereafter, Sierra Desktop Guide). At the same time, it will be my last guide based on X99 Systems with. Note that I just recently released already first Skylake-X/X299 Desktop Guides for both macOS Sierra 10.12 and macOS High Sierra 10.13, now available on Tonymacx: Skylake-X/X299 - Live the future now on macOS Sierra 10.12 [Successful Build/Extended Guide] and Skylake-X/X299 - Live the future now on macOS High Sierra 10.13 [Successful Build/Extended Guide].

This guide might still marginally grow in the future thanks to your estimated and appreciated user feedback. However, it is nice to see that my X99 system behaves absolutely stable and is fully functional, including native Handoff and Airdrop and even forced Sleep/Wake functionality. Many thanks to @DSM2 for his collaboration and important contribution to the initial X99 10.13 system setup. Already with the final release of macOS High Sierra 10.13, Nvidia also officially released a 10.13 Web Driver Package, which now work absolutely flawless and fully support OpenGL and Metal.

Let me first briefly summarize once more my actual build, which constitutes the base for this macOS High Sierra Desktop Guide. Note however that like in case of 10.12 macOS Sierra, there should be compatibility of my guide with all Broadwell-E/EP and Haswell-E processors and most X99 mobos (ASUS, GYGABYTE, ASRock, MSI etc.). During the last weeks I received even success feedback of users with Broadwell-EP/Haswell-EP processers with up to 22 cores (44 threads) at clock speeds around 2.8 Ghz each thread, making X99 to a "realtively cheap" and serious alternative to the yet to be released iMac Pro. In detail, success with my 10.13 Desktop Guide has been reported for the ASUS X99 Deluxe II by users @Obecny (i7-6900K), @GDS (E5-2696V4), @wayne2401 (i7-6900K), @duckgrossberg (i7-6950X) and @Whydotheneedthis (i7-6850K), the Asus X99 Sabertooth by user @Pears (i7-6950X) and once more for the Asus X99-A II by user @dragoonchang (E5-2696V3). Further user feedback for other mobo and CPU configurations as well as suggestions for further improvements and modifications are highly welcome and will be considered and implemented if adequate and applicable.


A.) Hardware Summary


Motherboard:
Asus X99-A II
CPU: I7-6950X(10-core)
RAM: 128GB KIT (8x16GB) G.Skill TridentZ (F4-3200C14Q2-128GTZSW)
System Disk: Samsung 850 EVO 1TB (SSD) / Samsung 960 EVO 1TB (NVMe, M.2)
RAID: 3x Western Digital Red Pro 6TB (18TB);
Graphics: Gigabyte AORUS GeForce® GTX 1080 Ti Xtreme Edition 11G (GV-N108TAORUS X-11GD)
Wifi + Bluetooth:
OSXWIFI PC/Hackintosh - Apple Broadcom Bcm94360cd - 802.11 A/B/G/N/AC + Bluetooth 4.0 PCIe
Power Supply: Corsair AX860
CPU Cooler: Corsair H80i v2
Webcam: Logitech HD Pro Webcam C930
Monitor: LG 38UC99-W, 38", WQHD, 21:9, 3840x1600 pixel, 75 Hz.
Case: Corsair CC600TWM-WHT, Graphite Series 600T, Mid Tower
Keyboard: Logitech K811
Mouse: Logitech Ultra-Thin Touch Mouse T631
Blu-Ray/DVD Writer: LG Super Multi Blue BH16 (BH16NS55)

View attachment 266398

For further details see my Sierra Desktop Guide.


B.) ASUS Mainboard BIOS Patching

On a real mac with native OSX/MacOS power management, the MSR 0xE2 register is unlocked and therefore writeable. On ASUS mobos this register is read only. When the kernel tries to write to this locked register, it causes panic. This panic can happen so early in the process that it results in a reboot. With dedicated software, one is able to patch the BIOS for ASUS mobos and unlock the MSR 0xE2 register. The patched BIOS finally can be uploaded to the ASUS mobo by means of the ASUS BIOS Flashback Utility. The individual steps are detailed in my Sierra Desktop Guide. Note however, that also the actual macOS High Sierra 10.13 desktop guide implements methods to circumvent the MSR 0xE2 register write, thus the BIOS patching is strongly recommended but not deemed necessary. Also note that the MSR 0xE2 register lock does not relate to Gigabyte, ASRock or MSI mobos. Users with the latter board configuration can simply ignore this section of my guide.


B.1) macOS High Sierra 10.13 BIOS Settings
The BIOS settings for macOS High Sierra 10.13 are identical with the BIOS settings for macOS Sierra 10.12 and can be directly retrieved from my Sierra Desktop Guide but are also summarized here below for the sake of simplicity.

To overclock your RAM memory in concordance with your RAM specifications, enable the EZ XMP Switch on your ASUS Mainboard and enable posteriorly XMP in the Standard ASUS BIOS Setup mode (F7). Subsequently switch from standard to advanced ASUS BIOS Setup mode by pressing again F7.

View attachment 266935

Press F7 and subsequently F10 key to change to "Standard Mode", Save and Reboot

Important Note:

"ASUS MultiCore Enhancement": When set to "Auto", MCE allows you to maximise the overclocking performance optimised by the ASUS core ratio settings. When disabled, MCE allows to set to default core ratio settings.

"Sync All Cores": Tremendous increase in CPU performance can be achieved with the CPU Core Ratio set to "Sync All Cores". In case of my i9-7980XE, 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 "5". 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! The boot flag "dart=0" is now implemented by default in config.plist of the EFI-Folder contained in EFI-X99-10.13.1-Release-051217.zip in line with the boot flag implementation "slide=0".

Above 4G Decoding Note: I always assumed that the latter BIOS functionality would be mandatory for successfully operating the ThunderboltEX 3 PCie adaptor. This is definitely not the case. Thus in contrary to the BIOS Settings Table above I now rather recommend to DISABLE the latter BIOS functionality (Above 4G Decoding: off), as it also seems to affect the system sleep/wake functionality when enabled.


C.) Important General Note/Advice and Error Prevention
Please note the following important General Note / Advice and Error Prevention, when setting up your X99 System by implementing the latest macOS High Sierra 10.13 distribution.

Before entering the detailed description of the individual System Upgrade Options from previous versions of macOS High Sierra 10.13 or the Clean Install of macOS High Sierra 10.13.1, please note the following error prevention.
1.) Against all my previous suspicions, that the dead end in the macOS USB FLASH Drive Installer boot process

View attachment 273264

was XHC USB related, I discovered to my big big surprise that the source of the latter issue was exclusively Bluetooth related! I can now fully confirm, that the macOS USB Flash Drive Installer can be plugged in to any XHC USB2.0 and USB3.0 or separate USB3.1 ports available (100% verified) with X99_Injector USB 3.kext in /EFI/CLOVER/kexts/Other/. There is absolutely no need to substitute the X99_Injector USB 3.kext by an optional XHC USB Kext as previously supposed, in order to successfully boot the macOS USB Flash Drive Installer! The macOS USB Flash Drive Installer now boots from any XHC USB2.0 and USB3.0 or separate USB3.1 ports available!
Error prevention 1.) is herewith obsolete.

2.) This error prevention also seems already obsolete. During former macOS 10.13 clean install/upgrade attempts one
received the following firmware verification error notification in case of connecting additional windows drives to the System:​

View attachment 273237

It was therefore mandatory to unplug any Windows NVMe, SSD or HDD drives connected in case of a dual boot configuration...
3.) In the EFI-folder of EFI-X99-10.13.1-Release-051217.zip (attached at the end of this originating post/guide),
the EmuVariableUefi-64.efi in the /EFI/CLOVER/drivers64UEFI/-directory is on purpose avoided.

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

View attachment 273271

Thus, please remove the EmuVariableUefi-64.efi from the /EFI/CLOVER/drivers64UEFI/-directory of your USB Flash Drive Installer if present!
b.) For compatibility of Skylake-X/X299 Systems with Pike Alpha's ssdtPRGen.sh and ssdt.aml approach for Xnu CPU
Power Management (XCPM), latter systems require a iMac17,1 SMBIOS definition. This further requires the implementation of EmuVariableUefi-64.efi in the EFI-Folder of the System Disk, as the final boot process at the end of the MacOS Installation/Update Process has to be performed with the EFI-Folder on the System Disk, which also contains EmuVariableUefi-64.efi for the subsequent successful registration of your System in iCloud, as the final requisite of the macOS installation/update procedure. For the correct transmission of your SMBIOS credentials, like Serial Number, UUID, ROM and Board Serial Number, etc., EmuVariableUefi-64.efi is absolutely mandatory for X299/Skylake System with a iMac17,1 SMBIOS definition. However, on X99 Systems with MacPro6,1 SMBIOS definition, the SMBIOS credentials are also successfully transmitted without EmuVariableUefi-64.efi. Thus in case of X99 Systems with MacPro6,1 SMBIOS definition, one can perform the entire macOS installation/upgrade also without EmuVariableUefi-64.efi in the EFI-Folder of the System Disk.​

4.) In contrary to previous advises, 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-X99-10.13.1-Release-051217.zip, all MatchOS assignments have been definitely removed.
5.) Note that non ASUS mobo owners might have to check the "KernelPm" entry in the "Kernel and Kext Patches" Section
of the Clove Configurator to successfully boot the 10.13 MacOS USB Flash Drive Installer or 10.13 System Disk! However, this entry is currently unchecked in the config.plist of the EFI-Folder contained in EFI-X99-10.13.1-Release-051217.zip for all ASUS boarders.


6.) Always check that you have the actual apfs.efi in the /EFI/CLOVER/drivers64UEFI/ - directory of your USB Flash Drive
Installer and System Disk (D.1/5.4 and D.2/4.d)!

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 to Custom
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.) If necessary [usually the /EFI/CLOVER/drivers64UEFI/-directory of the EFI-Folder contained in
EFI-X99-10.13.1-Release-051217.zip already contains the most actual apfs.efi version], copy the actual apfs.efi to the /EFI/CLOVER/drivers64UEFI/-directories of your USB Flash Drive Installer and System Disk (see D.1/5.4 and D.2/4.d)!
7.) To avoid boot problems and for sleep/wake functionality, it is absolute mandatory to have VoodooTSCSync.kext in the
/EFI/CLOVER/kexts/Other/ directory of both USB Flash Drive and System Disk.

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

a.) Download and unzip the VoodooTSCSync.kext.zip 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 10 core i7-6950X, the IOCPUNumber is 19 (20 threads - 1).

Code:
<key>IOCPUNumber</key>
<integer>19</integer>

By following this methodology, the correct IOCPUNumber for the 8-core i7-6900K would be (16 threads -1)

Code:
<key>IOCPUNumber</key>
<integer>15</integer>

and the IOCPUNumber for the 6-core i7-6800K would result in (12 threads -1)

Code:
<key>IOCPUNumber</key>
<integer>11</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/Other/ - directories of both USB Flash Drive Installer and System Disk (see D.1/5.5 and D.2/4.e)!
8.) Already during the last 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 the actual macOS High Sierra 10.13.1 distribution this is the case. Most APSF incompatibilities with available system related software apparently have been already removed. The actual version of Carbon Copy Cloner (CCC) now supports the direct cloning of APFS system disks and hereby enables 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. However, with the most actual Clover Boot-Loader Distributions, the Clover Boot-Loader Installation works absolutely flawless on APFS System Disks.
Note however, that currently 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.) in my Skylake-X/X299 macOS High Sierra 10.13 Desktop Guide.
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+ "High Sierra" R

where /dev/diskX is the disk identifier mentioned above and High 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;

Note however, that the previously unformatted system disk must contain the appropriate EFI-Folder in it's EFI partition for a successful macOS installation! In the final step of the macOS installation, you have to boot your system disk with the EFI-Folder of the latter! Thus, it is recommended to format and properly setup the system disk before and not during the macOS Installation!​

iii.) 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:

Code:
diskutil apfs convert /dev/diskX

9.) a.) All ATI Graphics Cards Users with typical rudimentary and basic Starter ATI Graphics Cards like the 2GB ATI Radeon
RX 560 should use WhateverGreen.kext v1.1.3 and Lilu.kext v1.2.1. 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 High Sierra 10.13, are advised to use an adequate kext configuration (if necessary at all) and modified conifg.plist configuration for their specific and particular ATI graphics card.
b.) All Nvidia Graphics Cards Users can now employ officially distributed Nvidia 10.13 Web Drivers for their Nvidia
Pascal and Maxwell graphics cards since the Final Release of macOS High Sierra 10.13! Nvidia Kepler Cards were anyway already natively implemented in the earlier beta distributions of macOS 10.13. It is obvious, that in consequence, the Web Driver Workaround based on the 10.12.6 Web Driver, used during the beta testing, is obsolete.​

If you still use the 10.13 web driver workaround, perform all steps indicated below to uninstall the patched 10.12.6 NVIDIA Web Driver and the NVIDIA Web Driver Manager primer to the MacOS High Sierra Update!!!!

i.) Open the NVIDIA Driver Manager in the menu bar item.

ii.) Click on the padlock icon and enter your Administrator password.

iii.) Click the Open Uninstaller button.

iv.) Click Uninstall and continue with the de-installation. Reboot your system as indicated

v.) Install the native vanilla macOS High Sierra 10.13 AppleGraphicsControl.kext with the appropriate permission in
/S/L/E/ by means of Kext Utility.
If you currently use a former officially distributed Nvidia 10.13 web driver, perform all steps indicated below to uninstall this NVIDIA Web Driver and it's NVIDIA Web Driver Manager primer to the MacOS High Sierra Update!!!

To do so, just perform steps a.) to d.) above primer to the MacOS Update!​
If you do not remove the former Nvidia Web Drivers primer to the MacOS Update, your System will be unbootable after the MacOS Update!!!

For further details and error prevention see Section E.1).


D.1) macOS High Sierra 10.13 Clean Install


I suggest to follow the individual steps below to successfully setup the latest version of macOS High Sierra 10.13 on a virgin test drive of your choice (NVMe or SSD or HDD).

1.) In order to perform a clean install of macOS High Sierra 10.13, prepare a USB Flash Drive (source, named USB) and a
NVMe or SDD or HDD destination drive fo 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 macOS High Sierra 10.13 full package installer from the Mac App Store.

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\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --nointeraction

4.) Download and unzip EFI-X99-10.13.1-Release-051217.zip (attached at the end of this originating post/guide)

5.) Edit the config.plist of the EFI folder contained in EFI-X99-10.13.1-Release-051217.zip with the latest version of the
Clover Configurator

5.1) Depending on your system configuration (Broadwell-E/EP or Haswell-E/EP) change or adopt the following settings if necessary:

a.) CPU "TYPE" in the "CPU" Section (obsolete with properly configured XCPM):

  • Broadwell-E/EP CPU Type: "0x0a02"
  • Haswell-E/EP CPU Type: "0x0a01" (thanks to @nmano for his valuable feedback)
b.) "FakeCPUID" in the "Kernel and Kext Patches" Section (obsolete with properly configured XCPM):

  • Broadwell-E/EP FakeCPUID: "0x040674" (thanks to @GDS for his valuable feedback based on his XEON e5-2696v4)
  • Haswell-E/EP standard FakeCPUID: "0x0306F2" (thanks to @nmano and @dragoonchang for their valuable feedback)
c.) "KernelToPatch" entries in the "Kernel and Kext Patches" Section:

  • Broadwell-E/EP "xcpm_cpuid_set_info" and "xcpm_bootstrap":
Code:
Find:                            Replace:                           Comment:                                    MatchOS:
723cd077 500fb6c0                6a3cd077 500fb6c0                  xcpm_cpuid_set_info © Pike R. Alpha         10.13.x
89d804c4 3c227722                89d804c3 3c227722                  xcpm_bootstrap © Pike R. Alpha              10.13.x
  • Haswell-E/EP "xcpm_cpuid_set_info" and "xcpm_bootstrap":
Code:
Find:                            Replace:                           Comment:                                    MatchOS:
723cd077 500fb6c0                6f3cd077 500fb6c0                  xcpm_cpuid_set_info © Pike R. Alpha         10.13.x
89d804c4 3c227722                89d804c1 3c227722                  xcpm_bootstrap © Pike R. Alpha              10.13.x

Please note that Haswell-E processors in principle do not require the patching of the switch table used by "xcpm_cpuid_set_info". Apple already took care of it. One can therefor disable the xcpm_cpuid_set_info KernelToPatch entry for the latter processor architecture. If you encounter against all expectations problems during your XCPM configuration though, use the "xcpm_cpuid_set_info" entry provided above!

Note that the appropriate Xnu Cpu Power Management (XCPM) settings for each CPU architecture are once more addressed, discussed and finalized in the Xnu Cpu Power Management (XCPM) Section of this guide below.​

5.2) 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 X99 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 MacPro6,1 SMBIOS entries already implemented in the config.plist in the distributed EFI-Folder.

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.​

5.3) Verify that you have the correct apsf.efi file in the /EFI/CLOVER/drivers64UEFI/ directories of the EFI-Folder by
following error prevention C/7.).
5.4) Copy the appropriate VoodooTSCSync.kext, which you modified by following error prevention C/8.), to the
/EFI/CLOVER/kexts/Other/ - directory of the EFI-Folder.
5.5.) Now copy the modified EFI-folder to the yet empty EFI-Folders on both USB Flash Drive Installer and 10.13 System
Disk.

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

The empty EFI-partitions can be mounted by means of e.g. Clover Configurator.

View attachment 282098

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!
6.) In case that the EFI-Folders 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.13 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
  • Only check "CsmVideoDxe-64.efi" under "Drivers64UEFI" and uncheck all other driver options to comply with error prevention 3.)
  • Select Install RC scripts on target volume
  • Select Install Clover Preference Pane
Both drives are now ready for installation. Reboot your System.

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

8.) 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.​

9.) 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 Update, which should be logically your 10.13 System Disk. In the next step, the Installer will create a macOS High Sierra 10.13 Installer Partition on your 10.13 System Disk and subsequently reboot your system.​

10.) 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 on the clover boot screen to boot the newly created macOS High Sierra 10.13 Installer Partition on your 10.13 System Disk.​

11.) After successful boot, you will enter now the macOS High Sierra 10.13 Installer Screen with a progress bar starting at
18 minutes. This is normally also the moment when either error 2.) or 3.) 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!
12.) 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 High Sierra 10.13 Installer Partition on your 10.13 System Disk.
13.) After successful boot, you will enter once more the macOS High Sierra 10.13 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!​

14.) During the last system reboot towards the end of the MacOS clean install process, press again the F8 button to enter the
BIOS boot menu. However, in the BIOS boot menu select this time to boot with the EFI-Folder on your 10.13 System Disk. In the Clover boot menu select the "macOS High Sierra 10.13 Partition" on your 10.13 System Disk to boot the final step of the macOS High Sierra 10.13 Installation.​

15.) After successfully completing the iCloud registration, you now also successfully finished the macOS High Sierra 10.13 Clean
Install on your X99 System.
16.) If you still want still migrate data and applications from a different system do it now and proceed to Section
PostUgrade/Installation Process.​


D.2) System Upgrade from earlier versions to the actual version of macOS High Sierra 10.13


If you already previously performed the upgrade to macOS High Sierra 10.13 by means of my X99/10.13 desktop guide, you already performed all subsequent steps of the post-installation process and you now want to upgrade to the latest macOS High Sierra 10.13 distribution (actually 10.13.1), follow all suggestions indicated below.

1.) Backup the EFI-Folders of both previous USB Flash Drive Installer and 10.13 System Disk. Also backup your 10.13 System
Disk itself by cloning your current 10.13 System Disk with Carbon Copy Cloner (CCC).​

2.) In order to perform the update of macOS High Sierra 10.13, 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 macOS High Sierra 10.13 full package installer from the Mac App Store. 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\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ High\ 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.13 System Disk with the EFI-directory being
part of EFI-X99-10.13.1-Release-051217.zip (attached at the end of this originating post/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 on both, your USB Flash Drive and 10.13 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
  • Only check "CsmVideoDxe-64.efi" under "Drivers64UEFI" and uncheck all other driver options to comply with error prevention 3.)
  • Select Install RC scripts on target volume
  • Select Install Clover Preference Pane
c.) Open the config.plist on your USB Flash Drive and 10.13 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 previous the previous update or clean install of MacOS High Sierra 10.13. Note that the EFI-folder of
EFI-X99-10.13.1-Release-051217.zip is pre-configured for Broadwell-E/EP. Thus you have to update and implement again, if necessary, all your system specific details you already implemented in the EFI-Folders of your former USB Flash Drive Installer and 10.13 System Disk during a likely former macOS High Sierra Installation/Update and the subsequent post installation procedure (e.g. the correct CPU Type, FakeCPUID, Kext and Kernel in the config.plist, kext's or aml's, etc.).

Save the config.plists on your USB Flash Drive and 10.13 System Disk.
d.) Verify that you have the correct apsf.efi file in the /EFI/CLOVER/drivers64UEFI/ directories of your USB Flash Drive and
10.13 System Disk by following error prevention C/7.).
e.) Copy the appropriate VoodooTSCSync.kext, which you modified by following error prevention C/8.), to the
/EFI/CLOVER/kexts/Other/ - directories of both USB Flash Drive and 10.13 System Disk!​

Both drives are now ready for the MacOS upgrade. Reboot your System.

5.) Perform now the macOS upgrade by following point 7.) to 15.) of the previous section D.1) [macOS High Sierra 10.13 Clean
Install].​

6.) After finishing the macOS Upgrade, proceed to Section Graphics Configuration. Download and update the Nvidia 10.13 Web
Driver compatible with your current macOS High Sierra 10.13 distribution.
7.) Now proceed to the Section "Xnu CPU Power Managment XCPM" below, and re-inject the frequency vector to your Mac-
F60DEB81FF30ACF6.plist. Note that the latter file has been rewritten during the macOS High Sierra upgrade! If you are using EIST and PMDrvr.kext, add the latter to your EFI directory! It is not part of EFI-X99-10.13.1-Release-051217.zip!
8.) If you previously decided to go for sleep/wake functionality instead of EIST and PMDrvr.kext, finally proceed to
Section Sleep/Wake Functionality below and redo the DSDT creation. Copy the resulting DSDT.aml to
/EFI/CLOVER/ACPI/patched/ and reboot.​

You are done!

The same update procedure will also apply for all future macOS High Sierra 10.13 releases.


D.3) macOS High Sierra 10.13 Upgrade from macOS Sierra 10.12.6



If you previously installed macOS Sierra 10.12.6 on your X99 System by means of my Broadwell-E/EP (Haswell-E/EP)/X99 macOS Sierra 10.12 Desktop Guide, the subsequent update to macOS High Sierra 10.13 is quite straight and easy, once the mandatory 10.13 EFI-Folder has been derived by following D.1.4) to D.1.6)!

1.) Prepare a USB Flash Drive (source, named USB) and a NVMe or SDD or HDD clone drive by formatting both drives with
HFS+ [(Mac OS Extended (Journaled)] and a GUID partition table by means of Apple's Disk Utility on your 10.12.6 Hackintosh or Mac of your choice. This will create an empty HFS+ Partition and a yet empty EFI-partition on each drive.​

2.) Clone your current macOS 10.12.6 System Disk by means of Carbon Copy Cloner (CCC) to the NVMe or SDD or HDD clone
drive which we will term hereafter 10.13 System Disk.
3.) Download the macOS High Sierra 10.13 full package installer from the Mac App Store.

4.) 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\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --nointeraction

5.) Now create the 10.13 EFI-Folder on your USB macOS Flash Drive Installer and 10.13 System Disk (former 10.12.6 System
Disk Clone Drive) by following D.1.4) to D.1.6)! During this procedure you can also certainly merge already existing config.plist details with the config.plist contained in the EFI -Folder of EFI-X99-10.13.1-Release-051217.zip and skip all related steps in this part of the guide [e.g. D.1.5.2.), i.e. Board Serial Number, Serial Number and SmUUID, if already available from the previous 10.12.6 installation].

Both drives are now ready for the MacOS upgrade. Reboot your System.
6.) Now perform the MacOS High Sierra Upgrade by following point 7.) to 15.) of section D.1) [macOS High Sierra 10.13 Clean
Install]​

7.) Subsequently, perform all necessary steps of section E.) "Post Installation Process" detailed below!


E.) Post Upgrade/Installation Process


By following the individual steps listed below, you will gain an absolutely stable and fully functional system.


E.1) Graphics Configuration:

View attachment 266756

Simples ATI graphics cards startup solutions like the Gigabyte Radeon RX 560 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 the WhateverGreen.kext v1.1.3 and the Lilu.kext v1.2.1. In addition, one also needs to check "Inject ATI" in the "Graphics" Section of the Clover Configurator.

ATI Radeon Vega users should have anyway native support under macOS High Sierra 10.13.

Also Nvidia Kepler Cards are natively implemented.

Since the final release of macOS 10.13, there is now also official Nvidia Web Driver Support for Nvidia Pascal and Maxwell graphics cards also under macOS High Sierra 10.13!

To install the new officially distributed Nvidida 10.13 Web Driver Package, follow the instructions detailed below.

Error prevention advice:

a.) Enable Remote Management and Remote Login in "Preferences" -> "Sharing", before starting with the Web driver
Installation and Nvidia Black Screen prevention. This will allow you to access your system from any other system in case of a persistent Black Screen failure.
b.) Clone your current 10.13 System Disk by means of Carbon Copy Cloner (CCC) and create a bootable backup drive by

also implementing the actual EFI-Folder on your 10.13 System Disk in the empty EFI-Partition of the cloned backup drive. In case of failures during or after the Web Driver Installation, you have now a perfect fall-back option to the original status of your system before the web driver installation. Just boot your system with the Backup Drive and Clone back the latter onto your former System Drive.
c.) Note that instead of the fallback option with the Backup Drive, you can revert your system back to the original state in
case of a failure during the Web driver Installation by booting your system in recovery mode and by manually removing all web driver related GeForce* and nvda* files from the S/L/E and L/E/ directories of your system disk by using the following terminal commands:

Code:
sudo rm -rf NVDA*

Code:
sudo rm -rf GeForce*

after changing primarily to the respective directories.

Also perform if possible:

Code:
sudo touch /System/Library/Extensions/

Code:
sudo touch /Library/Extensions/
c.) Verify at each step below your SIP status with the following terminal command:

Code:
csrutil status


Nvidia Web Driver Installation and Black Screen Prevention:

As we do use SMBIOS macPro6,1, we MUST implement some way of subverting AppleMobileFileIntegrity banning the driver before performing the Nvidida Web Driver Installation!

We have a few mutually exclusive options, which have to be treated independently from each other. If one option fails, revert back to the original status of your system by booting the latter with the backup drive and by subsequently cloning your backup drive onto your system drive [as described in Graphics Configuration Error Prevention b.) above] and start from scratch!

Surprisingly, on my system (ASUS X99-AII, i7-6950X, Gigabyte AORUS GTX 1080 Ti 11GB Extreme Edition) neither Black Screen Prevention A.) nor B.) was required to successfully run the Nvidia 10.13.1 Web Driver. I solely installed the Nvidia 10.13.1 Web Driver. Moreover, when applying Black Screen Prevention A.) detailed below, the boot failed subsequently. Thus, if your really need a Black Screen Prevention, directly apply Method B.)


Nvidia Web Driver Installation + Black Screen Prevention Method A.) - The AGDPFix - note that at least on my system this method is not anymore properly working under 10.13.1!!
a.) Verify in a terminal with "csrutil status" that the SIP on your System is disabled (CsrActiveConfig =0x67).

b.) Apply the AGDPfix.app with CsrActiveConfig = 0x67 and reboot as requested.

c.) Now install the actual Nvidia 10.13 Web Driver Package.
d.) Now reboot as requested by the Nvidia Web Driver Installer.

e.) After reboot you should have a working Nvidia 10.13 Web Driver without any Black Screen Issue!
If the AGDP Black Screen Prevention does not successfully apply on your system as apparently in my case under of 10.13.1, revert back to the original status of your system by booting the latter with the backup drive and by subsequently cloning your backup drive onto your system drive [as described in Graphics Configuration Error Prevention b.) above].

Nvidia Web Driver Installation + Black Screen Prevention Method B.) - NvidiaGraphicsFixup.kext v1.2.1 + Lilu.kext v1.2.1
Important Note: if you tried before a Black Screen Prevention by means of the NVWebDriverLibValFix.kext v1.0.0 in /EFI/CLOVER/kexts/Other/, remove the latter file from the latter directory! Note that NVWebDriverLibValFix.kext is now already implemented in NvidiaGraphicsFixup.kext v1.2.1! If you apply the content of the primer kext twice, you will end up in a boot loop!
a.) Copy NvidiaGraphicsFixup.kext v1.2.1 and Lilu.kext v1.2.1 to the /EFI/CLOVER/kexts/Other/ directory in the EFI-
Partition of your System Disk.
b.) Now install the actual Nvidia 10.13 Web Driver Package.
c.) Reboot as requested by the Nvidia Web Driver Installer

d.) After reboot, you should now have a working Nvidia 10.13 Web Driver without any Black Screen Issue!
Note that even with the correct black screen prevention and after a successful Web Driver installation, your system boot might falter at "gIOScreenLockState, 3". If the latter is the case, your Web Driver is not automatically injected. This latter issue can be solved by manually injecting the Nvidia Web Driver with your config.plist during system boot by primarily checking "NvidiaWeb" in the "System Parameters" Section of Clover Configurator.
After the successful Nvidia 10.13 Web Driver Installation and after applying the the likely required Black Screen Prevention, you should have a fully working 10.13 Nvidia Web Driver, including OpenGL and Metal support!

View attachment 280940

View attachment 280941

Please report back any successful approach different from above. I will consider your estimated feedback in the future updates of this guide for all other users.


Nvidia 10.12.6 Web Driver Workaround:

Please note that you have to exactly apply all individual steps exactly in the given order!

1.) Backup the original 10.13 AppleGraphicsControl.kext (Apple Graphics Policy kext-file) from S/L/E to your Desktop (you may

need it once official 10.13 Nvidia Web Drivers are finally released).

Note that the next step 2.) is only required after update from macOS Sierra 10.12 distributions < 10.12.6, after a clean install of MacOS High Sierra 10.13 or after an update from an earlier version of MacOS High Sierra 10.13, where the workaround has not been applied yet. Else continue to point 3.) below!
2.) a.) Download and unzip the 10.12.6 WebDriver Package WebDriver-378.05.05.25f01.pkg (attached towards the end of this
originating post/guide) to your Desktop.
b.) Open a terminal and change to your Desktop.

Code:
cd Desktop
c.) Enter the following terminal command to unpack the Web Driver package into a "webdriver" folder on your Desktop.

Code:
pkgutil --expand WebDriver-378.05.05.25f01.pkg webdriver
d.) Double-click with your mouse on the "webdriver" folder -> right-click with your mouse on "Distribution" and open the
file with TextEdit.app.

Now delete the line "if (!validateSoftware()) return false;" to bypass the OS version check during the Web Driver Installation and save the modified "Distribution" file.
e.) Now repackage the Web Driver Package with the following terminal command:

Code:
pkgutil --flatten webdriver WebDriver-378.05.05.25f01.XXX.pkg

where XXX is a place holder for e.g. your user name
f.) Now double click on the modified and renamed Web Driver package and perform the installation of the 10.12.6 Nvidia
Web Driver under macOS 10.13.

Subsequently reboot as requested. Note that before applying points 3.) to 5.) below, the system will continue in using the default Apple Web Driver.


3.) Run the Nvidia Web Driver Updater v1.5 and patch the "NVDAStartupWeb.kext" to "17A365" (10.13 Final Release).

4.) Download, unzip and install the 10.12.6 AppleGraphicsControl.kext attached towards the end of this guide in S/L/E/ with the
accurate permissions using Kext Utility or any other kext utility of your choice.

5.) Apply the AGDPfix.app to avoid a black screen after boot with Nvidia graphics cards (attached towards the end of this post).
Wait until the AGDPfix procedure is successfully finished... it takes a while...

and reboot as requested. Don't forget to apply this very important last step!!!! Otherwise you you will end up with a black screen after successful booting.

Now..... you should have a limited but working web driver! Many thanks to @dwhitla for his constructive help and contributions!

If not and you mistook any of the above points or their exact order... you will have to start from the beginning with the 10.12.6 Web Driver Workaround.

However, if you succeed, Apple's System Report should reveal something like the following:


Don't expect miracles! Note that the 10.12.6 Webdriver under macOS 10.13 neither provides OpenGL nor Metal support for Nvidia Pascal and Maxwell cards, thus users have to be content with proper screen resolution and basic video acceleration... the overall performance of the latter graphics cards is still somewhat laggy, with e.g. occasional glitches when opening or moving windows etc.


E.2) Audio Configuration:

View attachment 266757

The EFI folder attached towards the end of this post already contains a fully functional AppleALC audio configuration. If however this audio configuration does not work in your case, perform the following steps listed below.

1.) Download the latest version of the AppleALC.kext from Github (actually AppleALC.kext v1.2.1) and copy it to the
"/EFI/CLOVER/kexts/Other/"-directory of your 10.13 System Disk. Note however that the latter kext is already part fo the EFI-Folder implemented in EFI-X99-10.13.1-Release-051217.zip.
2.) Download the latest version of Lilu.kext from Github (actually Lilu.kext v1.2.1) and copy it to the
"/EFI/CLOVER/kexts/Other/"-directory of your 10.13 System Disk. Note however that the latter kext is already part fo the EFI-Folder implemented in EFI-X99-10.13.1-Release-051217.zip.
3.) Download the latest version of codeccommander.kext from Github and copy it to the "/EFI/CLOVER/kexts/Other/"-directory
of your 10.13 System Disk. Note however that the latter kext is already part fo the EFI-Folder implemented in
EFI-X99-10.13.1-Release-051217.zip.
4.) Open your config.plist with the Clover Configurator and add the following "DSDT patch" in the "ACPI section":

Code:
Comment:                Find:           Replace:

Rename ALZA to HDEF     414c5a41        48444546

Furthermore, Inject Audio ID "1" in the Section "Devices" and save your config.plist​

5.) After reboot you should now have a perfectly working analogue audio configuration. Under "System Preferences" and
"Audio" select "Internal Speakers" for the Analogue Audio Output and you are done.​

6.) Note that all users of the ASUS X99 A-II and ASUS X99 Deluxe II with a Nvidida GPU in PCIe Slot 0, can use the
SSDT-HDMI.aml attached at the end of this originating post/guide to enable HDMI/DP Audio. All users of mobos different from the primer mobos or with the GPU in a PCIe Slot different from PCIe Slot 0 will have to modify the latter aml-file by means of the MaciASL-DSDT.app and the IORegistryExplorer.app. Also note, that all users with NvidiaGraphicsFixup.kext v1.2.1 in their /EFI/CLOVER/kexts/Other/ directory, will have HDMI/DP Audio output enabled without any additional aml-file. Further note, that at least on the Gigabyte Aorus Geforce GTX 1080 Ti 11GB Extreme Edition, HDMI/DP Audio only works when connecting your monitor with the second Display Port connector from the left.​

7.) After another reboot you should have a fully functional analogue and digital audio configuration with the control panel and
system implementation displayed below.

Control Panel implementation:

View attachment 266358

Audio System report:



E.3) USB Configuration:

View attachment 266758

The EFI-Folder implemented in EFI-X99-10.13.1-Release-051217.zip, contains a fully functional USB configuration,which consists of the following implementations:

1.) the "X99_Injector USB 3.kext" in the /EFI/CLOVER/kexts/Others/ directory of your hopefully successfully configured and
completed 10.13 system test drive.​

2.) the 10.13 AppleUSBXHCIPCI KextsToPatch entry in the "Kernel and Kext Patches" section of the clover configurator:

Code:
Name:                  Find:                   Replace:                Comment:                   MatchOS:
AppleUSBXHCIPCI        837d8c10         837d8c19       USB port limit patch

3.) the following USB settings in the "Device" section of the Clover Configurator: "Inject", "Add ClockID", "FixOwnership"
- checked; "HighCurrent" - unchecked.
4.) also remember the correct BIOS settings:
  • XHCI Mode Smart Auto
  • XHCI Hand-Off Enabled
  • EHCI Hand-Off Enabled
As already in macOS Sierra 10.12, with the above USB configuration, also in macOS High Sierra 10.13 all USB2 and USB3 ports are initialized and work fine. USB2 in USB2, USB3 in USB3, USB2 in USB3 and USB3 in USB2. However, there is a tiny cosmetic error. If one looks to Apple's system report, in principle the USB2.0 Bus, USB3.0 Bus and USB 3.1 Bus are implemented correctly. However, all connected devices independently form being USB2.0, USB3.0 and USB3.1 are assigned to the USB 3.0 Bus.

View attachment 266364


Alternative USB Configuration - board-specific XHC USB Kexts

Alternatively to the above USB configuration, all ASUS X99-A II owners can use the novel and innovative XHC USB Kext developed with @DSM2 in the /EFI/CLOVER/kexts/Other/ directory of their USB Flash Drive Installer or 10.13 System Disk. Recently, @kingkong89 confirmed full compatibility of this latter XHC USB Kext with the ASUS X99 DELUXE II (identical XHC USB port-configuration).

For this novel kext approach approach, download, unzip and copy the XHC USB Kext contained in DSM2-ASUS-X99-A-II-USB.kext.zip (attached at the end of this originating post/guide) to the /EFI/Clover/kexts/Other/-directory in the EFI-Folder of your 10.13 System Disk. In parallel, remove the "X99_Injector USB 3.kext" from the latter directory and reboot.

Finally note, that also the USB BIOS settings have to be slightly modified:
  • XHCI Mode Enabled
  • XHCI Hand-Off Enabled
  • EHCI Hand-Off Enabled
Within the latter approach, all internal and external USB2.0 and USB 3.0 ports on the ASUS X99-A II and ASUS X99 DELUXE II will be correctly implemented and reveal the expected data rates.

All owners of mainboards different from the ASUS X99-A II and ASUS X99 DELUXE II, can create their own board-specific XHC USB Kext by following the detailed XHC USB Kext creation guidelines provided in Section E.4) in my Skylake-X/X299 macOS High Sierra 10.13 Desktop Guide.


E.4) M.2/NVME Configuration:

View attachment 266759

In contrary to macOS Sierra 10.12, macOS High Sierra 10.13 provides native support of non-4Kn NVMe SSDs, like my Samsung EVO 960 M.2/NVMe. All patches applied under macOS Sierra 10.12 are now obsolete. The native support of non-4Kn NVMe SSDs enables the unique opportunity to directly perform a clean-install of macOS High Sierra 10.13 on M.2 NVMEs like the Samsung EVO 960.

The only current drawback consists in the external drive implementation of NVMEs. This minor issue should be easily solved by adding the actual External NVME Icon KextToPatch entry to the config.plist by means of the Clover Configurator.

Code:
Name*            Find* [HEX]           Replace* [HEX]        Comment                      MatchOS
IONVMeFamily     4885c074 07808b20     4885c090 90808b20     External NVME Icon Patch     10.13.x

View attachment 271346

Not however, that already in earlier beta versions and also now within the macOS High Sierra 10.13.1 distribution, this approach does not seem to work anymore, despite the actual KextToPatch entry above! If you still have your NVMe implemented in form of an external drive you have to perform the following workaround, detailed below.

1.) Disable the not working External NVME Icon KextToPatch entry.

2.) Open the IORegistryExplorer, in the upright search field type nvme and take not of values in the left column, i.e. indicated
as v.1, v.2 and v.3 and marked by red rectangles in the figure below. As you can see by following these entries, your nvme device shows up in PCI0@0 > BR1B@1,1 > H000@0​


3.) Download and unzip the SSDT-NVMe-extern-icon-patch.aml.zip, and open the SSDT-NVMe-extern-icon-patch.aml
with MaciASL-DSDT.app, both attached towards the end of this guide. For deviating system configurations, replace the values highlighted in blue color in the figure below with those of your IOreg, marked by red rectangles and indicated by v.1, v.2 and v.3 in the figure of my IOReg above.

View attachment 276038
4.) Save and copy the modified SSDT-NVMe-extern-icon-patch.aml to the /EFI/CLOVER/ACPI/patched/ folder of your system
drive.​

5.) Reboot

Now your NVMe drive should correctly show up as internal.

View attachment 266387

View attachment 266388


E.5) 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-X99-10.13.1-Release-051217.zip, attached towards the end of this originating post/guide, contains an SSD "TRIM Enabler" KextsToPatch entry, which can be found in the " Kernel and Kext Patches" Section of the Clover Configurator.

View attachment 275950

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 is fully enabled on your 10.13 System, see Apple's System Report below.

View attachment 270325


E.6) Xnu CPU Power Management (XCPM) Configuration:

View attachment 266761

The EFI folder of EFI-X99-10.13.1-Release-051217.zip, attached towards the end of this post, already contains a nearly fully functional XCPM configuration for the i7-6950X Broadwell-E CPU, which needs to be finalized (yet missing injection of frequency vector) and adopted for other CPU configurations (Broadwell-E/EP different from i7-6950X, Haswell-E).

Before finalizing, adapting or tuning the XCPM configuration, verify the following BIOS settings:

Advanced\CPU Configuration\CPU Power Management Configuration\
  • Enhanced Intel SpeedStep Technology (EIST): Disabled
  • Turbo mode: Enabled
  • CPU C-State: Enabled
  • Enhanced C1 State: Enabled
  • CPU C3 Report: Enabled
  • CPU C6 Report: Enabled
  • Package C State Limit: C6(non Retention) state
Subsequently, follow the individual steps below.

1.) Verify that your System ID is MacPro 6.1

2.) Open the config.plist of your 10.13 test drive and revise the "Kernel and Kext Patches" Section.

View attachment 282324

Code:
Find:                                                               Replace:                                                              Comment:                                      MatchOS:
72 3cd07750 0fb6c0                                                  6a 3cd07750 0fb6c0                                                    xcpm_cpuid_set_info © Pike R. Alpha           10.13.x
89d804c4 3c227722                                                   89d804c3 3c227722                                                     xcpm_bootstrap © Pike R. Alpha                10.13.x
554889E5 41574156 41554154 53504189 D64889FB 85F60F84 84000000      C39089E5 41574156 41554154 53504189 D64889FB 85F60F84 84000000        xcpm_program_msrs © Pike R. Alpha             10.12.x,10.13.x
be070000 0031d2e8 8ffcffff                                          be070000 0031d290 90909090                                            xcpm_pkg_scope_msrs © Pike R. Alpha           10.12.x,10.13.x
be0b0000 005de908 000000                                            be0b0000 005dc390 909090                                              xcpm_SMT_scope_msrs © Pike R. Alpha           10.12.x,10.13.x
be030000 0031d2e8 72fcffff                                          be030000 0031d290 90909090                                            xcpm_core_scope_msrs © Pike R. Alpha          10.12.x,10.13.x
b9e20000 000f30                                                     b9e20000 009090                                                       xcpm_idle_wrmsr © Pike R. Alpha               10.12.x,10.13.x
4885c074 07808b20                                                   4885c090 90808b20                                                     External NVMe FIX                             10.13.x
07000000 31d2e88f fcffff                                            07000000 31d29090 909090                                              10.13 Installer/Updater essential             10.12.x,10.13.x

Verify for Broadwell-E/EP and modify for Haswell-E/EP the "xcpm_cpuid_set_info" and "xcpm_bootstrap" KernelToPatch entries for Broadwell-E/EP. Note that I actually do not use the "xcpm_program_msrs" and "xcpm_core_scope_msrs" KernelToPatch entries (disabled), as they seem to disable C3 states! Note that the "xcpm_program_msrs" entry was previously erroneously called "xcpm_reboot_fix". Please note that the above KernelToPatch configuration considers a patched ASUS mobo-BIOS with unlocked MSR 0xE2 register ("xcpm_idle_wrms" KernelToPatch entry disabled). With locked MSR 0xE2 register, you might have to enable "xcpm_idle_wrms". As already mentioned above, a detailed description how to patch an ASUS-BIOS to unlock the MSR 0xE2 register can be found in my Sierra Desktop Guide. By the way, note that ASUS mainboard owners can uncheck "KernelPM", yet checked for the general use of my EFI-Folder also with mainboards different from ASUS. Further note that I also disabled the external NVMe FIX, as it currently does not seem to work within the latest implementations of macOS High Sierra 10.13, despite the fact that this KernelToPatch entry is correctly implemented. Finally note that the "10.13 Installer/updater essential" KernelToPatch entry seems to be required for successful booting an macOS High Sierra 10.13 Flash Drive Installer, which needs to be created in the frame of the 10.13 macOS High Sierra Update or Clean Install.

Here are the necessary modifications for the Haswell-E CPU architecture:​
  • Haswell-E "xcpm_cpuid_set_info" and "xcpm_bootstrap":
Code:
Find:                            Replace:                           Comment:                                    MatchOS:
723cd077 500fb6c0                6f3cd077 500fb6c0                  xcpm_cpuid_set_info © Pike R. Alpha         10.13.x
89d804c4 3c227722                89d804c1 3c227722                  xcpm_bootstrap © Pike R. Alpha              10.13.x

Please note that Haswell-E processors in principle do not require the patching of the switch table used by "xcpm_cpuid_set_info". Apple already took care of it. One can therefor disable the xcpm_cpuid_set_info KernelToPatch entry for the latter three processor architectures. If you encounter against all expectations problems during your XCPM configuration though, use the "xcpm_cpuid_set_info" entry provided above!

Many thanks to PMheart from the InsanelyMac Forum for providing the correct 10.13 XCPM KernelToPatch entries for Broadwell-E! Many thanks to @nmano for providing the correct 10.13 XCPM KernelToPatch entries for Haswell-E!​

3.) Reboot

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

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

6.) Drop ssdtPRGen.sh into a terminal and add the following parameters to also enable turbo frequencies ( in my case in line
with an OC of 4200 Mhz.​

Code:
./ssdtPRGen.sh  -turbo 4200

Result:

Code:
ssdtPRGen.sh v0.9  Copyright (c) 2011-2012 by † RevoGirl
             v6.6  Copyright (c) 2013 by † Jeroen
             v21.5 Copyright (c) 2013-2017 by Pike R. Alpha
-----------------------------------------------------------
Bugs > https://github.com/Piker-Alpha/ssdtPRGen.sh/issues <

System information: Mac OS X 10.13 (17A306f)
Brandstring: "Intel(R) Core(TM) i7-6950X CPU @ 3.00GHz"

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

Version: models.cfg v170 / Broadwell.cfg v151


Generating ssdt.dsl for a 'MacPro6,1' with board-id [Mac-F60DEB81FF30ACF6]
Broadwell Core i7-6950X processor [0x406F1] setup [0x0a02]
With a maximum TDP of 140 Watt, as specified by Intel
Number logical CPU's: 20 (Core Frequency: 3000 MHz)
Number of Turbo States: 12 (3100-4200 MHz)
Number of P-States: 31 (1200-4200 MHz)
Injected C-States for CP00 (C1,C3,C6)
Injected C-States for CP01 (C1,C3,C6)
Warning: 'system-type' may be set improperly (1 instead of 3)
     - Clover users should read https://clover-wiki.zetam.org/Configuration/ACPI#acpi_smartups
Compiling: ssdt_pr.dsl
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20140926-64 [Nov  6 2014]
Copyright (c) 2000 - 2014 Intel Corporation

ASL Input:     /Users/kgp/Library/ssdtPRGen/ssdt.dsl - 467 lines, 13569 bytes, 144 keywords
AML Output:    /Users/kgp/Library/ssdtPRGen/ssdt.aml - 3706 bytes, 64 named objects, 80 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
7.) Copy the SSDT.aml from ~/Library/ssdtPRGen/ to /EFI/CLOVER/ACPI/patched/. Please find a fully working SSDT.aml
sample file for the i7-6950X attached towards the end of this post.

Important note: if your CPU is unsupported, ssdtPRGen.sh will fail in creating the SSDT.aml.
Go to the ~/Library/ssdtPRGen/ folder, open the "Data " folder, and open "User Defined.cfg" with text wrangler.
Add your cpu parameters, save the "User Defined.cfg" and redo steps 6.) and 7.)
8.) Reboot

9.) 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>

you are fine.

c.) Verify with the terminal command

Code:
kextstat|grep -y appleintelcpu

that you got now rid of the Apple Intel CPU power management. If the result is empty you are fine.
10.) Download and run Piker-Alpha's latest freqVectorsEdit.sh distribution to add missing FrequencyVectors to Mac-
F60DEB81FF30ACF6.plist, which os located in:

Code:
/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources

To do so, you have to choose some other plist-file from the drop-list

Code:
freqVectorsEdit.sh v3.1 Copyright (c) 2013-2017 by Pike R. Alpha.
-----------------------------------------------------------------
Bugs > https://github.com/Piker-Alpha/freqVectorsEdit.sh/issues <

Available resource files (plists) with FrequencyVectors:

[  1 ] Mac-031B6874CF7F642A.plist (iMac14,1)
[  2 ] Mac-06F11F11946D27C5.plist (MacBookPro11,5)
[  3 ] Mac-06F11FD93F0323C5.plist (MacBookPro11,4)
[  4 ] Mac-189A3D4F975D5FFC.plist (MacBookPro11,1)
[  5 ] Mac-27ADBB7B4CEE8E61.plist (iMac14,2)
[  6 ] Mac-2BD1B31983FE1663.plist (MacBookPro11,3)
[  7 ] Mac-35C1E88140C3E6CF.plist (MacBookAir6,1)
[  8 ] Mac-35C5E08120C7EEAF.plist (Macmini7,1 @ 2700)
[  9 ] Mac-3CBD00234E554E41.plist (MacBookPro11,2)
[ 10 ] Mac-42FD25EABCABB274.plist (iMac15,1)
[ 11 ] Mac-473D31EABEB93F9B.plist (MacBookPro13,1 @ 3100 HWP/3400 HWP)
[ 12 ] Mac-4B682C642B45593E.plist (Unknown Model)
[ 13 ] Mac-4BFBC784B845591E.plist (Unknown Model)
[ 14 ] Mac-50619A408DB004DA.plist (Unknown Model)
[ 15 ] Mac-551B86E5744E2388.plist (MacBookPro14,3 @ 3800 HWP/3900 HWP/4100 HWP)
[ 16 ] Mac-65CE76090165799A.plist (iMac17,1)
[ 17 ] Mac-66E35819EE2D0D05.plist (MacBookPro13,2 @ 3300 HWP/3500 HWP/3600 HWP)
[ 18 ] Mac-77EB7D7DAF985301.plist (iMac14,3)
[ 19 ] Mac-77F17D7DA9285301.plist (Unknown Model)
[ 20 ] Mac-7BA5B2D9E42DDD94.plist (Unknown Model)
[ 21 ] Mac-7DF21CB3ED6977E5.plist (MacBookAir6,2)
[ 22 ] Mac-81E3E92DD6088272.plist (iMac14,4)
[ 23 ] Mac-90BE64C3CB5A9AEB.plist (Unknown Model @ 3000/3200/3600)
[ 24 ] Mac-937CB26E2E02BB01.plist (MacBookAir7,2 @ 2700/3200)
[ 25 ] Mac-9AE82516C7C6B903.plist (MacBook9,1 @ 2200 HWP/2700 HWP/3100 HWP)
[ 26 ] Mac-9F18E312C5C2BF0B.plist (MacBookAir7,1 @ 2700/3200)
[ 27 ] Mac-A369DDC4E67F1C45.plist (iMac16,1)
[ 28 ] Mac-A5C67F76ED83108C.plist (MacBookPro13,3 @ 3500 HWP/3600 HWP/3800 HWP)
[ 29 ] Mac-B4831CEBD52A0C4C.plist (MacBookPro14,1 @ 3400 HWP/4000 HWP)
[ 30 ] Mac-B809C3757DA9BB8D.plist (iMac17,1)
[ 31 ] Mac-BE088AF8C5EB4FA2.plist (Unknown Model)
[ 32 ] Mac-BE0E8AC46FE800CC.plist (MacBook8,1 @ 2400/2600/2900)
[ 33 ] Mac-CAD6701F7CEA0921.plist (MacBookPro14,2 @ 3500 HWP/3700 HWP/4000 HWP)
[ 34 ] Mac-CF21D135A7D34AA6.plist (Unknown Model @ 3000/3200/3600)
[ 35 ] Mac-DB15BD556843C820.plist (iMac17,1)
[ 36 ] Mac-E43C1C25D4880AD6.plist (MacBookPro12,1)
[ 37 ] Mac-EE2EBD4B90B839A8.plist (Unknown Model @ 3000 HWP/3200 HWP/3600 HWP)
[ 38 ] Mac-F305150B0C7DEEEF.plist (Unknown Model @ 2400/2600/2900)
[ 39 ] Mac-F60DEB81FF30ACF6.plist (MacPro6,1)
[ 40 ] Mac-FA842E06C61E91C5.plist (iMac15,1)
[ 41 ] Mac-FFE5EF870D7BA81A.plist (iMac16,2)

Please choose the desired plist for your hardware (Exit/1-41) ?

like e.g.

Code:
[ 35 ] Mac-DB15BD556843C820.plist (iMac17,1)

which does have well defined frequencies.
11.) Reboot
12.) To verify that the new Frequency-Vectors from Mac-F60DEB81FF30ACF6.plist are now loaded, use the following terminal
command:

Code:
sysctl -n machdep.xcpm.vectors_loaded_count

If "0" is returned, then the FrequencyVectors are still missing or are not being used at present. If everything is ok, the command returns "1".
13.) To verify your new Power Management, 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.5 Copyright © 2012-2017 Pike R. Alpha. All rights reserved.

Settings:
------------------------------------------
logMSRs..................................: 1
logIGPU..................................: 0
logCStates...............................: 1
logIPGStyle..............................: 1
InitialTSC...............................: 0x11d3a1760ecb2 (10453 MHz)
MWAIT C-States...........................: 8480

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

Processor Signature..................... : 0x406F1
------------------------------------------
 - Family............................... : 6
 - Stepping............................. : 1
 - Model................................ : 0x4F (79)

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

MSR_CORE_THREAD_COUNT............(0x35)  : 0x0
------------------------------------------
 - Core Count........................... : 10
 - Thread Count......................... : 20

MSR_PLATFORM_INFO................(0xCE)  : 0x20080C3BF3811E00
------------------------------------------
 - Maximum Non-Turbo Ratio.............. : 0x1E (3000 MHz)
 - Ratio Limit for Turbo Mode........... : 1 (programmable)
 - TDP Limit for Turbo Mode............. : 1 (programmable)
 - Low Power Mode Support............... : 1 (LPM supported)
 - Number of ConfigTDP Levels........... : 1 (additional TDP level(s) available)
 - Maximum Efficiency Ratio............. : 12
 - Minimum Operating Ratio.............. : 8

MSR_PMG_CST_CONFIG_CONTROL.......(0xE2)  : 0x1E000005
------------------------------------------
 - I/O MWAIT Redirection Enable......... : 0 (not enabled)
 - CFG Lock............................. : 0 (MSR not locked)
 - C3 State Auto Demotion............... : 1 (enabled)
 - C1 State Auto Demotion............... : 1 (enabled)
 - C3 State Undemotion.................. : 1 (enabled)
 - C1 State Undemotion.................. : 1 (enabled)
 - Package C-State Auto Demotion........ : 0 (disabled/unsupported)
 - Package C-State Undemotion........... : 0 (disabled/unsupported)

MSR_PMG_IO_CAPTURE_BASE..........(0xE4)  : 0x10414
------------------------------------------
 - LVL_2 Base Address................... : 0x414
 - C-state Range........................ : 1 (C-States not included, I/O MWAIT redirection not enabled)

IA32_MPERF.......................(0xE7)  : 0xACF485063
IA32_APERF.......................(0xE8)  : 0xB96AC7BB7
MSR_0x150........................(0x150) : 0x0

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

MSR_IA32_PERF_STATUS.............(0x198) : 0x204900001E00
------------------------------------------
 - Current Performance State Value...... : 0x1E00 (3000 MHz)

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

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

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

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

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

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

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

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

MSR_TURBO_RATIO_LIMIT............(0x1AD) : 0x2A2A2A2A2A2A2A2A
------------------------------------------
 - Maximum Ratio Limit for C01.......... : 2A (4200 MHz)
 - Maximum Ratio Limit for C02.......... : 2A (4200 MHz)
 - Maximum Ratio Limit for C03.......... : 2A (4200 MHz)
 - Maximum Ratio Limit for C04.......... : 2A (4200 MHz)
 - Maximum Ratio Limit for C05.......... : 2A (4200 MHz)
 - Maximum Ratio Limit for C06.......... : 2A (4200 MHz)
 - Maximum Ratio Limit for C07.......... : 2A (4200 MHz)
 - Maximum Ratio Limit for C08.......... : 2A (4200 MHz)

MSR_TURBO_RATIO_LIMIT1...........(0x1AE) : 0x2222222222222A2A
------------------------------------------
 - Maximum Ratio Limit for C09.......... : 2A (4200 MHz)
 - Maximum Ratio Limit for C10.......... : 2A (4200 MHz)

IA32_ENERGY_PERF_BIAS............(0x1B0) : 0x5
------------------------------------------
 - Power Policy Preference...............: 5 (balanced performance and energy saving)

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

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

MSR_PKG_POWER_LIMIT..............(0x610) : 0x7FFF80015FFF8
------------------------------------------
 - Package Power Limit #1............... : 4095 Watt
 - Enable Power Limit #1................ : 1 (enabled)
 - Package Clamping Limitation #1....... : 1 (allow going below OS-requested P/T state during Time Window for Power Limit #1)
 - Time Window for Power Limit #1....... : 10 (2560 milli-Seconds)
 - Package Power Limit #2............... : 4095 Watt
 - Enable Power Limit #2................ : 1 (enabled)
 - Package Clamping Limitation #2....... : 1 (allow going below OS-requested P/T state setting Time Window for Power Limit #2)
 - Time Window for Power Limit #2....... : 3 (20 milli-Seconds)
 - Lock................................. : 0 (MSR not locked)

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

MSR_PKGC3_IRTL...................(0x60a) : 0x0
MSR_PKGC6_IRTL...................(0x60b) : 0x0
MSR_PKG_C2_RESIDENCY.............(0x60d) : 0x298ED1EE0
MSR_PKG_C3_RESIDENCY.............(0x3f8) : 0xD638F0
MSR_PKG_C2_RESIDENCY.............(0x60d) : 0x298ED1EE0
MSR_PKG_C3_RESIDENCY.............(0x3f8) : 0xD638F0
MSR_PKG_C6_RESIDENCY.............(0x3f9) : 0x44911A9AC

IA32_TSC_DEADLINE................(0x6E0) : 0x11D3A1BDB3826

CPU Ratio Info:
------------------------------------------
Base Clock Frequency (BLCK)............. : 100 MHz
Maximum Efficiency Ratio/Frequency.......: 12 (1200 MHz)
Maximum non-Turbo Ratio/Frequency........: 30 (3000 MHz)
Maximum Turbo Ratio/Frequency............: 42 (4200 MHz)
P-State ratio * 100 = Frequency in MHz
------------------------------------------
CPU P-States [ (12) 27 30 ]
CPU C3-Cores [ 1 2 4 6 8 10 12 14 16 18 ]
CPU C6-Cores [ 0 2 4 6 8 10 12 14 16 18 ]
CPU P-States [ 12 17 27 (30) ]
CPU C3-Cores [ 1 2 3 4 6 7 8 10 11 12 14 15 16 18 19 ]
CPU C6-Cores [ 0 2 4 6 8 9 10 12 14 16 17 18 ]
CPU P-States [ (12) 17 27 30 31 ]
CPU C3-Cores [ 0 1 2 3 4 6 7 8 9 10 11 12 14 15 16 18 19 ]
CPU P-States [ (12) 14 17 27 30 31 ]
CPU C3-Cores [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 ]
CPU C6-Cores [ 0 2 4 6 8 9 10 12 14 15 16 17 18 ]
CPU P-States [ (12) 14 17 20 27 30 31 ]
CPU C3-Cores [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ]
CPU C6-Cores [ 0 1 2 4 6 7 8 9 10 12 14 15 16 17 18 ]
CPU P-States [ (12) 14 16 17 20 27 30 31 ]
CPU P-States [ (12) 14 16 17 18 20 27 30 31 ]
CPU P-States [ (12) 14 16 17 18 20 27 30 31 32 ]
CPU P-States [ (12) 14 16 17 18 20 22 27 30 31 32 ]
CPU C6-Cores [ 0 1 2 3 4 6 7 8 9 10 12 14 15 16 17 18 ]
CPU P-States [ (12) 13 14 16 17 18 20 22 27 30 31 32 ]
CPU C6-Cores [ 0 1 2 3 4 6 7 8 9 10 12 13 14 15 16 17 18 19 ]
CPU P-States [ (12) 13 14 16 17 18 20 22 23 27 30 31 32 ]
CPU P-States [ 12 13 14 (15) 16 17 18 20 22 23 27 30 31 32 ]
CPU P-States [ (12) 13 14 15 16 17 18 20 22 23 25 27 30 31 32 ]
CPU P-States [ (12) 13 14 15 16 17 18 20 21 22 23 25 27 30 31 32 ]
CPU C6-Cores [ 0 1 2 3 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ]
CPU P-States [ 12 13 14 15 16 17 18 20 21 22 23 (24) 25 27 30 31 32 ]
CPU P-States [ (12) 13 14 15 16 17 18 19 20 21 22 23 24 25 27 30 31 32 ]
CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 29 (30) 31 32 ]
CPU C6-Cores [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ]
CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 (42) ]
CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 36 (42) ]
CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 34 36 (42) ]
CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 34 35 36 (42) ]
CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 34 35 36 41 (42) ]
CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 34 35 36 37 41 (42) ]
CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 34 35 36 37 38 41 (42) ]
CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 34 35 36 37 38 39 41 (42) ]
CPU P-States [ (12) 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 34 35 36 37 38 39 40 41 42 ]
CPU P-States [ (12) 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38 39 40 41 42 ]
CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 (42) ]

To unload the AppleIntelInfo.kext, enter the terminal command:

Code:
sudo kextunload AppleIntelInfo.kext


E.7) Enhanced Intel SpeedStep Technology (EIST) and PMdrvr.kext:

View attachment 266763

If you want to go for EIST functionality, consider the necessary BIOS setting detailed below:

BIOS setting:

Advanced\CPU Configuration\CPU Power Management Configuration\
  • Enhanced Intel SpeedStep Technology (EIST): Enabled

Subsequently download and copy Brumbaer's PMDrvr.kext attached at the end of this post/guide to /EFI/CLOVER/kexts/Other/.

Note that there different versions for Broadwell-E and Haswell-E, namely the Broadwell-E PMDrvr.kext and Haswell-E PMDrvr.kext, respectively.

For further details and information see my Sierra Desktop Guide. In any case it should be highlighted that PMDrvr.kext is fully compatible with macOS High Sierra 10.13 and results in a really fantastic CPU power managment performance reflected in the Intel Power Gadget graphs below. The left panel depicts max. CPU load-conditions during three temporally consecutive manually launched Cinebench CPU benchmarks with idle-conditions in between. The right panel reflects the dynamic CPU behavior during one Geekbench 4.1.0 CPU Benchmark run.

View attachment 267257

Note however, that PMDrvr.kext has also a strong drawback as it breaks sleep/wake functionality. You therefore have to check both "Prevent computer from sleeping automatically when display is off" and "Put hard disks to sleep when possible" and uncheck "Wake for network access" and "Enable Power Nap"!

View attachment 268099

If you want to support the petition to Brumbaer for implementing Sleep/Wake functionality to PMDrvr.kext, leave an adequate comment and request in his corresponding thread on InsanelyMac.


E.8) Overclocking:

View attachment 266764

As in case of macOS Sierra 10.12, a 4.2 Ghz CPU Overclocking also results under macOS 10.13 in a very sufficient and stable system configuration. For the sake fo completeness I herewith once more summarize the requried BIOS settings after enabling the XMP switch on the Asus X99-A II and connecting the over-voltage jumper to pins 2-3:

Code:
- AI overclock Tuner: XMP
- BLCK Frequency: 100 Mhz
- Core Ratio: Sync All Cores
- 1-Core Ratio Limit: 42

A BLCK Frequency of 100 Mhz leads to the best NVMe performance. The core ratio of 42 corresponds to 4.2 Ghz overclocking.


E.9) ASUS X99-A II PCI Device Implementation - Sleep/Wake functionality

In order to properly implement all PCI devices available on your system and build, one needs an adequate ACPI DSDT Replacement Patch Table and a sophisticated SSDT-ASUS-X99-A-II.aml (attached at the bottom fo this originating post/guide). Both requirements have been successfully implemented based on the extensive efforts and extremely fruitful and brilliant work of @apfelnico , @nmano and @TheOfficialGypsy .

Note however that both ACPI DSDT Replacement Patch Table and SSDT-ASUS-X99-A-II.aml are build specific and have to be verified and likely adopted or modified for all mainboards different from the ASUS Prime X299 Deluxe and builds different from the one that constitutes the baseline of this guide. The verification and likely adaptation/modification can be performed by the help of IORegistryExplorer v1.2. Also note that the ACPI DSDT Replacement Patch Table and SSDT-ASUS-X99-A-II.aml implementation detailed below requires SMBIOS macPro6,1.

E.9.1) ACPI DSDT Replacement Patching Table 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-X99-10.13.1-Release-051217.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.
3.) ACPI DSDT Patch Table + SSDT-XOSI.aml

A set of DSDT Replacement patches (ACPI Table) originally developed by @apfelnico for X299 Systems, also help in achieving forced sleep/wake functionality on X99 Systems. Note that all required ACPI DSDT Replacement Patches are already implemented in the config.plist in the /EFI/CLOVER/ directory of the EFI-Folder contained in EFI-X99-10.13.1-Release-051217.zip. Just open the config.plist with Clover Configurator and investigate "DSDT patches" in Clover Configurator Section "ACPI".​

a.) ALZA -> HDEF is a DSDT replacement patch to achieve consistency with the SMBIOS macPro6,1 specific HDEF
onboard audio controller implementation.

If not already enabled in Section E.3), please enable this DSDT replacement patch now independent from your mainboard.

Code:
Comment:                Find*[Hex]      Replace [Hex]
ALZA -> HDEF          414c5a41        48444546

b.) OSI -> XOSI and EC0_ -> EC__ or H_EC -> EC__ are DSDT replacement patches to achieve consistency with a real
Mac variable naming.

i.) The XOSI functionality is required as explained by @RehabMan (just follow this LINK for
details). Thus please enable the OSI -> XOSI DSDT Replacement patch.
ii.) On the ASUS X99-A II and ASUS X99 Deluxe II we have EC0 and H_EC controllers, which have to be renamed to
'EC' for proper USB power management. Thus enable both EC0_ -> EC__ and H_EC -> EC__ DSDT Replacement Patches.
Code:
Comment:             Find*[Hex]      Replace [Hex]
OSI -> XOSI          5f4f5349        584f5349
EC0_ -> EC__         4543305f        45435f5f
H_EC  -> EC__        485f4543        45435f5f
c.) The HEC1 -> IMEI and IDER->MEID DSDT Replacement patches are Intel Management Engine Interface related and are
vital as MacOS requires the variable names "IMEI" and "MEID" to load the 'AppleIntelMEIDriver'. The latter functionality solves the 'iTunes/Apple Store Content Access Problem' which is discussed here.
Please enable now both DSDT Replacement patches independent from your mainboard.

Code:
Comment:             Find*[Hex]       Replace [Hex]
HECI -> IMEI         48454331         494d4549
IDER->MEID           49444552         4d454944
d.) The LPC0 -> LPCB DSDT Replacement Patch is AppleLPC and SMBus related and is applied for consistency with the
variable naming on a real Mac.

Please enable now this DSDT replacement patch independent from your mainboard.

Code:
Comment:             Find*[Hex]         Replace [Hex]
LPC0 -> LPCB         4c504330           4c504342
e.) FPU_->MATH, TMR_->TIMR, PIC_->IPIC are all DSDT Replacement Patches for consistency with the variable naming
on a real Mac. The variables are however functionless on either X99 systems or real Macs.

Please enable now all three DSDT Replacement Patches independent from your mainboard.

Code:
Comment:             Find*[Hex]        Replace [Hex]
FPU_ -> MATH         4650555f          4d415448
TMR_ -> TIMR         544d525f          54494d52
PIC_ -> IPIC         5049435f          49504943
f.) The DSM -> XDSM DSDT replacement patch will be vital for loading the SSDT-ASUS-X99-A-II.aml, as all DSM methods
used in the original DSDT do have a not compatible structure totally different from the real Mac environment. Without any fix, all DSM methods would be simply ignored. Note that one single device can have only one DSM method, which can assign additional properties to the respective device.
Thus please enable the latter DSDT replacement patch completely independent from your mainboard!

Code:
Comment:             Find*[Hex]         Replace [Hex]
_DSM -> XDSM         5f44534d            5844534d

Last but note least, in the /EFI/CLOVER/ACPI/patched/ directory of the EFI-Folder contained in EFI-X99-10.13.1-Release-051217.zip one finally finds the ssdt-xosi-aml, already implemented by default.
E.9.2) SSDT-ASUS-X99-A-II.aml PCI Implementation

View attachment 297180

For the proper PCI device implementation (detailed in the Figure above), which is mostly of cosmetic nature and not directly related to device functionality, we now have to revise and likely adopt or modify the attached SSDT-ASUS-X99-A-II.aml to our specific build, system configuration and PCIe slot population with the help of the IORegistryExplorer. Note that the SSDT-ASUS-X99-A-II.aml considers the following ASUS X99-A II slot distribution:

View attachment 297183


The entire section can also be simply skipped by unexperienced users, who also prefer to skip the implementation of the SSDT-ASUS-X99-A-II.aml and respective PCI Device implementation.

Note that for each device, the SSDT-ASUS-X99-A-II.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 devices is recommended!

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

DefintionBlock entry:

Code:
External (_SB_.PCI0.HDEF, DeviceObj)    // (from opcode)

PCI Device Implementation:

Code:
Scope (\_SB.PCI0.HDEF)
    {
        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            Store (Package (0x16)
                {
                    "layout-id",
                    Buffer (0x04)
                    {
                         0x01, 0x00, 0x00, 0x00                      
                    },

                    "MaximumBootBeepVolume",
                    Buffer (One)
                    {
                         0xEF                                        
                    },

                    "MaximumBootBeepVolumeAlt",
                    Buffer (One)
                    {
                         0xF1                                        
                    },

                    "multiEQDevicePresence",
                    Buffer (0x04)
                    {
                         0x0C, 0x00, 0x01, 0x00                      
                    },

                    "AAPL,slot-name",
                    Buffer (0x09)
                    {
                        "Built In"
                    },

                    "model",
                    Buffer (0x17)
                    {
                        "ASUS X99-A II HD Audio"
                    },

                    "hda-gfx",
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    },

                    "built-in",
                    Buffer (0x05)
                    {
                        "0x00"
                    },

                    "device_type",
                    Buffer (0x14)
                    {
                        "HD Audio Controller"
                    },

                    "name",
                    Buffer (0x22)
                    {
                        "Realtek ALC 1150 Audio Controller"
                    },

                    "PinConfigurations",
                    Buffer (0x05)
                    {
                        "0x00"
                    }
                }, Local0)
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local0)
        }
    }

The HDEF PCI device implementation is valid for the ASUS X99-A II and likely for all other mainboards with the Realtek ALC 1150 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) - GFX1, HDAU - Nvidia Graphics Card and HDMI/DP Audio PCI implementation

DefintionBlock entry:

Code:
External (_SB_.PCI0.BR3A, DeviceObj)    // (from opcode)
External (_SB_.PCI0.BR3A.D07C, DeviceObj)    // (from opcode)
External (_SB_.PCI0.BR3A.H000, DeviceObj)    // (from opcode)
External (_SB_.PCI0.BR3A.H001, DeviceObj)    // (from opcode)
External (_SB_.PCI0.BR3A.GFX1, DeviceObj)    // (from opcode)
External (_SB_.PCI0.BR3A.HDAU, DeviceObj)    // (from opcode)

PCI Device Implementation:

Code:
    Device (_SB.PCI0.BR3A.GFX1)
    {
        Name (_ADR, Zero)  // _ADR: Address
        Name (_SUN, One)  // _SUN: Slot User Number
        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LEqual (Arg2, Zero))
            {
                Return (Buffer (One)
                {
                     0x03                                        
                })
            }

            Store (Package (0x16)
                {
                    "built-in",
                    Buffer (One)
                    {
                         0x00                                        
                    },

                    "device-id",
                    Buffer (0x04)
                    {
                         0x06, 0x1B, 0x00, 0x00                      
                    },

                    "AAPL,slot-name",
                    Buffer (0x0B)
                    {
                        "PCI Slot 0"
                    },

                    "@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                      
                    },

                    "name",
                    Buffer (0x08)
                    {
                        "display"
                    },

                    "hda-gfx",
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    }
                }, Local0)
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local0)
        }

        Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
        {
            0x6D,
            Zero
        })
    }

    Device (_SB.PCI0.BR3A.HDAU)
    {
        Name (_ADR, One)  // _ADR: Address
        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LEqual (Arg2, Zero))
            {
                Return (Buffer (One)
                {
                     0x03                                        
                })
            }

            Store (Package (0x0C)
                {
                    "built-in",
                    Buffer (One)
                    {
                         0x00                                        
                    },

                    "device-id",
                    Buffer (0x04)
                    {
                         0xEF, 0x10, 0x00, 0x00                      
                    },

                    "AAPL,slot-name",
                    Buffer (0x0B)
                    {
                        "PCI Slot 0"
                    },

                    "device_type",
                    Buffer (0x1B)
                    {
                        "HDAU Multimedia Controller"
                    },

                    "name",
                    Buffer (0x15)
                    {
                        "NVIDIA HDMI/DP Audio"
                    },

                    "hda-gfx",
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    }
                }, Local0)
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local0)
        }

        Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
        {
            0x6D,
            Zero
        })
    }

    Name (_SB.PCI0.BR3A.H000._STA, Zero)  // _STA: Status
    Name (_SB.PCI0.BR3A.H001._STA, Zero)  // _STA: Status
    Name (_SB.PCI0.BR3A.D07C._STA, Zero)  // _STA: Status

The actual GFX1 and HDAU PCI device implementation should be valid for SMBIOS macPro6,1 (GFX0), the ASUS X99-A II and any Nvidia Graphics Card implemented in PCIe Slot 0.

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 0, will have to adopt the respective PCI0, BR3A, H000, H001, D07C, GFX1 device path entries, PCIe Slot definitions and PCI device properties following their respective IOREG entries.

E.9.2.3) - IMEI - onboard Intel Management Engine Interface (IMEI) Controller PCI Implementation

DefintionBlock entry:

Code:
External (_SB_.PCI0.IMEI, DeviceObj)    // (from opcode)

PCI Device Implementation:

Code:
Method (_SB.PCI0.IMEI._DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
    {
        Store (Package (0x0E)
            {
                "AAPL,slot-name",
                Buffer (0x09)
                {
                    "Built In"
                },

                "built-in",
                Buffer (One)
                {
                     0x00                                        
                },

                "device-id",
                Buffer (0x04)
                {
                     0x3A, 0x1E, 0x00, 0x00                      
                },

                "device_type",
                Buffer (0x10)
                {
                    "IMEI-Controller"
                },

                "name",
                Buffer (0x28)
                {
                    "Intel Management Engine Interface (MEI)"
                },

                "model",
                Buffer (0x26)
                {
                    "Intel X99-A II Chipset MEI Controller"
                },

                "compatible",
                Buffer (0x0D)
                {
                    "pci8086,1e3a"
                }
            }, Local0)
        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
        Return (Local0)
    }

The IMEI PCI device implementation should be valid for all X99 mainboards and should not require any build specific adaptation/modification. In any case verify device path "PCI0.IMEI" and PCI device implementations by means of IOREG.

E.9.2.4) - GLAN - onboard LAN Controller PCI Implementation

DefintionBlock entry:

Code:
External (_SB_.PCI0.GLAN, DeviceObj)    // (from opcode)

PCI Device Implementation:

Code:
Method (_SB.PCI0.GLAN._DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
    {
        Store (Package (0x0E)
            {
                "AAPL,slot-name",
                Buffer (0x09)
                {
                    "Built In"
                },

                "model",
                Buffer (0x2A)
                {
                    "Intel i218-V PCI Express Gigabit Ethernet"
                },

                "name",
                Buffer (0x21)
                {
                    "Intel i218-V Ethernet Controller"
                },

                "built-in",
                Buffer (One)
                {
                     0x00                                        
                },

                "device-id",
                Buffer (0x04)
                {
                     0xA1, 0x15, 0x00, 0x00                      
                },

                "subsystem-id",
                Buffer (0x04)
                {
                     0xC4, 0x85, 0x00, 0x00                      
                },

                "subsystem-vendor-id",
                Buffer (0x04)
                {
                     0x43, 0x10, 0x00, 0x00                      
                }
            }, Local0)
        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
        Return (Local0)
    }

Note that the GLAN Intel i218-V Ethernet onboard LAN controller PCI implementation is of pure cosmetic nature and valid for the ASUS X99-A II or X99 mainboards with the same LAN Controller configuration. Owners of different X99 mainboards have to verify and adopt/modify if necessary the device path "PCI0.GLAN" and the PCI device implementations by means of IOREG.

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

DefintionBlock entry:

Code:
External (_SB_.PCI0.XHCI, DeviceObj)    // (from opcode)

PCI Device Implementation:

Code:
Method (_SB.PCI0.XHCI._DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
    {
        Store (Package (0x1A)
            {
                "AAPL,slot-name",
                Buffer (0x09)
                {
                    "Built In"
                },

                "device-id",
                Buffer (0x04)
                {
                     0x31, 0x8D, 0x00, 0x00                      
                },

                "subsystem-id",
                Buffer (0x04)
                {
                     0x00, 0x86, 0x00, 0x00                      
                },

                "subsystem-vendor-id",
                Buffer (0x04)
                {
                     0x43, 0x10, 0x00, 0x00                      
                },

                "AAPL,current-available",
                0x0834,
                "AAPL,current-extra",
                0x0898,
                "AAPL,current-extra-in-sleep",
                0x0640,
                "AAPL,device-internal",
                0x02,
                "AAPL,max-port-current-in-sleep",
                0x0834,
                "name",
                Buffer (0x19)
                {
                    "Intel XHC USB Controller"
                },

                "model",
                Buffer (0x2F)
                {
                    "Intel X99-A II Chipset XHC USB Host Controller"
                },

                "device_type",
                Buffer (0x1F)
                {
                    "USB eXtensible Host Controller"
                },

                "AAPL,clock-id",
                Buffer (0x05)
                {
                    "0x01"
                }
            }, Local0)
        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
        Return (Local0)
    }

The XHCI USB3.0 PCI device implementation is valid for the ASUS X99_A II and for all other X99 mainboards with the same XHCI controller chipset. Verify and adopt/modify if necessary device path "PCI0.XHCI" and PCI device implementations by means of IOREG.


E.9.2.8) ASMedia ASM1142 USB 3.1 Controller PCI Implementation

DefintionBlock entry:

Code:
External (_SB_.PCI0.RP05.D082, DeviceObj)    // (from opcode)

PCI Device Implementation:

Code:
Scope (\_SB.PCI0.RP05.D082)
    {
        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            Store (Package (0x0A)
                {
                    "AAPL,slot-name",
                    Buffer (0x09)
                    {
                        "Built In"
                    },

                    "built-in",
                    Buffer (One)
                    {
                         0x00                                        
                    },

                    "device-id",
                    Buffer (0x04)
                    {
                         0x42, 0x12, 0x00, 0x00                      
                    },

                    "name",
                    Buffer (0x1B)
                    {
                        "ASMedia USB 3.1 Controller"
                    },

                    "model",
                    Buffer (0x28)
                    {
                        "ASMedia ASM1142 USB 3.1 Type-A & Type-C"
                    }
                }, Local0)
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local0)
        }
    }

The ASMedia ASM1142 USB 3.1 onboard Intel AHCI SATA controller PCI device implementation is valid for the ASUS X99-A II and for all other X99 mainboards with the same XHC USB3.1 controller ASMedia ASM1142 chipset configuration. Verify and adopt/modify if necessary device path "PCI0.RP05.D082" and PCI device implementations by means of IOREG.

E.9.2.9) - SAT1 - Intel AHCI SATA Controller PCI Implementation

DefintionBlock entry:

Code:
External (_SB_.PCI0.SAT1, DeviceObj)    // (from opcode)

PCI Device Implementation:

Code:
Method (_SB.PCI0.SAT1._DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
    {
        Store (Package (0x0E)
            {
                "AAPL,slot-name",
                Buffer (0x09)
                {
                    "Built In"
                },

                "built-in",
                Buffer (0x05)
                {
                    "0x00"
                },

                "name",
                Buffer (0x16)
                {
                    "Intel AHCI Controller"
                },

                "model",
                Buffer (0x27)
                {
                    "Intel X99-A II Chipset SATA Controller"
                },

                "compatible",
                Buffer (0x0D)
                {
                    "pci8086,8d02"
                },

                "device_type",
                Buffer (0x10)
                {
                    "AHCI Controller"
                },

                "device-id",
                Buffer (0x04)
                {
                     0x02, 0x8D, 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 X99-A II and for all other X99 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.10) - EVSS - Intel X99 sSata Controller PCI Implementation

DefintionBlock entry:

Code:
External (_SB_.PCI0.EVSS, DeviceObj)    // (from opcode)

PCI Device Implementation:

Code:
Method (_SB.PCI0.EVSS._DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
    {
        Store (Package (0x0E)
            {
                "AAPL,slot-name",
                Buffer (0x09)
                {
                    "Built In"
                },

                "built-in",
                Buffer (0x05)
                {
                    "0x00"
                },

                "name",
                Buffer (0x1B)
                {
                    "Intel X99 sSata Controller"
                },

                "model",
                Buffer (0x28)
                {
                    "Intel X99-A II Chipset sSATA Controller"
                },

                "compatible",
                Buffer (0x0D)
                {
                    "pci8086,8d62"
                },

                "device_type",
                Buffer (0x10)
                {
                    "AHCI Controller"
                },

                "device-id",
                Buffer (0x04)
                {
                     0x62, 0x8D, 0x00, 0x00                      
                }
            }, Local0)
        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
        Return (Local0)
    }

The EVSS onboard Intel X99 sSATA controller PCI device implementation is valid for the ASUS X99-A II and for all other X99 mainboards with the same X99 sSATA controller chipset. Verify and adopt/modify if necessary device path "PCI0.SAT1" and PCI device implementations by means of IOREG.

E.9.2.11) - NVMe Controller PCI Implementation

DefintionBlock entry:

Code:
External (_SB_.PCI0.BR1B.D075, DeviceObj)    // (from opcode)

PCI Device Implementation:

Code:
Method (_SB.PCI0.BR1B.D075._DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
    {
        Store (Package (0x0C)
            {
                "AAPL,slot-name",
                Buffer (0x09)
                {
                    "NVMe SSD"
                },

                "built-in",
                Buffer (0x09)
                {
                    "NVMe SSD"
                },

                "device-id",
                Buffer (0x04)
                {
                     0x04, 0xA8, 0x00, 0x00                      
                },

                "name",
                Buffer (0x05)
                {
                    "NVMe"
                },

                "model",
                Buffer (0x2D)
                {
                    "Samsung NVMe M.2 SSD 960 EVO 1TB MZ-V6E1T0BW"
                },

                "device_type",
                Buffer (0x3F)
                {
                    "Samsung Electronics Co Ltd NVMe M.2 SSD Controller SM961/PM961"
                }
            }, Local0)
        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
        Return (Local0)
    }

The current NVMe Controller PCI implementation is purely cosmetic nature and is valid for the ASUS X99-A II and the Samsung EVO 960 1TB. Verify and adopt/modify if necessary device paths "PCI0.BR1B.D075" and the respective PCI device implementations by means of IOREG.

E.9.2.12) - Inateck KTU3FR-502U XHC 7-Port USB 3.0 Controller

DefintionBlock entry:

Code:
External (_SB_.PCI0.BR2A.XHC2, DeviceObj)    // (from opcode)

PCI Device Implementation:

Code:
Device (_SB.PCI0.BR2A.XHC2)
    {
        Name (_ADR, Zero)  // _ADR: Address
        Name (_SUN, 0x03)  // _SUN: Slot User Number
        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LEqual (Arg2, Zero))
            {
                Return (Buffer (0x03)
                {
                     0x03                                        
                })
            }

            Store (Package (0x0A)
                {
                    "AAPL,slot-name",
                    Buffer (0x0B)
                    {
                        "PCI Slot 3"
                    },

                    "name",
                    Buffer (0x22)
                    {
                        "SuperSpeed XHC USB 3.0 Controller"
                    },

                    "model",
                    Buffer (0x32)
                    {
                        "Inateck KTU3FR-502U XHC 7-Port USB 3.0 Controller"
                    },

                    "device_type",
                    Buffer (0x1F)
                    {
                        "USB eXtensible Host Controller"
                    },

                    "device-id",
                    Buffer (0x04)
                    {
                         0x00, 0x11, 0x00, 0x00                      
                    }
                }, Local0)
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local0)
        }

        Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
        {
            0x6D,
            Zero
        })
    }
    Name (_SB.PCI0.BR2A.H000._STA, Zero)  // _STA: Status
    Name (_SB.PCI0.BR2A.D07F._STA, Zero)  // _STA: Status

The Inateck KTU3FR-502U XHC 7-Port USB 3.0 PCIe Adapter PCI device implementation is of pure cosmetic nature and only valid for users of the latter XHC USB3.0 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 path entries PCI0, BR2A, XHC2. Users of XHC USB3.0 PCIe Adapters different from the Inateck KTU3FR-502U XHC 7-Port USB 3.0 PCIe Adapter or users without any additional XHC USB3.0 PCIe Adapter, have to either adopt the entire XHC USB3.0 PCIe Adapter PCI implementation by means of IOREG or can simply skip the entire part.

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

DefintionBlock entry:

Code:
External (_SB_.PCI0.RP07.ARPT, DeviceObj)    // (from opcode)


PCI Device Implementation:

Code:
Device (_SB.PCI0.RP07.ARPT)
    {
        Name (_ADR, Zero)  // _ADR: Address
        Name (_SUN, 0x04)  // _SUN: Slot User Number
        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LEqual (Arg2, Zero))
            {
                Return (Buffer (0x04)
                {
                     0x03                                        
                })
            }

            Store (Package (0x08)
                {
                    "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)
        }

        Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
        {
            0x6D,
            Zero
        })
    }

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 4. Users of this PCIe Adapter within a PCIe slot population different from PCIe Slot 4 have to adapt/modify the respective device path "PCI0.RP07.ARPT". 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.14) - ThunderboltEX 3 Controller PCI Implementation:

The ASUS X99-A II is not equipped with the TBEX 3 PCIe adapter. All users of the latter PCIe Adapter I kindly asked to investigate the PCI implementation in the SSDT-X299.aml for the ASUS Prime X299 Deluxe attached and described (Section E.9.2.13) in my Skylake-X/X299 macOS High Sierra 10.13 Desktop Guide.

E.9.2.15) - DTGP Method:

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

After successfully implementing the ACPI DSDT Replacement Patch Table, SSDT-ASUS-X99-A-II.aml and ssdt-xosi-aml, my system now possesses full sleep/wake functionality. Absolutely amazing!

Note the following additional Sleep/Wake requirements:
a.) Due to the sleep/wake incompatibility of PMdrvr.kext disable EIST in the mobo-BIOS and remove PMdrvr.kext from
"/EFI/CLOVER/kexts/Other/". PMDrvr.kext frequently causes a black screen or reboot on wake thus it is up to the users decision to go with EIST and PMdrvr.kext or to go for sleep/wake functionality.​


b.) In D.1/5.5 or D.2/4.e you already copied the appropriate "VoodooTSCSync.kext", which you modified by following error
prevention C/8., to the /EFI/Clover/kexts/Other/ directories of your USB Flash Drive and 10.13 System Disk.

Note once more that "VoodooTSCSync.kext" is absolutely mandatory for sleep/wake functionality!
c.) I added the "darkwake=1" boot flag to my config.plist by means of Clover Configurator, Section "Boot", "Arguments".

d.) Note that I also added an additional SSDT-SLEEP.aml, attached towards the end of this post, to the
"/EFI/CLOVER/ACPI/patched/-directory " of my System Disk. For a detailed explanation follow THIS LINK to pikeralpha.wordpress.com. Note that after one Sleep/Wake process, one finds adequate IORegistry entries for "IOPMDeepIdleSupported" and "IOPMSystemSleepType" in "IOService:/AppleACPIPlatformExpert/IOPMrootDomain/".
In contrary, I still miss the "PMStatusCode" entry.

View attachment 267939

e.) If you want to restore the old Energy Saver Settings in System Preferences including the missing computer sleep slider bar,
follow the instructions of @ghorwith provided by this link.​


E.10) Hardware Monitoring:

View attachment 266765

The HWMonitor.app allows to access information from hardware sensors of your hackintosh. It works along with the FakeSMC.kext and some additional Sensor kext-plugins, being already part of the EFI folder attached towards the end of the actual post. To achieve Hardware Monitoring functionality, just download and run the HWMonitor.app (attached towards the end of the actual post) from your Application Folder.

View attachment 266806


E.11) System Overview CPU Cosmetics

As our Broadwell-E/EP (Haswell-E/EP) CPU is not properly or fully recognised by OS X, Apple's System Overview ("About This Mac") reveals incomplete or simply wrong CPU details.

View attachment 291443

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 below the necessary steps.

1.) Open a terminal and use the following commands:

Code:
cp /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/Resources/English.lproj/AppleSystemInfo.strings ~/Desktop/

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

Code:
<key>UnknownCPUKind</key>
<string>Unknown</string>

to what ever you want. In my case I choose:

Code:
<key>UnknownCPUKind</key>
<string>4.4 Ghz 10-core 20-thread Broadwell-E i7-6950X</string>

Save "AppleSystemInfo.strings"
3.) Run the following terminal commands:

Code:
sudo codesign -f -s - ~/Desktop/AppleSystemInfo.strings

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

Code:
sudo rm /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/Resources/English.lproj/AppleSystemInfo.strings

Code:
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.12) Control System Integrity Protection (SIP):

Edit the config.plist in the EFI-folder of your System Disk with the Clover Configurator and change in the "RT Variables" Section the Controls System Integrity Protection (SIP) value "CSRActiveConfig" from "0x67" (disabled completely) to "0x3" (partially disabled) to allow the load of unsigned kexts and software from the AppStore and third party providers.


F.) Benchmarking:

View attachment 266767

i7-6950X CPU-Benchmarks:

CPU benchmarks reveal a nearly identical CPU performance under 10.12 and 10.13. Compare the figures below with those published in my 10.12 macOS Sierra Desktop Guide.

View attachment 281191
View attachment 281195

Gigabyte AORUS GTX 1080 TI Extreme 11GB - OpenGL and Metal Benchmarks:

View attachment 281196
View attachment 281200
View attachment 281204
View attachment 281205
View attachment 281206
View attachment 281207


Blackmagic Disk Speed Benchmarks v3.1:


Disk Speed Benchmarks also reveal nearly identical Disk Speed performance under 10.12 and 10.13. Compare the figure below with the one published in my 10.12 macOS Sierra Desktop Guide.

View attachment 267958


G.) Summary and Conclusion:

View attachment 266768

Already during the individual macOS High Sierra 10.13 beta releases, X99 systems reached full functionality together with flawless stability. Since the Final Release of macOS High Sierra 10.13, it might be the right moment to follow my desktop guide and to unfold the unbelievable X99 potential together with macOS High Sierra 10.13! Using e.g. a test drive for this endeavour, will neither affect nor harm your current macOS Sierra 10.12 Installation!

As already mentioned towards the end of my macOS Sierra Desktop Guide, I am quite optimistic that high-end X99 builds can find manifold application, not only in science and research at universities or research institutions, engineering facilities, or medical labs, etc... Latest successful user feedback with respect to Broadwell-EP/Haswell-EP processers with up to 22 cores (44 threads) at clock speeds around 2.8 Ghz each thread makes X99 to a "realtively cheap" but extremely serious alternative to 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 stable and relatively "low-cost" high-end systems nowadays, that go far beyond of what Apple is able to offer at present or will be ever able to offer for some reasonable pricing. A system based on X99, 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 configurations). The flexibility between different boards (Asus, Gigabyte, ASRock, MSI, etc.), different processor models (Broadwell-E/EP, Haswell-E/EP) and different RAM memory configurations (16-128GB) makes such system affordable for anybody (also home office, audio and video editing/production, etc.) and allows its perfect adaptation for the specific purpose, requirements and available budgets.

Finally, it might not be necessary to mentioned in addition that X99 system reached such high level of sophistication and stability to reliably and perfectly run 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.

Good luck and enjoy!

 
Broadwell-E/X99 Build and Broadwell-E/EP (Haswell-E/EP)/x99 Guide successfully updated to 10.13.2 :headbang:

Overview-X99-10.13.2.png


New EFI-Folder attached at the end of the originating post/guide and here below.

EFI-Folder related modifications:
  • Implementation of apfs.efi v10.13.2 from 10 November 2017 in /EFI/CLOVER/drivers64UEFI/.

Guide related modifications:

  • Minor revision of the entire guide for 10.13.2 compatibility

Enjoy and have fun :thumbup:

kgp.png
 

Attachments

  • EFI-X99-10.13.2-Release-071217.zip
    17.5 MB · Views: 1,773
Hey guys, I am running 13.1 at the moment on a gigabyte x99-UD4 with a 5820K processor. My main issue is sleep/wake doesn't work and my CPU runs at a constant 50W.

I am not advanced at all and not sure how to follow/implement the steps given on this thread because of the different board and processor.

Any help or insight would be highly appreciated. I have attached my EFI folder and ssdt file I am currently using.

Thank you in advance

Sorry I had attached older EFI this one has the current EFI folder attached thanks
 

Attachments

  • EFI.zip
    22.6 MB · Views: 105
Broadwell-E/X99 Build and Broadwell-E/EP (Haswell-E/EP)/x99 Guide successfully updated to 10.13.2 :headbang:

View attachment 297848

New EFI-Folder attached at the end of the originating post/guide and here below.

EFI-Folder related modifications:
  • Implementation of apfs.efi v10.13.2 from 10 November 2017 in /EFI/CLOVER/drivers64UEFI/.

Guide related modifications:
  • Minor revision of the entire guide for 10.13.2 compatibility

Enjoy and have fun :thumbup:

View attachment 297850

Same thing. I'mwondering if this is a mistake or not ?

the other thing with this update I have no sound after wake up from sleep, devices are there but nothing coming out from the speakers, was ok before so I think it could be related updated kext
 
Hello KGP, my motherboard is ASUS RAMPAGE V EXTREME / U3.1, CPU is 5930K, NVME device is inter750 400G, video card is GTX960, I follow your guide to configure EFI and installed macOS10.13.2, the question now is sleep Wake-up, wake-up after a manual sleep can be successful for the first time, but the second and later times, there will be a chance of wake-up failure, the specific performance is 1: the screen is off, 2: The USB device's light is off, 3: NVME device indicator is on, 4: Motherboard lights, fan work, the motherboard code is still displayed 30. I want to know where is the problem, can you help me, thank you very much:thumbup:
 

Attachments

  • EFI.zip
    33.5 MB · Views: 159
Last edited:
Hello KGP, my motherboard is ASUS RAMPAGE V EXTREME / U3.1, CPU is 5930K, NVME device is inter750 400G, video card is GTX960, I follow your guide to configure EFI and installed macOS10.13.2, the question now is sleep Wake-up, wake-up after a manual sleep can be successful for the first time, but the second and later times, there will be a chance of wake-up failure, the specific performance is 1: the screen is off, 2: The USB device's light is off, 3: NVME device indicator is on, 4: Motherboard lights, fan work, the motherboard code is still displayed 30. I want to know where is the problem, can you help me, thank you very much:thumbup:

check the motherboard code wether it related to memory module.
x99 have a common problem,sometimes.wake from sleep will hang up caused by memory.even on windows.
search the code in google with sleep、wake keywords.
if its related to memory,try reseat memory,cpu,loose cpu cooler,adjust fivr,vccsa voltage.then if unsolved,sorry no way to resolve.
 
Did you properly configure, implement and test your XCPM functionality?

Hey KPG, thanks for your reply.

It seems I got it working now, XCPM and power management including sleep.

The only issue I have now is that I have noticed that when I use KextToPatch "X99 Patch by Brumbaer" my system takes 3-4 times longer to boot than before.

Any ideas?

Thanks
 
Status
Not open for further replies.
Back
Top