What is CPUFriend?
Step A. Creating SSDT Using Pike's Script
1. Go to Pike’s Github and download ZIP master
2. Extract “ssdtPRGen.” folder and copy and paste to /Users/YourUsername/Library
4. Download attached “Data” folder and replace existing Data folder in “/ssdtPRGen”
5. Open “User Defined.cfg” file in “ssdtPRGen/Data” folder
6. Open Coffee Lake.cfg file and look for your processor type ( in this example, I will be using “i5-8600”)
7. Paste your CPU details in User Defined.cfg and save file
Note: If you plan to use a different clock speed frequency (mostly for energy saving) or base/turbo frequency, here is where you make the desired frequency changes. The example in the screenshot above is setting using clock speed of 500 instead of OEM 800.
8. Open Terminal
10. Type CPU format as such (for i5-8600) :
./ssdtPRGen.sh -p 'i5-8600' -f 3100 -turbo 4300
11. Press Enter
12. Let the script run and when script asks Do you want to open ssdt.dsl (y/n)? Just return N.
13. Your ssdt.aml and ssdt.dsl can be found in ~/Library/ssdtPRgen folder
Step B: Generating SSDT data using CPUFriend script
1. Download CPUFriend master zip
While you’re there, download CPUFriend kext from the release tab and place the kext in Clover/Kext/Other
2. Extract CPUFriend-master folder to desktop
3. Open terminal
6. Your ssdt-data.dsl result can be found at ~/Desktop/CPUFriend-master/ResourceConverter folder
Step C: Combining CPUFriend data into Pike's SSDT
1. Open the ssdt-data.dsl and copy the whole scope of “cf-frequency-data”
2. Go to ~/Library/ssdtPRgen folder and open the file ssdt.aml
3. Find the _DSM section
4. Paste “cf-frequency-data’ like shown in the screenshot. Also, delete 0x02 in the Return line leaving just the brackets or else your will not be able to compile.
5. You can save the ssdt.aml and copy to Clover/acpi/patched.
Reboot and enjoy!
Note: If you do not find the cf-frequency-data as shown like in the IOReg screenshot below, it means the SSDT is not injecting properly. You might want to consider creating CPUFriendDataProvider kext instead.