Modify macOS CPU Performance
English | δΈζ
Instruction
The script is only for most 5th-10th generation CPU yet. I will try to add support for more models if needed.
The script can modify low frequency mode and energy performance preference, and use ResourceConverter.sh to generate customized CPUFriendDataProvider.kext
.
By using this script, no file under the System folder will be edited. If you are not happy with the modification, just remove CPUFriend*.kext
from /CLOVER/kexts/Other/
and restart.
Before install
- Read CPUFriend WARNING
- Good network
- If you have
FakeCPUID
argument inconfig.plist
, this script may cause issue - Make sure
IOPlatformPluginFamily.kext
untouched - Make sure Lilu is working
- Make sure you are using correct SMBIOS model
plugin-type=1
, often injected by SSDT-PLUG or SSDT-XCPM
NOTE: It is recommended to disable CPUFriend.kext
and CPUFriendDataProvider.kext
before a macOS upgrade. You need to re-generate CPUFriendDataProvider.kext
whenever you update to a new macOS version; otherwise, you may suffer from bad PM or even kernel panic.
How to install
- Run the following command in Terminal:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/stevezhengshiqi/one-key-cpufriend/main/one-key-cpufriend.sh)"
-
For Clover users:
- Copy
CPUFriend.kext
andCPUFriendDataProvider.kext
from desktop to/CLOVER/kexts/Other/
and restart.
- Copy
-
For OC users:
- Copy
CPUFriend.kext
andCPUFriendDataProvider.kext
from desktop to/OC/Kexts/
. - Open
/OC/config.plist
and add the following code intoKernel - Add
:
- Copy
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>CPUFriend.kext</string>
<key>Comment</key>
<string>Power management data injector</string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/CPUFriend</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>CPUFriendDataProvider.kext</string>
<key>Comment</key>
<string>Power management data</string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string></string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
Recovery
-
For Clover users:
-
If you are not happy with the modification, just remove
CPUFriend.kext
andCPUFriendDataProvider.kext
from/CLOVER/kexts/Other/
and restart. -
If unfortunately, you can't boot into the system, and you are sure the issue is caused by
CPUFriend*.kext
,- Press
Space
when you are in Clover page - Use keyboard to choose
Block Injected kexts
-Other
- Check
CPUFriend.kext
andCPUFriendDataProvider.kext
- Return to the main menu and boot into the system, then delete
CPUFriend*.kext
from your CLOVER folder
- Press
-
-
For OC users:
- Reverse the How to install part and restart
Credits
-
Thanks to Acidanthera and PMHeart for providing CPUFriend.
-
Thanks to shuhung for providing configuration modification ideas.