The Perfect Customac-Pro: X99-A II, i7-6950X, 128GB G.Skill TridentZ, Aorus GTX 1080 TI Xtreme

Discussion in 'Sierra Desktop Guides' started by kgp, Jan 6, 2017.

  1. kgp

    kgp

    Joined:
    May 30, 2014
    Messages:
    345
    Mobo:
    Asus X99-A II
    CPU:
    Intel I7-6950X
    Graphics:
    AORUS GTX 1080 TI-X
    Mac:
    iMac, MacBook Pro, Mac mini
    Mobile Phone:
    iOS
    Jan 6, 2017 at 8:45 AM #1
    kgp

    kgp

    Joined:
    May 30, 2014
    Messages:
    345
    Mobo:
    Asus X99-A II
    CPU:
    Intel I7-6950X
    Graphics:
    AORUS GTX 1080 TI-X
    Mac:
    iMac, MacBook Pro, Mac mini
    Mobile Phone:
    iOS
    System.Info.png

    Being frustrated about the present Customac Pro hardware configuration proposed by Tonymacx's Buyer's guide, I decided to go for a new Customac Pro Build based on the Broadwell-E CPU, X99 chip-set and LGA2011-v3 socket with Mac OS Sierra beating records, running like hell and behaving absolutely stable.

    compose3-half.png


    Hardware Buyer's Guide

    Motherboard: Asus X99-A II
    Optional and fully compatible with this guide is the twice as expensive Asus X99 Deluxe II motherboard with on-board 802.11ac-WLAN/Bluetooth and a Thunderbolt EX 3 extension card (thanks to @KevinAGI and @Thireus for their feedback). While the built-in 802.11ac-WLAN/Bluetooth of the Asus X99 Deluxe II runs native OoB, one finds an extended discussion along my thread how to successfully run the Thunderbolt EX 3 extension card (see the individual posts subsequent to my guide; also thanks to @BoomR for his valuable input). Compliance with my guide also has been reported for the Asus Rampage V Extreme (thanks to @morganb), the Asus X99-E (thanks to @superjunaid), the ASRock X99 Taichi (thanks to @welkram; mobo drawback: on-board WIFI/Bluetooth not supported by MacOS), the Gigabyte X99-UD4 (thanks to @ahmadno; mobo drawback: internal NVMe runs only at x2/x1 speeds, i.e. 700MB/s at most), the Gigabyte X99-SLI (thanks to @Coquin), the Gigabyte X99 Ultra Gaming (thanks to @gajaciosif and @hooked) and the Gigabyte x99-SOC-Force (thanks to @hooked). I indeed expect compatibility of my guide with most of the X99 mobos (further success feedback will be appreciated and is highly welcome). @hooked even reports full sleep/wake functionality on both Gigabyte X99 Ultra Gaming and Gigabyte X99-SOC-Force, while on the ASUS X99-A II I still face reboot on wake problems.​
    CPU: I7-6950X(10-core)
    I7-6800K (6-core); I7-6850K (6-core), I7-6900K (8 core) are further "low-budget" options. HERE you find the ASUS X99-A II CPU compatibility list. Note that concerning XCPM, for Haswell-E or Ivy-Bridge-E CPUs some of the "KerneltoPatch"-entries differ from those for Broadwell-E CPUs provided below.​
    RAM: 128GB KIT (8x16GB) G.Skill TridentZ (F4-3200C14Q2-128GTZSW)
    You are free to select any other memory configuration specified by the ASUS Memory Qualified Vendors List that I attach at the bottom of this thread. Important Note: Initially, I used 2x Crucial Ballistix Sport LT 64 GB Kit (128GB). However I faced stability issues with this memory type not specified for the ASUS X99-A II.​
    System Disk: Samsung 850 EVO 1TB (SSD) / Samsung 960 EVO 1TB (NVMe, M.2)
    RAID: 3x Western Digital Red Pro 6TB (18TB); Note that the the ASUS X99-A II employs Intel Rapid Storage for RAID creation,
    which is not supported by MacOS. In order to create a Hardware RAID you need to use a hardware RAID controller (PCIE), external hardware RAID array (like an Areca ARC-8050T2 or OWC Qx2). Alternatively you can create a software RAID using Disk Utility or software like SoftRAID (thanks to @flmmkr and @dogmaphobic for their clarifications).​
    Graphics: Gigabyte AORUS GeForce® GTX 1080 Ti Xtreme Edition 11G (GV-N108TAORUS X-11GD)
    On 4/10/2017, Nvidia released web drivers with support for all Pascal GPUs (378.05.05.05f01). Definitely time to say bye-bye to Maxwell and my former Gigabyte GeForce GTX 980 TI ;). See the new benchmark results towards the end of my guide. However, it should be emphasized at this place that any other Nvidia Pascal or Maxwell GPU will be compatible with this guide and build (see e.g. Tonymacx Pascal Graphics Cards Byer's Guide).​
    Wifi + Bluetooth: OSXWIFI PC/Hackintosh - Apple Broadcom Bcm94360cd - 802.11 A/B/G/N/AC + Bluetooth 4.0 PCIe
    Adapter. Works flawless! Native MacOS-support, native Airdrop support, native Handoff support, supports Bluetooth keyboard in BIOS/UEFI or Clover Bootloader. Windows 10 driver for dual-boot system attached to this post. Thanks to @dasboot5 for this excellent advice.​
    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. Only drawback: No G-sync support for game enthusiasts.
    This monitor replaces my former Asus MX299Q, 29", WQHD, 21:9, 2560x1080 pix, 60 Hz Display.​
    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)
    Cable-management: Individually Sleeved AX 860/760 ATX 24pin (white) CP-8920074; Professional Individually sleeved DC
    Case modding: 2x Nanoxia Rigid Bar RGB NRLED30RGB; HitLights RGB LED Light Strip 4 Pin Splitter; Nanoxia Led controller
    NXRGBC (ASUS Aura control software only available for windows; extremely rudimentary Aura BIOS settings; no option for separate control of individual aura components).​


    cover-open-hr.png


    BIOS Configuration Guide

    Just apply @giacomoleopardo 's BIOS settings provided below. This BIOS configuration is complete and is one of the corner stones for a stable Mac OS Sierra system based on X99.

    bios04.jpeg

    1.) go to Exit\
    a) Load Optimized Defaults​
    2.) go to Ai Tweaker\
    a) ASUS Multicore Enhancement: "Disabled"
    b) CPU Core Ratio: "Auto"
    c) Internal PLL Overvoltage: "Disabled"​
    3.) go to Advanced\CPU Configuration\CPU Power Management Configuration\
    a) Enhanced Intel SpeedStep Technology: "Disabled"
    b) Turbo mode: "Enabled"
    c) CPU C-State: "Auto"​
    4.) go to Advanced\USB Configuration\
    a) Intel xHCI Mode: "Enabled" or "Smart Auto", depending on whether an USB3 or USB2 Boot-Stick will be used for MacOs Sierra installation (thanks to @KevinAGI for providing this important information).
    b) EHCI Legacy Support: "Enabled"
    c) xHCI Hand-off: "Enabled"
    d) EHCI Hand-off: "Disabled"​
    5.) go to Advanced\Onboard Devices Configuration\
    a) SPDIF Out Type: "HDMI"
    b) PCIEX16_2 Slot Bandwidth: "Auto"
    c) Serial Port: "Off"​
    6.) go to \Boot\
    a.) Fast Boot: "Disabled"
    b) Setup Mode: "Advanced"​
    7.) go to \Boot\CSM (Compatibility Support Module)\
    a) Launch CSM: "Disabled"​
    8.) go to \Boot\Secure Boot\
    a) OS Type: "Other OS"
    b) Define the harddrive BBS priorities​
    10.) Press F10 key to Save and Reboot


    Bootable USB Drive Creation and MacOS Sierra Installation Guide

    usb-stick.png
    If you do not possess an already pre-installed MacOS Sierra 10.12 distribution on your new hackintosh, you will have to create now a bootable USB installation medium on any Macintosh or Hackintosh you already have at your disposal and subsequently install MacOs Sierra 10.12 on your new system by means of the respective USB installation medium you created before. Please strictly follow this "Bootable USB Drive creation and MacOS Sierra Installation Guide" and DO NOT use UNIBEAST instead! Unibeast will create files in the /EFI/CLOVER/ directory of your USB installation medium you do not want to have there. If you already created a USB installation medium with unibeast before, delete the "config.plist" file and "/drivers64UEFI/" and "/kexts/10.12/" directories in the /EFI/CLOVER/ directory of your USB installation medium and proceed with this "Bootable USB Drive creation and MacOS Sierra Installation Guide". If you do already have a pre-installed MacOS Sierra 10.12 distribution on your new hackintosh, directly jump to my "System Disk Post-Installation Guide" below.

    1.) Download the latest version of MacOS Sierra by performing the following actions:
    a) Delete any version of the MacOS Sierra installer from your "Applications" folder if older versions of the installer exist.
    b) Go to the App-Store, and download Sierra.​

    2.) Prepare an USB thumb drive with Disk Utility with the following options:
    a) GUID Partition Table
    b) Mac OS Extended (Journaled)
    c) Use the name “USB”​

    3.) Type in a Terminal the following command:

    sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ Sierra.app --no interaction

    This will take some time

    4.) Download and install the latest Clover distribution on your USB-DISK by verifying the proper Install-location (USB-DISK) and customizing (dont press "Install" but "Customize" instead) the following options:

    a) Install for UEFI booting only
    b) Install Clover in the ESP
    c) Select the Bootloader Themes you want to install
    e) Only select EmuVariableUefi-64.efi in the Drivers64UEFI menu!

    During installation, Clover will automatically create and mount the EFI drive of the USB installation medium and copy all
    required files to the /EFI/CLOVER/Drivers64UEFI/ directory.

    5.) When Clover Installation completes, download and copy the "config.plist" file and "/kexts/10.12/" directory of ptzulu (attached to this post) into the "CLOVER" directory of the EFI partition of your USB installation medium. Note that there is a later version of @RehabMan 's IntelmausiEthernet.kext (also attached to my post), which however does change the Ethernet-throughput (thanks to @musikprylar for his advice). Furthermore, download and copy nickwoodham's "OsxAptioFix2Drv-free2000.efi" file (attached to this post) into the /EFI/CLOVER/Drivers64UEFI/ directory of your USB installation medium (thanks to @BoomR, @P1LGRIM and @Thireus for the info). Delete any other "OsxAptioFix*Drv**.efi" files if previously installed. OS X 10.11.4 and greater allocates memory above the memory space which is covered by the AptioFixDrv memory relocation, while OS X 10.11.3 and earlier tries to allocate memory in the low memory range that is already occupied. "OsxAptioFix2Drv-xx.efi" frees the first 512MB of fragmented memory which gives ample room for the MacOS kernel and kernel cache and applies memory map fixes which allow MacOS to communicate with your installed hardware. Without the "OsxAptioFix2Drv-xx.efi" fix, your system might become unstable (random reboots). Finally, download the latest Version of the Clover Configurator and open ptzulu's "config.plist" file in the /EFI/CLOVER/ directory on the EFI-Paritition of your USB installation medium. Verify that in "Kernel and Kext Patches" you use FakeCPUID 0x040674 (Broadwell-E). In case you try my guide with a Haswell-E CPU, use FakeCPUID 0x0306F0.

    No other files will be needed for the X99-A II board! Note that also kext files like the "VoodooTSCSync.kext" (to enable CPUs with a higher number of cores), the "NullCPUPowerManagement.kext", the "BrcmBluetoothInjector.kext" or the "AppleIntelE1000e.kext" apparently are not required anymore. The configuration files are also valid for the ASUS X-99 Deluxe II, ASUS Rampage V Extreme, ASUS X99-E, ASRock X99 Taichi, Gigabyte X99-UD4, Gigabyte X99-SLI, Gigabyte X99 Ultra Gaming and the Gigabyte X99-SOC-Force (once more thanks to @KevinAGI, @Thireus, @morganb, @superjunaid, @welkram, @ahmadno, @Coquin, @gajaciosif and @hooked and for their feedback).

    !!You are done!!

    6.) Before installing MacOS Sierra on your new system, don't forget to apply the BIOS settings listed above.

    7.) Boot the USB Installation Medium with the following boot options: -v npci=0x2000 nv_disable=1

    8.) Install MacOS Sierra onto your system

    9.) Now perform the Post-Installation procedure described below



    System Disk Post-Installation Guide

    ssd.png

    Install the latest CLOVER distribution on your System Disk

    Download and install the latest Clover distribution on your Sierra system disk by verifying the proper Install-Location (Sierra System Disk) and customizing (don't press "Install" but "Customize" instead) the following options:

    a) Install for UEFI booting only
    b) Install Clover in the ESP
    c) Select the Bootloader Themes you want to install
    d) Enable Install RC scripts on target volume
    e) Only select EmuVariableUefi-64.efi in the Drivers64UEFI menu!
    f) Select Install RC scripts on target volume
    g) Select Install Clover Preference Pane​

    During installation, Clover will automatically create and mount the EFI drive of your Sierra system disk and copy all required files to the /EFI/CLOVER/Drivers64UEFI/ directory.

    cloverbeast.png

    Clover Configuration

    1.) Download the following configuration files of ptzulu (for further details see the post of ptzulu on insanelymac), which I attach once more at the end of my post:

    a) "config.plist.zip" -> download, unzip and copy the "config-plist" file to the "/EFI/CLOVER" directory of the "EFI" partition of your Sierra system disk.
    b) "kexts.zip" -> download, unzip and copy the "kexts" directory to the "/EFI/CLOVER/" directory of the "EFI" partition of your Sierra system disk. Note that there is a later version of @RehabMan 's IntelmausiEthernet.kext (also attached to my post), which however does change the Ethernet-throughput (thanks to @musikprylar for his advice).
    c) "OsxAptioFix2Drv-free2000.efi.zip" download, unzip and copy nickwoodham's "OsxAptioFix2Drv-free2000.efi" file (attached to this post) into the /EFI/CLOVER/Drivers64UEFI/ directory of your Sierra System disk (Thanks to @BoomR, @P1LGRIM and @Thireus for the info). Delete any other "OsxAptioFix*Drv**.efi" files if previously installed. OS X 10.11.4 and greater allocates memory above the memory space which is covered by the AptioFixDrv memory relocation, while OS X 10.11.3 and earlier tries to allocate memory in the low memory range that is already occupied. "OsxAptioFix2Drv-xx.efi" frees the first 512MB of fragmented memory which gives ample room for the MacOS kernel and kernel cache and applies memory map fixes which allow MacOS to communicate with your installed hardware. Without the "OsxAptioFix2Drv-xx.efi" fix, your system might become unstable (random reboots).​

    No other files will be needed for the X99-A II board! Note that also kext files like the "VoodooTSCSync.kext" (to enable CPUs with a higher number of cores), the "NullCPUPowerManagement.kext", the "BrcmBluetoothInjector.kext" or the "AppleIntelE1000e.kext" apparently are not required anymore. The configuration files are also valid for the ASUS X-99 Deluxe II, ASUS Rampage V Extreme, ASUS X99-E, ASRock X99 Taichi, Gigabyte X99-UD4, Gigabyte X99-SLI, Gigabyte X99 Ultra Gaming and the Gigabyte X99-SOC-Force (once more thanks to @KevinAGI, @Thireus, @morganb, @superjunaid, @welkram, @ahmadno, @Coquin, @gajaciosif and @hooked and for their feedback).

    2.) Download the latest Version of the Clover Configurator and open ptzulu's "config.plist" file in the /EFI/CLOVER/ directory on the EFI-Paritition of your Sierra system disk.

    clover.png

    a.) Verify that in "Kernel and Kext Patches" you use FakeCPUID 0x040674 (Broadwell-E). In case you try my guide with a
    Haswell-E CPU, use FakeCPUID 0x0306F0.​
    b.) Implement the correct "RT Variables" and "SMBIOS" entries by following "An iDiots's Guide To iMessage" by P1LGRIM.
    It works perfectly. Note, that the BooterConfig (0x28) and CsrActiveConfig (0x67) entries remain unchanged.​
    c.) Select the following "BOOT" options: npci=0x2000
    d.) Save the modified config.plist configuration​
    Optional Audio Configuration

    The "kexts" folder of ptzulu contains the VodooHDA.kext which is fully working but apparently results in a low audio gain signal.
    If one prefers to change to an audio_cloverALC configuration instead, the following steps have to be considered:

    1.) Remove the VodooHDA.kext from the "/clover/kexts/10.12/" folder of the EFI partition of your Sierra system disk.
    2.) Download and install "audio_cloverALC-120_v1.0d.command" and "audio_cloverHDMI-120_v1.0d.command".

    For both, VodooHDA and CloverHDMI configuration, the volume of the HDMI digital output of your graphics card cannot be directly controlled with Apple's volume control or keyboard. Apple does not support digital audio volume control independent of the driver. I solved the issue with the digital audio volume control by installing some 3rd-party software like Audio Hijack from Rogue Amoeba, which unfortunately does not come for free. It has to be emphasized, that for both VodooHDA and CloverALC, the analogue audio volume control works OoB as expected.


    USB Configuration

    The Gigabyte X99 Ultra Gaming and X99-SOC-Force work just fine with:

    a) the "X99_Injector USB 3.kext" (contained in the "kexts" folder of ptzulu),

    b) the KextsToPatch entry in the "Kernel and Kext Patches" section of the clover configurator:

    Code (Text):
    Name:                  Find:                   Replace:                Comment:                                               MatchOS:
    AppleUSBXHCIPCI        83BD74FF FFFF10         83BD74FF FFFF1b        change 15 port limit to 26 in XHCI     10.12

    c) and the ACPI DSDT Patches in the "ACPI" section of the clover configurator listed below:

    Code (Text):
    Comment:                   Find* [Hex]       Replace* [Hex][/INDENT]
    change EHC1 to EH01        45484331          45483031
    change EHC2 to EH02        45484332          45483032
    change XHCI to XHC         58484349          5848453f
    change XHC1 to XHC         58484331          5848435f
    Sleep/wake is fully supported by both mobos. However, on the ASUS X99 - A II with this configuration wake fails (reboot on ake), although all USB2 and USB3 ports are initialized and work fine.

    For the ASUS X99-A II, I am therefore currently developing an alternative USB configuration that hopefully will solve the reboot on wake issue currently persistent with this mobo. The Alternative USB Configuration described below is still incomplete, only works partially (still reboot on wake) and underlies continuous changes. I only encourage experienced users to give this method a try. In any case you should have a bootable clone of your system disk in case of failure, to easily recover your former stable and working system configuration. Any feedback from experts and experienced users will be highly appreciated.

    Alternative USB Configuration (ASUS X99-A II) - Under Development and permanent change at present!

    Download the source distribution fo @RehabMan 's "USBInjectAll.kext" from HERE. The source distribution also contains a series of other goodies to be used later on. The built "USBInjectAll.kext" is available HERE.

    1.) Change your BIOS settings to:

    VT-d disabled
    XHCI Mode Smart Auto
    XHCI Hand-Off Enabled
    EHCI Hand-Off Enabled

    2.) Open your clover configurator, mount your EFI partition and open your config.plist.

    c.) Add the following ACPI DSDT Patches listed below in the ACPI Section of the Clover Configurator:

    Code (Text):
    Comment:                   Find* [Hex]       Replace* [Hex][/INDENT]
    change _OSI to XOSI        5f4f5349          584f5349
    change EHC1 to EH01        45484331          45483031
    change EHC2 to EH02        45484332          45483032
    change XHCI to XHC         58484349          5848453f
    change XHC1 to XHC         58484331          5848435f

    b.) In the "Device" section under "USB" untick "Inject" and tick "Add ClockID", "FixOwnership" and "HighCurrent".

    c.) To increase the USB-Port-limitation under MacOS Sierra, add the following entry under KextsToPatch in the "Kernel and
    Kext Patches" Section of the clover configurator:​

    Code (Text):
    Name:                  Find:                   Replace:               Comment:                              MatchOS:
    AppleUSBXHCIPCI        83BD74FF FFFF10         83BD74FF FFFF1b        change 15 port limit to 26 in XHCI     10.12

    e.) Save your config.plist

    3.) Copy the "USBInjectAll.kext" to the /EFI/CLOVER/kexts/.10.12/ directory.

    4.) Also copy the "XHCI-x99-injector.kext" from the source distribution to the /EFI/CLOVER/kexts/.10.12/ directory.

    5.) Open the file "SSDT-XOSI.dsl" contained in the source distribution with MaciASL, goto preferences / iASL and change the compiler options to ACPI 6.1. Close the preferences and press compile. Save the new file as SSDT-XOSI.aml, (ACPI Machine Language Binary), and copy the SSDT-XOSI.aml to /EFI/Clover/ACPI/patched/.

    6.) Download the latest version of @RehabMan 's OS-X-Fake-PCI-ID distribution. Unzip the file, go to
    the sub-folder "Release" and copy "FakePCIID.kext" and "FakePCIID_XHCIMux.kext" to your /EFI/Clover/kexts/10.12/ directory and reboot.​

    All USB2 and USB3 are currently working correctly. Apple's system report correctly reports something like depicted in the three figures below:

    USB2.0.png

    USB3.0.png

    USB3.1.png


    Surprisingly, USB2 devices only work in USB2 ports. The rest works fine (USB3 in USB3 and USB3 in USB2). I have no USB3.1 device, therefor I could not test the USB3.1 functionality. I still face reboot (not immediately but after some seconds) on wake. At the moment I am trying to figure out how to create a custom SSDT for "USBInjectAll.kext".

    To be continued....

    Literature:
    https://github.com/RehabMan/OS-X-USB-Inject-All
    https://www.tonymacx86.com/threads/guide-10-11-usb-changes-and-solutions.173616/
    https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/
    https://github.com/RehabMan/OS-X-Fake-PCI-ID


    Additional Requirements:

    1.) Download and apply the AGDPfix.

    AGPDfix.png

    This is a simple Applescript-app that will back up the AppleGraphicsControl.kext to your desktop in a folder called KextBackUp. It will then patch the /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/Info.plist for the MacPro6,1 board ID. This ensures that your GPU will not be effected by the MacPro6,1's AMD FirePro device policy that causes your GPU not to send a signal to your monitor at boot. This app is only useful if you are using the MacPro6,1 system definition.

    2.) Download and install the latest NVIDIA Web-drivers and reboot as requested.

    NVIDIA.jpeg

    ----------------------------------------------------------------------------------------------------------------------------------------------
    :clap:You are done - now you already have a basic and fully operational x99/LGA2011-v3 Sierra Customac-Pro Build with the exception of sleep/wake (still system reboot on wake) :clap:
    ----------------------------------------------------------------------------------------------------------------------------------------------

    :idea: Optional - HWMonitoring :idea:

    HWMonitor.png

    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. The HWSensors drivers allow to derive and monitor in real-time actual frequencies, temperatures or voltages, not only of the CPU or mobo-fans but also of other hardware components.

    1.) To start with, download the latest version of the HWSensors binaries.
    2.) Open the dmg-file and copy its content to a temporary directory
    3.) Form there , copy the HWMonitor.app to the "Applications" folder.
    4.) Subsequently, copy the new FakeSMC.kext, CPUSensors.kext, ACPISensors.kext and LPCSensors.kext to the
    /EFI/CLOVER/kexts/10.12/ directory of your system disk. Warning! Do not copy the GPUSensors.kext! The latter kext-plugin caused kernel-panic while booting my system!
    5.) Reboot

    Now you should have plenty of system hardware sensor data at your deposit. The HWmonitor.app can be automatically started at login.

    HWMonitor-1.png


    ----------------------------------------------------------------------------------------------------------------------------------------------

    :idea: M.2 User guide :idea:

    Samsung_SSD_960_Evo_1TB.png

    Below, I summarize the necessary steps to use M.2 SSD-drives with the actual build (Asus X99-A II, Samsung 1 TB EVO 960 M.2 SSD). Many thanks to @beep for his instructions, advises and kind help! :thumbup::clap:

    1. You need to have an MacOS running on a regular SSD or HDD
    2. Make sure you have the original untouched IONVMeFamily.kext file in S/L/E on system's partition.
    3. Download the script from @RehabMan 's github – https://github.com/RehabMan/patch-nvme:

    -----------------------
    Terminal Command:
    -----------------------

    Code (Text):
    mkdir ~/Projects && cd Projects
    git clone https://github.com/RehabMan/patch-nvme.git patch-nvme.git
    cd patch-nvme.git
    4. Run it with the --spoof parameter and the actual system version as additional parameter (in my case Sierra 10.12.4)

    -----------------------
    Terminal Command:
    -----------------------

    Code (Text):
    ./patch_nvme.sh --spoof 10_12_4
    5. Copy the created "HackrNVMeFamily-10_12_4.kext" (also attached at the end of my guide) into your /EFI/CLOVER/kexts/10.12 partition or system's S/L/E or L/E.

    6. Download the latest version of maciASL – Start maciASL, open a new window and paste the code below. You have to set ACPI 6.1 in MaciASL->Preferences->iASL. The address for internal NVMe device on the Asus X99-a II is "_SB.PCI0.BR1B.H000"

    Code (Text):
    DefinitionBlock ("", "SSDT", 2, "hack", "NVMe-Pcc", 0x00000000)
    {
        External (_SB.PCI0.BR1B.H000, DeviceObj)    // (from opcode)
        Method (_SB.PCI0.BR1B.H000._DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LNot (Arg2))
            {
                Return (Buffer (One)
                {
                     0x03
                })
            }

            Return (Package (0x04)
            {
                "class-code",
                Buffer (0x04)
                {
                     0xFF, 0x08, 0x01, 0x00
                },

                "built-in",
                Buffer (One)
                {
                     0x00
                }
            })
        }
    }
    The internal NVMe device address on other systems needs to be found using windows or linux as described in Rehabman's guide (this link provides a tutorial how to create a bootable USB Flash Drive for UEFI Windows 10 installation by means of e.g. RUFUS; this link provides a tutorial how to perform a Windows 10 UEFI Installation; this link provides a tutorial how to migrate/clone/backup your Windows 10 UEFI System Disk; note that a Windows UEFI installation is mandatory for booting Windows with the Clover UEFI Boot Loader). E.g., the internal NVMe device address for the X99 Deluxe II is "_SB.PCI0.BR2D.H000". Therefore, for this particular board "_SB.PCI0.BR1B.H000" has to be substituted by "_SB.PCI0.BR2D.H000" in the code text above (thanks to @dogmaphobic for his valuable feedback).

    If you have two nvme disks with an additional PCIe card running on the X99-A II, duplicate the code with the different address of the next device:

    Code (Text):
    // Inject bogus class-code for NVMe SSD to prevent IONVMeFamily.kext from loading
    DefinitionBlock("", "SSDT", 2, "hack", "NVMe-Pcc", 0)
    {
        External(_SB.PCI0.BR1B.H000, DeviceObj)
        Method(_SB.PCI0.BR1B.H000._DSM, 4)
        {
            If (!Arg2) { Return (Buffer() { 0x03 } ) }
            Return(Package()
            {
                "class-code", Buffer() { 0xff, 0x08, 0x01, 0x00 },
                "built-in", Buffer() { 0 },
            })
        }
        External(_SB.PCI0.BR2A.H000, DeviceObj)
        Method(_SB.PCI0.BR2A.H000._DSM, 4)
        {
            If (!Arg2) { Return (Buffer() { 0x03 } ) }
            Return(Package()
            {
                "class-code", Buffer() { 0xff, 0x08, 0x01, 0x00 },
                "built-in", Buffer() { 0 },
            })
        }
    }
    For two NVMes on the X99 Deluxe II with an additional PCIe card the code might look like this (thanks to @AMonney for his valuable input):

    Code (Text):
    DefinitionBlock ("", "SSDT", 2, "hack", "NVMe-Pcc", 0x00000000)
    {
        External (_SB_.PCI0.BR2D.H000, DeviceObj)    // (from opcode)
        External (_SB_.PCI0.BR3A.H000, DeviceObj)    // (from opcode)

        Method (_SB.PCI0.BR2D.H000._DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LNot (Arg2))
            {
                Return (Buffer (One)
                {
                     0x03
                })
            }

            Return (Package (0x04)
            {
                "class-code",
                Buffer (0x04)
                {
                     0xFF, 0x08, 0x01, 0x00
                },

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

        Method (_SB.PCI0.BR3A.H000._DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LNot (Arg2))
            {
                Return (Buffer (One)
                {
                     0x03
                })
            }

            Return (Package (0x04)
            {
                "class-code",
                Buffer (0x04)
                {
                     0xFF, 0x08, 0x01, 0x00
                },

                "built-in",
                Buffer (One)
                {
                     0x00
                }
            })
        }
    }
     
    7. Compile the code and "Save As" the compiled code in "ACPI Machine Language Binary" format. Copy the SSDT file (e.g. nvme-patch.aml, also attached at the end of my guide) to the "/EFI/CLOVER/ACPI/patched" folder of your system's EFI partition. You can name it anyhow since the newest versions of Clover can load SSDT files with different naming.

    8.) Reboot... now the nvme m.2 device/s should be visible/available in Apple's Disk Utility. Note that after a system upgrade to a different Sierra version you have to repeat step 4 and 5.

    9.) Now you can clone the System to the Nvme drive and use the latter as your new system drive.

    For further details please follow the links provided below:

    https://github.com/RehabMan/patch-nvme
    https://www.tonymacx86.com/threads/...h-ionvmefamily-using-class-code-spoof.210316/
    maciASL – https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads

    Note: Initially when writing this M.2 guide, the 1TB EVO 960 M.2 SSD Drive was recognized by the Asus X99-A II motherboard only after a complete shutdown and subsequent reboot. A firmware update for the 1TB EVO 960 M.2 SSD solved this issue. The Asus X99-A II now is fully compatible with the 1 TB EVO 960 M.2 SSD-drive and the latter is always fully recognized by the system (Clover and Disk Utility). Recommendation: To avoid Samsung NVMe detection problems from the very beginning, update the firmware of your Samsung EVO 960 by means of the Samsung Magician Software in Windows, before starting with my M.2 guide!

    System Info.png

    Disk Utility.png

    ----------------------------------------------------------------------------------------------------------------------------------------------

    :idea: Xnu CPU Power Management (XCPM) Guide :idea:

    The steps below constitute a sophisticated aka Xnu CPU Power Management (XCPM) guide, in particular for the i7-6950X but also for all other Broadwell-E or even Haswell-E and Ivy-Bridge-E processors in a much more general context. XCPM is certainly an important step forward with respect to advanced CPU powermanagment. I am eagerly looking forward to fruitful discussions, extensive feedback and further constructive input not only from experts.

    1.) Verify that your System ID is MacPro 6.1

    2.) Launch your CloverConfigurator and edit your config.plist

    a) Verify that in the "Acpi" Section "Cpu0lst" and "CpuPm" appear under "Drop Tables".

    ACPI.png
    b) Enable in the "Boot" Section also "-xcpm" (very likely obsolete)

    xcpm.png

    c) "Kernel and Kext Patches" Section: Verify and add if necessary the "KextsToPatch" entry:

    Code (Text):

    Name:               Find:                 Replace:                    Comment:                        MatchOS:
    IOPCIFamily         4881fb00 000040       4881fb00 000080             X99 Patch by braumbear          10.12
     
    KextsToPatch.png

    This "KextsToPatch" entry is crucial for booting X99 Systems.​

    d) "Kernel and Kext Patches" Section: Verify and add if necessary the following "KernelToPatch" entries:

    Code (Text):

    Find:                                                             Replace:                                                          Comment:                                  MatchOS:
    0fb6c483 c0e983f8 47                                              0fb6c483 c0e183f8 47                                              xcpm_cpuid_set_info © Pike R. Alpha       10.12
    554889e5 41574156 41554154 53504189d64189f7 4889fb45 85ff0f84     c39089e5 41574156 41554154 53504189d64189f7 4889fb45 85ff0f84     reboot fix 10.12db8 © Pike R. Alpha       10.12
    20b9e200 00000f30                                                 20b9e200 00009090                                                 xcpm_idle patch by Pike R. Alpha          10.12
    be070000 0031d2e8 94fcffff                                        be070000 0031d290 90909090                                        xcpm_pkg_scope_msr © Pike R. Alpha        10.12
    be020000 0031d2e8 6cfcffff                                        be020000 0031d290 90909090                                        xcpm_core_scope_msrs © Pike R. Alpha      10.12
     

    KernelToPatch.png

    In my case, the "KernelToPatch entry

    Code (Text):

    Find:             Replace:          Comment:                                  MatchOS:
    83c3c483 fb22     83c3bc83 fb22     xcpm_bootstrap Sierra © Pike R. Alpha     10.12
    breaks "xcpm". I therefore skip this entry for now.

    Note that some of the "KernelToPatch" entries are CPU-architecture specific. The above "KernelToPatch" entries are for the Broadwell-E architecture. For other CPU-architectures (Haswell-E, Ivy-Bridge-E) see the respective instructions of Piker-Alpha. Below, for the sake of completeness I provide the deviating "KernelToPatch" entries for Haswell-E and Ivy-Bridge CPU architectures:

    Haswell-E:
    Code (Text):

    Find:                           Replace:                        Comment:                                     MatchOS:
    0fb6c483 c0e983f8 47            0fb6c483 c0e683f8 47            xcpm_cpuid_set_info © Pike R. Alpha          10.12
    83c3c483 fb22                   83c3c183 fb22                   xcpm_bootstrap Sierra © Pike R. Alpha        10.12    
    Ivy-Bridge-E:
    Code (Text):

    Find:                           Replace:                        Comment:                                     MatchOS:
    0fb6c483 c0e983f8 47            0fb6c483 c0e583f8 47            xcpm_cpuid_set_info © Pike R. Alpha          10.12
    83c3c483 fb22                   83c3c283 fb22                   xcpm_bootstrap Sierra © Pike R. Alpha        10.12    

    It should be emphasized that the "KernelToPatch" entries above are the cornerstone for a working and stable XCPM aka Xnu CPU Power Management. Thus, double check if you have the correct "KernelToPatch" entries for your specific CPU-architecture!

    3.) Reboot

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

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

    6.) Drop ssdtPRGen.sh into a terminal and add the following parameters to also enable turbo frequencies of up to 4000 Mhz.

    Code (Text):
    ./ssdtPRGen.sh -a CPU0 -turbo 4000
    Result:

    Code (Text):
    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.12.4 (16E195)
    Brandstring: "Intel(R) Core(TM) i7-6950X CPU @ 3.00GHz"

    Override value: (-acpi) label for ACPI Processors, now using 'CPU0'!
    Override value: (-turbo) maximum (turbo) frequency, now using: 4000 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: 10 (3100-4000 MHz)
    Number of P-States: 29 (1200-4000 MHz)
    Injected C-States for CP00 (C1,C3,C6)
    Injected C-States for CP01 (C1,C3,C6)

    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 - 466 lines, 13470 bytes, 145 keywords
    AML Output:    /Users/kgp/Library/ssdtPRGen/ssdt.aml - 3694 bytes, 64 named objects, 81 executable opcodes

    Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
     

    ssdtPRGen.sh generates a SDST.aml file in ~/Library/ssdtPRGen/​

    7.) Copy the SDST.aml from ~/Library/ssdtPRGen/ to /EFI/CLOVER/ACPI/patched/

    8.) Reboot

    9.) a.) Verify that in the ioRegistryExplorer you have now under CP00@0 the following entry:

    Code (Text):
    Property:         Type:         Value:
    plugin-type       Number        0x1

    kextstat|grep -y x86plat​

    b.) Verify with the terminal command
    Code (Text):
    kextstat|grep -y x86plat
    that the "X86PlatformPlugin.kext" is now loaded. If the command returns​

    Code (Text):

    98    1 0xffffff7f82492000 0x17000    0x17000    com.apple.driver.X86PlatformPlugin (1.0.0) 782DA5F5-F9BB-3B75-B40D-EC8EFFCE89A8 <97 96 16 15 11 7 6 5 4 3 1>
    124    1 0xffffff7f8279c000 0x7000     0x7000     com.apple.driver.X86PlatformShim (1.0.0) B1D28523-ABFF-37CB-8AE9-5EFA58B86DBB <98 97 96 7 4 3>
     

    you are fine.​

    c.) Verify with the terminal command
    Code (Text):
    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 freqVectorsEdit.sh to add missing FrequencyVectors to Mac-F60DEB81FF30ACF6.plist,
    which os located in:

    Code (Text):
    /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, like e.g.

    Code (Text):
    [26] Mac-DB15BD556843C820.plist (iMac17,1)
    which does have frequencies already defined.​

    Result:

    Code (Text):
    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-4BFBC784B845591E.plist (Unknown Model)
    [ 13 ] Mac-50619A408DB004DA.plist (Unknown Model)
    [ 14 ] Mac-65CE76090165799A.plist (iMac17,1)
    [ 15 ] Mac-66E35819EE2D0D05.plist (MacBookPro13,2 @ 3300 HWP/3500 HWP/3600 HWP)
    [ 16 ] Mac-77EB7D7DAF985301.plist (iMac14,3)
    [ 17 ] Mac-7DF21CB3ED6977E5.plist (MacBookAir6,2)
    [ 18 ] Mac-81E3E92DD6088272.plist (iMac14,4)
    [ 19 ] Mac-937CB26E2E02BB01.plist (MacBookAir7,2 @ 2700/3200)
    [ 20 ] Mac-9AE82516C7C6B903.plist (MacBook9,1 @ 2200 HWP/2700 HWP/3100 HWP)
    [ 21 ] Mac-9F18E312C5C2BF0B.plist (MacBookAir7,1 @ 2700/3200)
    [ 22 ] Mac-A369DDC4E67F1C45.plist (iMac16,1)
    [ 23 ] Mac-A5C67F76ED83108C.plist (MacBookPro13,3 @ 3500 HWP/3600 HWP/3800 HWP)
    [ 24 ] Mac-B809C3757DA9BB8D.plist (iMac17,1)
    [ 25 ] Mac-BE0E8AC46FE800CC.plist (MacBook8,1 @ 2400/2600/2900)
    [ 26 ] Mac-DB15BD556843C820.plist (iMac17,1)
    [ 27 ] Mac-E43C1C25D4880AD6.plist (MacBookPro12,1)
    [ 28 ] Mac-F305150B0C7DEEEF.plist (Unknown Model @ 2400/2600/2900)
    [ 29 ] Mac-F60DEB81FF30ACF6.plist (MacPro6,1)
    [ 30 ] Mac-FA842E06C61E91C5.plist (iMac15,1)
    [ 31 ] Mac-FFE5EF870D7BA81A.plist (iMac16,2)

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

    Triggering a kernelcache refresh ...

    Do you want to open Mac-F60DEB81FF30ACF6.plist (y/n)? n
    Do you want to reboot now? (y/n) n

    11.) Reboot

    12.) To verify that the new Frequency-Vectors from Mac-F60DEB81FF30ACF6.plist are now loaded, use the following terminal
    command:

    Code (Text):
    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 code enter
    the following terminal commands:

    Code (Text):
    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 "kextutil or kextload" and "cat" the info-results with the following terminal commands:

    Code (Text):
    sudo kextutil AppleIntelInfo.kext
    or
    Code (Text):
    sudo kextload AppleIntelInfo.kext
    Code (Text):
    sudo cat /tmp/AppleIntelInfo.dat
    The amount of enabled power states will then show up in the Terminal window:

    Code (Text):
    --------------------------------------------------------------------------------------------
    AppleIntelInfo.kext v2.5 Copyright © 2012-2017 Pike R. Alpha. All rights reserved.

    Settings:
    ------------------------------------------
    logMSRs..................................: 1
    logIGPU..................................: 0
    logCStates...............................: 1
    logIPGStyle..............................: 1
    InitialTSC...............................: 0xd407d28600d (485 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)  : 0x8400
    ------------------------------------------
     - I/O MWAIT Redirection Enable......... : 1 (enabled, IO read of MSR(0xE4) mapped to MWAIT)
     - CFG Lock............................. : 1 (MSR locked until next reset)
     - C3 State Auto Demotion............... : 0 (disabled/unsupported)
     - C1 State Auto Demotion............... : 0 (disabled/unsupported)
     - C3 State Undemotion.................. : 0 (disabled/unsupported)
     - C1 State Undemotion.................. : 0 (disabled/unsupported)
     - Package C-State Auto Demotion........ : 0 (disabled/unsupported)
     - Package C-State Undemotion........... : 0 (disabled/unsupported)

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

    IA32_MPERF.......................(0xE7)  : 0xB039222E
    IA32_APERF.......................(0xE8)  : 0xB5818B74
    MSR_0x150........................(0x150) : 0x92323

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

    MSR_IA32_PERF_STATUS.............(0x198) : 0x220200002200
    ------------------------------------------
     - Current Performance State Value...... : 0x2200 (3400 MHz)

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

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

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

    IA32_THERM_STATUS................(0x19C) : 0x88470000
    ------------------------------------------
     - 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...................... : 71
     - Resolution in Degrees Celsius........ : 1
     - Reading Valid........................ : 1 (valid)

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

    IA32_MISC_ENABLES................(0x1A0) : 0x840089
    ------------------------------------------
     - 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.. : 0 (disabled)
     - 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) : 0x2222222222222828
    ------------------------------------------
     - Maximum Ratio Limit for C01.......... : 28 (4000 MHz)
     - Maximum Ratio Limit for C02.......... : 28 (4000 MHz)
     - Maximum Ratio Limit for C03.......... : 22 (3400 MHz)
     - Maximum Ratio Limit for C04.......... : 22 (3400 MHz)
     - Maximum Ratio Limit for C05.......... : 22 (3400 MHz)
     - Maximum Ratio Limit for C06.......... : 22 (3400 MHz)
     - Maximum Ratio Limit for C07.......... : 22 (3400 MHz)
     - Maximum Ratio Limit for C08.......... : 22 (3400 MHz)

    MSR_TURBO_RATIO_LIMIT1...........(0x1AE) : 0x2222222222222222
    ------------------------------------------
     - Maximum Ratio Limit for C09.......... : 22 (3400 MHz)
     - Maximum Ratio Limit for C10.......... : 22 (3400 MHz)

    IA32_ENERGY_PERF_BIAS............(0x1B0) : 0x0

    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) : 0x26052CB
    ------------------------------------------
     - Total Energy Consumed................ : 2433 Joules (Watt = Joules / seconds)

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

    IA32_TSC_DEADLINE................(0x6E0) : 0xD4080923AA7

    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............: 40 (4000 MHz)
    P-State ratio * 100 = Frequency in MHz
    ------------------------------------------
    CPU P-States [ (12) 28 34 ]
    CPU C6-Cores [ 6 7 8 9 11 13 ]
    CPU P-States [ (12) 25 28 34 ]
    CPU C6-Cores [ 0 2 4 6 7 8 9 10 11 13 14 16 18 ]
    CPU P-States [ (12) 25 26 28 34 ]
    CPU C6-Cores [ 0 1 2 4 6 7 8 9 10 11 12 13 14 16 18 ]
    CPU P-States [ 12 25 26 28 31 (34) ]
    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) 25 26 28 30 31 34 ]
    CPU P-States [ 12 25 26 27 28 30 31 34 (35) ]
    CPU P-States [ 12 25 26 27 28 29 30 31 (34) 35 ]
    CPU P-States [ (12) 25 26 27 28 29 30 31 32 34 35 ]
    States [ 12 24 25 26 29 30 31 33 (34) 35 ]
    CPU P-States [ (12) 24 25 26 29 30 31 32 33 34 35 ]
    CPU P-States [ (12) 24 25 26 28 29 30 31 32 33 34 35 ]
    CPU P-States [ (12) 22 24 25 26 28 29 30 31 32 33 34 35 ]
    CPU P-States [ 12 21 22 24 25 26 28 29 30 31 32 33 34 (35) ]
    CPU P-States [ (12) 21 22 23 24 25 26 28 29 30 31 32 33 34 35 ]
    CPU P-States [ (12) 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ]
    CPU P-States [ (12) 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ]
    CPU P-States [ 12 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 (40) ]
    CPU P-States [ (12) 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 40 ]
    --------------------------------------------------------------------------------------------
    To unload the AppleIntelInfo.kext, enter the terminal command:

    Code (Text):
    sudo kextunload AppleIntelInfo.kext

    Current literature:

    https://pikeralpha.wordpress.com/2016/07/26/xcpm-for-unsupported-processor/
    https://pikeralpha.wordpress.com/2013/10/05/xnu-cpu-power-management/
    https://pikeralpha.wordpress.com/2013/12/20/macpro61-smbios-data/
    https://github.com/Piker-Alpha/ssdtPRGen.sh
    https://github.com/Piker-Alpha/AppleIntelInfo
    https://github.com/Piker-Alpha/freqVectorsEdit.sh
    http://www.insanelymac.com/forum/to...-x99-broadwell-e-family-and-haswell-e-family/
    https://www.tonymacx86.com/threads/quick-guide-to-generate-a-ssdt-for-cpu-power-management.177456/
    https://www.tonymacx86.com/threads/guide-full-power-management-w-dual-single-broadwell-ep-haswell-ep-cpus-on-10-12.204468/
    http://www.insanelymac.com/forum/topic/314378-1012-pb-haswell-e-clover-kernel-patching-for-xcpm/
    https://github.com/Piker-Alpha/ssdtPRGen.sh/issues/261
    http://osxarena.com/2016/04/guide-native-power-management-for-hackintosh-or-how-to-generatecreate-ssdt/
    http://www.insanelymac.com/forum/topic/295587-power-management-for-sandyivy-bridgehaswell-cpus/


    ----------------------------------------------------------------------------------------------------------------------------------------------

    :idea: Overclocking :idea:

    1.) The entire guide above assumes stock speeds = OoB (out-of-box...running as-is right out of the box). For Overclocking, apply the following BIOS settings (thanks to @Thireus for his valuable inputs) after enabling the XMP switch on the Asus X99-A II and connecting the over-voltage jumper to pins 2-3 :

    Code (Text):
    - AI overclock Tuner: XMP
    - BLCK Frequency: 100 Mhz
    - CPU Core Ratio: Sync All Cores
    - Core Ratio: 42
     
    A BLCK Frequency of 100 Mhz leads to the best NVMe performance. The core ratio of 42 corresponds to 4.2 Ghz overclocking.​

    2.) Re-run

    Code (Text):
    ./ssdtPRGen.sh -turbo 4200 -x 1

    Copy the modified SDST.aml from ~/Library/ssdtPRGen/ to /EFI/CLOVER/ACPI/patched/ and reboot.

    ----------------------------------------------------------------------------------------------------------------------------------------------

    :idea: Benchmarking :idea:

    Intel(R) Power Gadget:

    Intel Power Gadget.png

    Geekbench-4.1 Scores:

    Geekbench-4.1-1.png

    Geekbench-4.1-2.png

    Geekbench-4.1 Metal-Scores:

    Former Reference - Nvidia GTX 980 TI (same system build) - Metal Score: 78440

    Geekbench-v4.1-metal.png

    LuxMark 3.1:

    Former Reference - Nvidia GTX 980 TI (same system build) - CPU & GPU Score: 22652 / GPU score: 17575

    LuxMark-v3.1.png

    Unigine Heaven Benchmark 4.0:

    Former Reference - Nvidia GTX 980 TI (same system build) - FPS: 100.8; Score: 2539; MinFPS: 18.9; Max FPS 191.8, @2160x1080 pixel

    Unigine-Heaven.png

    heaven-3840x1600.png

    Cinebench R15.0:

    Former Reference: Nvidia GTX 980 TI (same system build) - OpenGL: 138.04 fps; CPU: 2186 cb

    Cinebench-R15.png

    AJA Disk Speed Benchmark:

    AJA-Diskspeed-Benchmark.png

    Black Magic Disk Speed Test 3.0:

    Black Magic Disk Speed Test 3.0.png

    ----------------------------------------------------------------------------------------------------------------------------------------------

    :idea: Latest News:idea:

    :thumbup: Sierra 10.12.4 working without problems! :thumbup:

    If you are still running 10.12.3, simply perform the following steps:

    1) Download and install the latest Clover distribution. Check after clover installation, that "OsxAptioFix2Drv-free2000.efi" is the
    only "OsxAptioFix*Drv**.efi" file in your /EFI/CLOVER/Drivers64UEFI/ directory.
    2) In the web driver menu, change from "web driver" to "OS X default graphics driver".
    3) Download the MacOS Sierra 10.12.4 update from the App-Store.
    4) Reboot as requested (only in case that you encounter problems with the graphics card, boot just once with the
    boot-flag: nv_disable=1)
    5) All Nvme Users: Download the latest version of "patch-nvme-master" from https://github.com/RehabMan/patch-nvme.
    Run patch_nvmw.sh with the --spoof parameter and the actual system version as additional parameter (Sierra 10.12.4):

    -----------------------
    Terminal Command:
    -----------------------

    Code (Text):
    ./patch_nvme.sh --spoof 10_12_4
    Copy the "HackrNVMeFamily-10_12_4.kext" (also attached at the bottom of my guide) into your /EFI/CLOVER/kexts/10.12
    partition or system's S/L/E or L/E. Remove the former "HackrNVMeFamily-10_12_3.kext"
    6) Apply once more the AGDPfix!
    7) Download and Install the latest NVIDIA Web Drivers.
    8) Reboot as requested and you are done! Now you are running MacOs Sierra 10.12.4!

    The same procedure might also apply for all upcoming MacOS Sierra updates. However, better await respective confirmations. Don't forget to create a clone of your system-disk before performing any update or modification! The famous quote "never touch a running system" is still valid to some point :lol:.

    To do so, clone your system SSD with CarbonCopyCloner. :thumbup: However, the EFI partition on the clone-drive you will have to create manually by means of Clover subsequently, in order to have a boot-able clone-drive. :idea: Don't forget afterwards to replace the "congif.plist", "/EFI/CLOVER/kexts/10.12/" and "/EFI/CLOVER/Drivers64UEFI/" directories on your clone-drive with those of the EFI partition on your system-disk. Generally, to create the EFI partition on the Clone-drive, you can just follow once more my guide above. :idea: It is the same procedure as described for the boot-medium creation or post-installation procedure. ;) By this, your clone-drive will identically behave to your system-disk and you can directly replace it in case of problems or repair the system-disk by restoring the backup from your clone drive. By the latter procedure, the EFI partition of the system-disk will remain untouched. Also the EFI partition on your clone-drive just has to be created once! Subsequent updates of clover have to be installed to each of the EFI partitions separately. Always keep your clone-drive up-to-date and frequently clone your system-disk! Good luck! :thumbup:

    :headbang: And further amazing latest news my friends :headbang:
    :thumbup: Nvidia finally released Web-drivers with Pascal support 378.05.05.05f01 :thumbup:

    As stated above, I already replaced my GeForce GTX 980 TI with the Gigabyte AORUS GeForce® GTX 1080 Ti Xtreme Edition 11G (GV-N108TAORUS X-11GD). New benchmarks are provided above :thumbup:

    aorus-1.png

    ----------------------------------------------------------------------------------------------------------------------------------------------

    ;) Famous Last Words, Summary and Conclusion ;)

    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 build. Anybody interested can find more details on my personal webpage.

    I think my thread implements both, hardware build and installation guide at the same time. I am sure that this high-end build might find manifold application, not only in science and research at universities or research institutions, engineering facilities, or medical labs, etc.. The principal intention of my thread however was to demonstrate, that we are able to build and configure a stable and relatively "low-cost" high-end system nowadays, that goes far beyond of what Apple is able to offer 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, etc.), processor models (e.g. Broadwell-E 6800K, 6850K, 6900K, 6950X and Haswell-E CPUs) and Ram Memory (16-128GB) makes it affordable for anybody (also home office, video editing, etc.) and allows its perfect adaptation for the specific purpose and requirement. I am using my system on a daily basis. The system is running 24/7/365 and is absolutely stable. There are no issues at all with sleep/wake disabled at present. :thumbup:

    In my opinion, X99 definitely deserves to be recognized by Tonymacx's buyer's guide, specifically when addressing possible Customac-Pro or Customac High-End configurations.

    I am very willing to provide further benchmarking for its ultimate configuration if desired by the community. Additional results can be easily added towards the end of my guide without large additional efforts. I kindly invite all users with similar or different X99 configurations to provide their feedback on my guide and thread, although also many non-x99 boarders will be able to take profit of major parts of my guide. Of course, also their feedback is warmly welcome.

    In an case many thanks for recognizing my thread on Tonymacx86 and all the support I received in the meanwhile!

    It is a personal pleasure to be part of Tonymacx86! :clap::clap::clap:

    :thumbup:!! Good Luck with my guide!!:thumbup:

    main_kv.png

    :thumbup:!! Good Luck with my guide !!:thumbup:
    ----------------------------------------------------------------------------------------------------------------------------------------------
     

    Attached Files:

    Last edited: Apr 24, 2017 at 11:10 PM
  2. Renozzz

    Renozzz

    Joined:
    Jan 2, 2017
    Messages:
    7
    Mobo:
    Asus x99-A II
    CPU:
    i7-6800k
    Graphics:
    Gigabyte GTX 950
    Mac:
    iMac
    Mobile Phone:
    iOS
    Jan 6, 2017 at 8:48 AM #2
    Renozzz

    Renozzz

    Joined:
    Jan 2, 2017
    Messages:
    7
    Mobo:
    Asus x99-A II
    CPU:
    i7-6800k
    Graphics:
    Gigabyte GTX 950
    Mac:
    iMac
    Mobile Phone:
    iOS
    Hello :)

    Could you please make a couple of comments about stability and issues ?

    In particular, this issue - 2 Monitor setup (DVI+DVI - DVI+HDMI/DP gives reboot, but work if plugged after Mac boots up).

    I've just built my first "hack" and so far it seems to be rock solid (running 10.11.6). I've seen ptzulu's thread, but still not convinced to go for Sierra yet :)

    Thanks for the guide anyway ! A lot of people will be interested in this one.

    Cheers
     
    Last edited: Jan 6, 2017
  3. kgp

    kgp

    Joined:
    May 30, 2014
    Messages:
    345
    Mobo:
    Asus X99-A II
    CPU:
    Intel I7-6950X
    Graphics:
    AORUS GTX 1080 TI-X
    Mac:
    iMac, MacBook Pro, Mac mini
    Mobile Phone:
    iOS
    Jan 6, 2017 at 9:24 AM #3
    kgp

    kgp

    Joined:
    May 30, 2014
    Messages:
    345
    Mobo:
    Asus X99-A II
    CPU:
    Intel I7-6950X
    Graphics:
    AORUS GTX 1080 TI-X
    Mac:
    iMac, MacBook Pro, Mac mini
    Mobile Phone:
    iOS
    If you carefully consider my advises and in particular also the BIOS-setting advises of Giacomoleopardo you are save and there are no issues, except some likely and normal sleep/wake issues which can be eluded or disabled in any case. This X99 build is absolutely stable, runs like hell and really represents a milestone.. It should replace all former already outdated X79 builds. In fact it also should replace Tonymacx's actual customac-pro buyer's guide! :thumbup:
     
    Parentesi likes this.
  4. Favlex

    Favlex

    Joined:
    Jul 11, 2012
    Messages:
    11
    Mobile Phone:
    Android
    Jan 7, 2017 at 8:34 PM #4
    Favlex

    Favlex

    Joined:
    Jul 11, 2012
    Messages:
    11
    Mobile Phone:
    Android
    First I want to say Thanks.
    Then, if you could elaborate better the singular prob or step to get everithing working with the setup and installation, would be better in a Guide section.

    :clap:

    p.s. watching the screenshot about your system report I don't understand what type of cpu you have installed, I7, which type or xeon..which type?
     
  5. kgp

    kgp

    Joined:
    May 30, 2014
    Messages:
    345
    Mobo:
    Asus X99-A II
    CPU:
    Intel I7-6950X
    Graphics:
    AORUS GTX 1080 TI-X
    Mac:
    iMac, MacBook Pro, Mac mini
    Mobile Phone:
    iOS
    Jan 7, 2017 at 10:10 PM #5
    kgp

    kgp

    Joined:
    May 30, 2014
    Messages:
    345
    Mobo:
    Asus X99-A II
    CPU:
    Intel I7-6950X
    Graphics:
    AORUS GTX 1080 TI-X
    Mac:
    iMac, MacBook Pro, Mac mini
    Mobile Phone:
    iOS

    I think I depicted the post-installation process quite clear. It is really not complicated, you just have to go throught the indivdual points as illustrated. Not more! If you do not have an already installed Mac OS Sierra on disk, you can find plenty of splendid guides how to generate a MacOS Sierra 10.12 USB installation medium. The "config.plist" file and the "drivers64UEFI" and "kexts" directories have to be subsequently copied to the EFI partition of the USB boot medium. The boot options for the usb installation medium shall be "-v npci=0x2000 nv_disable=1 kext-dev-mode=1".

    The CPU I have installed is the Intel I7-6800K / Broadwell-E / x99-chipset / LGA2011-v3 socket / 6-core processor. As I write above also the I7-6850K (6-core), I7-6900K (8-core) and I7-6950X (10-core) CPUs can be installed. It is simply a question of the available budget (430-1600$).
     
    Benjah and Favlex like this.
  6. kgp

    kgp

    Joined:
    May 30, 2014
    Messages:
    345
    Mobo:
    Asus X99-A II
    CPU:
    Intel I7-6950X
    Graphics:
    AORUS GTX 1080 TI-X
    Mac:
    iMac, MacBook Pro, Mac mini
    Mobile Phone:
    iOS
    Jan 7, 2017 at 11:11 PM #6
    kgp

    kgp

    Joined:
    May 30, 2014
    Messages:
    345
    Mobo:
    Asus X99-A II
    CPU:
    Intel I7-6950X
    Graphics:
    AORUS GTX 1080 TI-X
    Mac:
    iMac, MacBook Pro, Mac mini
    Mobile Phone:
    iOS
    Following your suggestion, I also added now a short guide concerning MacOS Sierra USB installation onto a likely virigin system.

    :thumbup:Good luck!:thumbup:
     
    Favlex likes this.
    Last edited: Jan 8, 2017
  7. Renozzz

    Renozzz

    Joined:
    Jan 2, 2017
    Messages:
    7
    Mobo:
    Asus x99-A II
    CPU:
    i7-6800k
    Graphics:
    Gigabyte GTX 950
    Mac:
    iMac
    Mobile Phone:
    iOS
    Jan 7, 2017 at 11:14 PM #7
    Renozzz

    Renozzz

    Joined:
    Jan 2, 2017
    Messages:
    7
    Mobo:
    Asus x99-A II
    CPU:
    i7-6800k
    Graphics:
    Gigabyte GTX 950
    Mac:
    iMac
    Mobile Phone:
    iOS
    Did you inject RAM in SMBIOS ?
     
  8. kgp

    kgp

    Joined:
    May 30, 2014
    Messages:
    345
    Mobo:
    Asus X99-A II
    CPU:
    Intel I7-6950X
    Graphics:
    AORUS GTX 1080 TI-X
    Mac:
    iMac, MacBook Pro, Mac mini
    Mobile Phone:
    iOS
    Jan 7, 2017 at 11:19 PM #8
    kgp

    kgp

    Joined:
    May 30, 2014
    Messages:
    345
    Mobo:
    Asus X99-A II
    CPU:
    Intel I7-6950X
    Graphics:
    AORUS GTX 1080 TI-X
    Mac:
    iMac, MacBook Pro, Mac mini
    Mobile Phone:
    iOS
    No
     
  9. Renozzz

    Renozzz

    Joined:
    Jan 2, 2017
    Messages:
    7
    Mobo:
    Asus x99-A II
    CPU:
    i7-6800k
    Graphics:
    Gigabyte GTX 950
    Mac:
    iMac
    Mobile Phone:
    iOS
    Jan 7, 2017 at 11:26 PM #9
    Renozzz

    Renozzz

    Joined:
    Jan 2, 2017
    Messages:
    7
    Mobo:
    Asus x99-A II
    CPU:
    i7-6800k
    Graphics:
    Gigabyte GTX 950
    Mac:
    iMac
    Mobile Phone:
    iOS
    Thanks :) I am "Upgrading" from 10.11.6 as it is not as solid as it seemed... Unresponsive Finder, unreliable audio (audio_cloverALC-110_v1.0r10.command used) and a few more issues :)
     
  10. Favlex

    Favlex

    Joined:
    Jul 11, 2012
    Messages:
    11
    Mobile Phone:
    Android
    Jan 8, 2017 at 9:36 AM #10
    Favlex

    Favlex

    Joined:
    Jul 11, 2012
    Messages:
    11
    Mobile Phone:
    Android
    Right.
    I was thinking about a xeon E5-2630 v4 es 2.1 ghz, could be it good, ain'it?

    Wow. You are so fast to complete the request. Thumbs Up! :thumbup:
     

Share This Page