[HTC 10 ROMs, Kernels, Recoveries, & Other Developm] Freak07:
Hey Guys,

I thought while waiting for the first custom kernels that maybe i should have a look at the interactive values and try to tweak them based on this way:

http://xdaforums.com/nexus-5x/general/guide-advanced-interactive-governor-t3269557

So i took a script from [MENTION=4752299]Alcolawl[/MENTION] and modified it to work with our device. Many thanks for his scripts.

I adjusted the values to our snapdragon 820 as the original scripts are for the nexus 6p which runs with a snapdragon 810. (octa on the 810 vs quad-core on the 820)

IÂ´d highly recommend to try these values as it gave me a significant boost in battery life. here is a screenshot:

https://drive.google.com/file/d/0BxbxiBXaZVu-N1lsRTMyZ2hsY1k/view?usp=sharing

https://drive.google.com/file/d/0BxbxiBXaZVu-N1MzamRvM2FVZlk/view?usp=sharing

BIG UPDATE: with base 1.80 i´m not able to trick the touch/Input boost from htc´s pnpmgr with a chmod command like i did before. so all versions since Butterfly v11 will disable pnpmgr completely.

that means if you Play high end games and your device overheats like crazy please Report back. i had no Problem until now.

also there are now 2 versions. the oc one is for overclocked cpus with elementalx. without oc is for the default clock speeds.

here are explanations on what the 2 different stragies do:

Butterfly - A culmination of all strategies, provides smoothest performance of all currently published settings, though battery savings are a little more modest. Excellent for light and moderate users; heavy/marathon users might want to check out a different setting profile as it gets battery intense with heavy usage.

GhostPepper - Uses a quantized, frequency-aligned parametric curve to influence low core clock rates while providing extremely smooth transitions from each clock rate and exceptional battery life. Good for light to medium usage and multitasking.

So basically there will be two ways of applying this mod.

First one is via scripts. this allows to set parameters outside of the interactive governor controls like cpu boost, editing of pnpmgr, min/max frequencies etc. so basically there´s more control.

Second one is via EX Kernel Manager. I will upload the profiles and you can apply them directly into the app. This will however only affect the tunables of the interactive governor. Touchboost has to be set manually for the profile to work exactly as intended.

when the phrase "elex" is in the zips name it is for use with ex kernel manager app (loading profile in governor options screen.

so to try the script method follow these steps. (and before do a nandroid as always)

1. download the attched file.

2. unzip the file, choose the correct script (oc if you have overclocked)

3. with a root explorer or terminal copy the file to system/su.d

4. set the correct permissions (rwxr-xr-x)

now you may either choose to change the settings temporary (step 5A) until the next reboot or permanently upon each reboot (step 5B)

5A. rename the file to 50ghostpeppertenv3.sh

use any script manager and run the script from this location (system/su.d)

alternatively use any terminal emulator app with the following commands

su

cd system/su.d

sh 50ghostpeppertenv3.sh

Be advised that the script takes in its current state 60 seconds to be applied. So the changes need a minute to be applied.

now check if the script has applied

- to do this go to sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads

- if it looks like this: "25 480000:35 652800:45 844800:60 960000:75 1113600:85 1228800:90 1401600:95 1593600:100" the script was applied successfully

- the values changed with each update. what´s important to check is just the generel layout

5B. (-if you did the temporary approach beforehand remove the .sh)

- it should look like 50ghostpeppertenv3 (make sure there are now spaces at the end)

reboot and check if the script has applied

- to do this go to sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads

- if it looks like this : "25 480000:35 652800:45 844800:60 960000:75 1113600:85 1228800:90 1401600:95 1593600:100" the script was applied successfully.

-- the values changed with each update. what´s important to check is just the generel layout

Important!!!

if you run permissive and run into no signal issue due to this look here

if you should run into a no signal issue where your baseband shows as unknown under software status ( currently on custom roms eg leedroid) you have to put a script to system/su.d that sets selinux to permissive. attached is such a script.

unzip it. copy it to system/su.d

set the same permissions as the ghostpepper script and your good to go.

running in terminal the command "getenforce" should return permissive.

Second method via Elemental App:

1. Download the desired profile from the attachments

2.Extract the Profiles from the zip

3. Choose the Overclocked(oc) version if you overclocked

4.Copy the file to sdcard/ElementalX/gov_profiles

5. Open the app and apply the values

let me know if it brings a little battery boost for you. you may also let me know if you face performance issues.

Thank you and have fun testing it. :)

Changelog:

Ghostpepper:

v1: Initial Release

v2: Tweaking The Script so the values will get applied properly on all roms

adding a permissive script in case of getting enforced

v3: Removed touchboost so the profile may unleash its full potential <<--- results in overall slower device.

v4: Added back short input boost

v4withtb: Added back original touch boost from htc

v8: New try on getting the interface smooth and disabling touchboost (minimal stutter remains)

v8withtb: same as v8 touchboost is still active

v9: only one version with touchboost now. tweaked target loads (lower freqs are used more), short input boost

there are now two files inside the zip.

v10: try to further improve frequency usage, less aggressive scaling

v11: fix in case Little cores might get stuck at highest clock

Butterfly

v4: Initial Release

v4withtb: Initial Release with original touch boost from htc (extremely smooth)

v6withtb: tuned the values and kept touchboost from pnpmgr, kernel touch boost is disabled, extremely smooth for me

v7: less aggressive scaling, performance should be really good while reducing less power than v6

v9: basically scaling is tuned to respect the crossover effieciency point from big and little cluster

v11: updated to work on base 1.80

- disable pnpmgr completely because the chmod trick for disabling pnpmgr´s touchboost is no longer working

- enable msm_thermal and core_control

v12: tweak some values to work better with the new base

v13: hotfix as i made a mistake in the previous version

credits:

thanks to [MENTION=4752299]Alcolawl[/MENTION] for the script template

also thanks to [MENTION=5886947]soniCron[/MENTION] for the original thread