Giter Site home page Giter Site logo

one-key-cpufriend's Introduction

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 in config.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 and CPUFriendDataProvider.kext from desktop to /CLOVER/kexts/Other/ and restart.
  • For OC users:

    • Copy CPUFriend.kext and CPUFriendDataProvider.kext from desktop to /OC/Kexts/.
    • Open /OC/config.plist and add the following code into Kernel - Add:
<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 and CPUFriendDataProvider.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 and CPUFriendDataProvider.kext
      • Return to the main menu and boot into the system, then delete CPUFriend*.kext from your CLOVER folder
  • For OC users:

Credits

one-key-cpufriend's People

Contributors

stevezhengshiqi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.