View attachment 239497
Being frustrated about the present Customac Pro build configuration proposed by Tonymacx's Buyer's guide, I decided to go for a new
Customac Pro Built based on the Broadwell-E CPU, X99 chipset and LGA2011-v3 socket with Mac OS Sierra beating records, running like hell and behaving absolutely stable.
Mainboard:
Asus X99-A II
CPU:
I7-6950X(10-core);
I7-6800K (6-core);
I7-6850K (6-core),
I7-6900K (8 core) are further options
RAM:
2x Crucial Ballistix Sport LT 64 GB Kit (128GB)
Startup Disk:
Samsung 850 EVO 1TB (SSD)
RAID: 3x
Western Digital Red Pro 6TB (18TB)
Graphics:
Gigabyte GeForce GTX 980 TI (used below 400$)
Wifi:
TP-Link PCI Express WIFI Adapter 802.11N (N900)
Bluetooth:
IOGear Bluetooth 4.0 Adapter
Power Supply:
Corsair AX860
CPU Cooler:
Corsair H80i v2
Webcam:
Logitech HD Pro Webcam C920
Monitor:
Asus MX299Q, 29", ultra-wide, 21:9, 2560x1080 pix
Case:
Corsair CC600TWM-WHT, Graphite Series 600T, Mid Tower
Keyboard:
Logitech K811
Mouse:
Logitech Ultra-Thin Touch Mouse T631
External Blu-Ray Writer:
Buffalo MediaStation BRXL-16U3
View attachment 229170
BIOS Configuration Guide
Just follow the instructions provided by Giacomoleopardo in
"STEP 2 - BIOS Configuration", which I basically summarize below. His instructions for the BIOS configuration are complete and result in a stable Mac OS Sierra system configuration.
View attachment 228923
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 update).
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: "X4 Mode"
NOTE: If you want to use the Wifi PCI Express Card choose the "Standard Mode" instead, otherwhise the WIFI PCI Express Card will not be recognized.
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
If you do not poccess 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. 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 Thireus for the info). Delete any other "OsxAptioFix2Drv-xx.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 X99-E and X-99 Deluxe II boards (Thanks to Superjunaid, KevinAGI and Thireus for their feedback).
!!You are done!!
6.) Before installing MacOS Sierra on your new system, don't forget to apply the BIOS configuration as detailed by Giacomoleopardo in
"STEP 2 - BIOS Configuration" (see above).
7.) Boot the USB Installation Medium with the following boot options: -v npci=0x2000 nv_disable=1 kext-dev-mode=1
8.) Install MacOS Sierra onto your system
9.) Now perform the Post-Installation procedure described below
System Disk Post-Installation Guide
Install the latest CLOVER distribution on your System Disk
Download and install the latest Clover distrubution on your Sierra system disk by verifying the proper Install-Location (Sierra System 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
d) Enable Install RC scripts on target volume
e) Only select EmuVariableUefi-64.efi in the Drivers64UEFI menu!
f) Select Install RC scritps 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.
View attachment 229776
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.
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 Thireus for the info). Delete any other "OsxAptioFix2Drv-xx.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 X99-E and X-99 Deluxe II boards (Thanks to Superjunaid, KevinAGI and Thireus 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.
View attachment 228920
a.) 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.
b.) Select the following "BOOT" options: npci=0x2000 nvda_drv=1 kext-dev-mode=1
c.) 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".
With both the VodooHDA and Audio_Clover configuration, the volume of the HDMI output of your Geforce graphic card cannot be directly controlled. I solved the problem by installing some 3rd-party software like
Audio Hijack from Rogue Amoeba, which unfortunately does not come for free.
Optional USB Configuration
The "kexts" folder of ptzulu contains the "X99_Injector USB 3.kext". Those, who prefer to work with RehabMan's "USBInjectAll.kext" should download the latest version
here, copy it to /EFI/CLOVER/kexts/.10.12/ directory and remove the "X99_Injector USB 3.kext" from there.
In addition, to increase the USB-Port-limitation under MacOS Sierra, one must add the following entry under KextsToPatch in the "Kernel and Kext Patches" Section of the Clover Configurator:
Name:
AppleUSBXHCIPCI
Find:
83BD74FF FFFF10
Replace:
83BD74FF FFFF16
Comment:
change 15 port limit to 20 in XHCI kext (9-series) 10.12
Check, of this entry is already there and if so, whether or not it is correct and complete.
Additional Requirements:
1.) Download and apply the
AGDPfix.
View attachment 228921
This is a simple Applescript app that will back up the AppleGraphicsControl.kex 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.
View attachment 228922
----------------------------------------------------------------------------------------------------------------------------------------------
You are done - you now have a splendid and perfect x99/LGA2011-v3 MacOS Sierra Customac Pro Built
----------------------------------------------------------------------------------------------------------------------------------------------
!! Good Luck !!
Latest News : Sierra 10.12.3 working without problems!
I you are still running 10.12.2, simply perform the following steps:
1) In the web driver menu, change from "web driver" to "OS X default graphics driver".
2) Download the MacOS Sierra 10.12.3 update from the App-Store.
3) Reboot as requested (only in case that you encounter problems with the graphic card, boot just once with the
boot-flag: nv_disable=1)
4) Apply once more the AGDPfix!
5) Download and Install the
latest NVIDIA Web Drivers.
6) Reboot (don't forget the boot-flags "npci=0x2000
nvda_drv=1 kext-dev-mode=1") as requested and you are done! Now you are running MacOs Sierra 10.12.3!
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
.
To do so, clone your system SSD with
CarbonCopyCloner.
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.
Don't forget afterwards to copy ptzulu's "congif.plist" file and "/kexts/10.12/" directory from the EFI partition of your system-disk to the /EFI/Clover/ directory of the EFI partition on your clone-drive. Delete all other files in the "/kexts/10.12/" directory possibly previously installed by Clover. Generally, to create the EFI partition on the Clone-drive, you can just follow once more my guide above.
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. Don't forget to only enable the OsxAptioFix-Drv-64.efi in the Drivers64UEFI menu of clover before installing or updating clover each time... Always keep your clone-drive up-to-date and frequently clone your system-disk! Good luck!
Update - M.2 User guide
View attachment 243204
Below, I summarise 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!
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:
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.3)
-----------------------
Terminal Command:
-----------------------
Code:
./patch_nvme.sh --spoof 10_12_3
5. Copy the created "HackrNVMeFamily-10_12_3.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 nvme device on Asus X99-a II is "_SB.PCI0.BR1B.H000"
Code:
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 device address on other systems needs to be found using windows or linux as described in
Rehabman's guide.
If you have two nvme disks duplicate the code with the different address of the next device:
Code:
// 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 },
})
}
}
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, the 1TB EVO 960 M.2 SSD Drive was recognised 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 recognised by the system.
View attachment 238576
View attachment 238577
Update - Basic I7-6950X Power Management Guide finished - no sleep/wake yet
There have been several user requests for a specific
I7-6950X power management. The steps listed below define a a first basic i7-6950X Power Management Guide. Sleep/wake issues still remain at present (immediate reboot when sent to sleep). I encourage only experienced users to work with this last part of my guide, which yet underlies further development. However, hopefully this basic power management guide is a first attempt in the right direction and I am looking forward to fruitful discussions, extensive feedback and constructive input from experts in the field.
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".
b) Enable in the "
Boot" Section also "
-xcpm"
c) "Kernel and Kext Patches" Section: Verify and add if necessary the
"KextsToPatch
" entry:
Code:
Name: Find: Replace: Comment:
IOPCIFamily 4881fb00 000040 4881fb00 000080 X99 Patch by braumbear
View attachment 243755
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:
Find: Replace: Comment:
0fb6c483 c0e983f8 47 0fb6c483 c0e183f8 47 xcpm_cpuid_set_info © Pike R. Alpha
554889e5 41574156 41554154 53504189d64189f7 4889fb45 85ff0f84 c39089e5 41574156 41554154 53504189d64189f7 4889fb45 85ff0f84 reboot fix 10.12db8 © Pike R. Alpha
20b9e200 00000f30 20b9e200 00009090 xcpm_idle patch by Pike R. Alpha
be070000 0031d2e8 94fcffff be070000 0031d290 90909090 xcpm_pkg_scope_msr © Pike R. Alpha
be020000 0031d2e8 6cfcffff be020000 0031d290 90909090 xcpm_core_scope_msrs © Pike R. Alpha
In my case, the "KernelToPatch entry
Code:
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 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.
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:
./ssdtPRGen.sh -a CPU0 -turbo 4000
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.12.3 (16D32)
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:
Property: Type: Value:
plugin-type Number 0x1
kextstat|grep -y x86plat
b.) Verify with the terminal command
that the "
X86PlatformPlugin.kext" is now loaded. If the command returns
Code:
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:
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:
/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:
[26] Mac-DB15BD556843C820.plist (iMac17,1)
which does have frequencies already defined.
Result:
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-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:
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:
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:
sudo kextutil AppleIntelInfo.kext
or
Code:
sudo kextload AppleIntelInfo.kext
Code:
sudo cat /tmp/AppleIntelInfo.dat
The amount of enabled power states will then show up in the Terminal window:
Code:
--------------------------------------------------------------------------------------------
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:
sudo kextunload AppleIntelInfo.kext
At present, while running e.g. geekbench, the CPU frequency displayed in the Intel power gadget does never exceed 3.4 GHz, despite the recognized Maximum Turbo Frequency of 4000 Mhz, and rather saturates at 3.4 Ghz.
View attachment 243908
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/