syscl / CPUTune

An open source kernel extension enables dynamic CPU performance tuning at runtime for macOS.
165 stars 37 forks source link

CPUTune.kext/Contents/Info.plist #6

Closed ngerasimatos closed 4 years ago

ngerasimatos commented 4 years ago

If I wanted to have speedshift, turbo boost and prochost disable at boot I would modify the following? Also, can you explain what speedshift is specifically responsible for?

                    <key>AllowUnrestrictedFS</key>
                    <false/>
                    <key>CFBundleIdentifier</key>
                    <string>org.syscl.driver.CPUTune</string>
                    <key>EnableProcHot</key>
                    <false/>
                    <key>EnableSpeedShift</key>
                    <false/>
                    <key>EnableTurboBoost</key>
                    <false/>
                    <key>IOClass</key>
                    <string>CPUTune</string>
                    <key>IOMatchCategory</key>
                    <string>CPUTune</string>
                    <key>IOProviderClass</key>
                    <string>IOResources</string>
                    <key>IOResourceMatch</key>
                    <string>IOKit</string>
                    <key>ProcHotAtRuntime</key>
                    <string>/tmp/CPUTuneProcHotRT.conf</string>
                    <key>SpeedShiftAtRuntime</key>
                    <string>/tmp/CPUTuneSpeedShiftRT.conf</string>
                    <key>TurboBoostAtRuntime</key>
                    <string>/tmp/CPUTuneTurboBoostRT.conf</string>
syscl commented 4 years ago

Yes, your setting is correct. You can also disable each feature via echo '0' > /tmp/<feature> at runtime when the CPUTune is loaded.

A brief introduction of Intel SpeedShift: change the frequency (P-state) in hardware level instead o f in OS level, which leads to less overhead in frequency scaling. More detail can be seen here.

ngerasimatos commented 4 years ago

With these settings I was able to get a very decent GeekBench score:

        <key>AllowUnrestrictedFS</key>
        <false/>
        <key>CFBundleIdentifier</key>
        <string>org.syscl.driver.CPUTune</string>
        <key>EnableProcHot</key>
        <false>
        <key>EnableSpeedShift</key>
        <false/>
        <key>EnableTurboBoost</key>
        <false/>
        <key>HWPRequestConfigPath</key>
        <string>/tmp/HWPRequest.conf</string>
        <key>IOClass</key>
        <string>CPUTune</string>
        <key>IOMatchCategory</key>
        <string>CPUTune</string>
        <key>IOProviderClass</key>
        <string>IOResources</string>
        <key>IOResourceMatch</key>
        <string>IOKit</string>
        <key>ProcHotAtRuntime</key>
        <string>/tmp/CPUTuneProcHotRT.conf</string>
        <key>SpeedShiftAtRuntime</key>
        <string>/tmp/CPUTuneSpeedShiftRT.conf</string>
        <key>TurboBoostAtRuntime</key>
        <string>/tmp/CPUTuneTurboBoostRT.conf</string>

FireShot Capture 001 - Geekbench Score -

syscl commented 4 years ago

@ngerasimatos Glad to see it works. So basically you disable all the features( turbo, hwp and prochot) to save battery and reduce heat right?

ngerasimatos commented 4 years ago

Yup

syscl commented 4 years ago

Got it, feel free to try some new feature in 2.0.7+ which you can also limit the maximum frequency for echo cores (RATIO LIMIT).