UPDATE for Skylake
This doesn’t seem to be necessary on Skylake as frequency is scaling out of the box on a GA-Z170N-Gaming 5 with 6700K. In fact, generating the SSDT and dropping OEM tables causes the machine to kernel panic (I’ve later learned that dropping OEM tables isn’t recommended). Simply remove NullCPUPowerManagement.kext and check scaling with Intel Power Gadget and you should be good to go! (I’m running at 4.8GHZ with no issues).
Important note though, some say that frequency scaling won’t work correctly without the proper SSDTs as in Turbo won’t boost as long (as OS X will be unaware of the proper frequency scaling). While ssdtPRGen.sh is now up to date with full Skylake support (and no longer recommends dropping OEM tables), you’ll also need to use the iMac 17,1 SMBOIS definition along with board-id Mac-65CE76090165799A BUT keep in mind that you’ll also need to run this utility after each upgrade to fix black screen (nv_disable=1 to access desktop in the meantime for Nvidia builds): http://www.tonymacx86.com/threads/black-screen-with-macpro-6-1-or-imac-15-or-imac-17-system-definition.183113/
To make it easy though (but may not allow full stepping up to your overclock speed reliably), here are some precompiled SSDTs which should work with any SMBOIS if you don’t want to run a patch after every update with the iMac17,1 SMBOIS definition:
- Core i7: View attachment SSDT-i7-6700K.aml View attachment SSDT-i7-6700.aml View attachment SSDT-i7-6700T.aml
- Core i5: View attachment SSDT-i5-6600K.aml View attachment SSDT-i5-6600.aml View attachment SSDT-i5-6600T.aml View attachment SSDT-i5-6500.aml View attachment SSDT-i5-6500T.aml View attachment SSDT-i5-6400.aml View attachment SSDT-i5-6400T.aml
- Core i3: View attachment SSDT-i3-6320.aml View attachment SSDT-i3-6300.aml View attachment SSDT-i3-6300T.aml View attachment SSDT-i3-6100.aml View attachment SSDT-i3-6100T.aml
First off, this assumes you are running Clover EFI bootloader, I run El Captain and only Clover is supported anyway. This also assumes you have a working backup clover boot disk such as on a USB drive so if things break, you don’t blame me.
By default, you likely are using NullCPUPowerManagement.kext to be able to boot and if you are not, your frequency is only scaling to stock frequencies. This is due to the bootloader not having the correct stepping information for your overclock. This guide helps you generate the proper stepping values for your overclock, whatever your overclock may be.
Note that OS X is not Windows. You can set whatever an overclock you want in your BIOS but when you boot into OS X, it won’t scale the frequency and you’ll be running whatever stock clock is without scaling (such as 3.4GHZ permanently) unless you have a proper SSDT. You can verify this by running the Intel Power Gadget.
- Open Terminal, then,
curl -o ~/ssdtPRGen.sh http://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/Beta/ssdtPRGen.sh
chmod +x ~/ssdtPRGen.sh
- Next, run ssdtPRGen.sh with the -f flag for the maximum frequency you are running at (ssdtPRGen.sh should be able to autoselect all other needed values, if you have issues, try some additional flags: http://github.com/Piker-Alpha/ssdtPRGen.sh)
~/ssdtPRGen.sh -f 4800
- Copy the generated ssdt.aml file to your Clover boot EFI partition (mount it using clover configurator first)
cp ~/Library/ssdtPRGen/ssdt.aml /Volumes/EFI/EFI/CLOVER/ACPI/patched
- You may also need to copy it to another directory in the Clover EFI partition, not 100% on this one but it won’t hurt (tested, no longer needed)
cp ~/Library/ssdtPRGen/ssdt.aml /Volumes/EFI/EFI/CLOVER/OEM/SystemProductName/ACPI/patched
- In Acpi->SortedOrder add SSDT.aml to the list
8. Be sure to remove NullCPUPowerManagement.kext from your clover kext directory if you have been using it, else the frequency won’t scale
9. Reboot and install Intel Power Gadget, run it and put some stress on the CPU to verify scaling works properly
Yes, I know there is a generate P and C states option in Clover and no, I’ve never tried it. I prefer to generate my own SSDT files for stepping so I know that it is working properly and it’s not left to chance or change between Clover versions.