CPUFriendFriend

repository·master·Indexed 41 days ago

https://github.com/corpnewt/cpufriendfriend

A Python utility script for X86 systems that generates configuration data for the CPUFriend kext. It optimizes CPU power management by allowing users to fine-tune Low Frequency Mode (LFM), Energy Performance Preference (EPP), and Perf Bias based on specific CPU specifications.

Tokens
562
Snippets
2
Records
5
Agent score
2%

What's inside CPUFriendFriend

  1. How CPUFriendFriend works

    master

    CPUFriendFriend is a Python script that inspects frequency vectors from the X86PlatformPlugin plist (matching your SMBIOS configuration) and uses Acidanthera's CPUFriend ResourceConverter to optimize power management.

    Important: This script only generates the CPUFriendDataProvider.kext and ssdt_data.dsl/.aml files. It does not replace the CPUFriend kext. You must install CPUFriend.kext separately for this to function.

  2. Configure Low Frequency Mode (LFM)

    master

    LFM is the lowest frequency your CPU should operate at when completely idle. To determine the correct value:

    1. Look up your CPU on Intel's Ark website.
    2. Find the TDP-down frequency.
    3. Convert the GHz value to Hexadecimal.

    Example: To set the LFM to 1300MHz (1.3GHz), convert 13 to Hex. Using bc in the terminal:

    $ echo "obase=16; 13" | bc
    D

    Enter 0D in the script to set the attribute to 1300MHz. For a common 800MHz TDP-down value, enter 08.

  3. Install and run CPUFriendFriend

    master

    To use the script, clone the repository and run the provided command file:

    $ git clone https://github.com/corpnewt/CPUFriendFriend.git
    $ cd CPUFriendFriend
    $ ./CPUFriendFriend.command

    After the script completes, it will provide both SSDT and Kext versions of the CPUFriendDataProvider data. Choose your preferred method and add the resulting files, along with CPUFriend.kext, to your CLOVER configuration.

  4. Configure Energy Performance Preference (EPP)

    master

    The EPP value determines how quickly the CPU scales from the lowest TDP to full clock rate or turbo. Values range from 00 to C0. Use the following mapping for guidance:

    Hex ValueRelative Profile
    0x00Performance
    0x40Balance performance
    0x80Balance power
    0xC0Max Power saving
    • 00 minimizes scaling time (best performance).
    • C0 prefers battery life (scales more slowly).