[Nexus 5X General] phantom146:
Following the advice of [MENTION=5893314]shadowstep[/MENTION] and [MENTION=5488402]Davey126[/MENTION] I have created a thread to separate this from the whole Interactive guide thread by [MENTION=5886947]soniCron[/MENTION]. This is due to (1) one, the thread is no longer updated for almost a year and (2) two; to explain the tweak, establish baselines/guides for testers and to gather more interested individuals to try it out.

-------------------------------------------

Introducing GlassCannon!​

Description: A sound modification to the famous interactive parameters. Provides the smoothest interface, great performance while bestowing the lowest frequencies available. Ramping up quickly to maximize "inputs" from I/O overheads then immediately ramping down once tasks are done. The perfect balance between lowering down your frequency, and finishing up tasks quickly.

Why Glasscannon? Why not?

Who am I? I came from the hammerhead scene. I have been modding interactive parameters for more than 2 years and owns a community called: Android Battery Community whom has its own fair share of followers but has been quite stagnant for almost a year ever since my hammerhead broke. Though, I have been tweaking things with other devices; LG G4, Samsung Note 6, OPO and other smartphones that I got my hands on. Now I think it's time for me to get into the Nexus 6P scene. And after just literally 2 days after I posted the tweak, there are messages and posts tempting me to port it to N5X and LG G4, and with enough encouragement as well as a promise of testers; I edited the values matching my GlassCannon tweak with the former LG G4 .txt file I have in my desktop and here it is!

The difference? After years of being a paranoid about my battery (literally looking at dashboards, cpu cycles etc. you know, that guy who just tends to not be satisfied about everything) I finally settled down and read a lot of things and made it as my basis. Most tweaks in here uses target load as an optimal way to force cores to stick into lower frequencies but we won't be doing that with GlassCannon. We will be using two underrated tunables: above_hispeed_delay and input_boost. This two underrated tunables are being neglected for years, though some used it quite efficiently; I have yet to see a tweak that maximizes the two tunable's potential. We would be using above_hispeed_delay as a substitute to the unpredictable target_load. Instead of assigning too much within a tunable that we can't even lay our finger on how it works properly, why not let the SoC handle it and assign a delay along with timer_rate so it can run efficiently? And let input_boost jump up here and there to provide quick surge whenever there are tasks running under the hood.

Look under (Version: N5X l G4):

[COLOR="Gray"]/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 384000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 1440000
/sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load 93
/sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay 0 600000:19000 787200:20000 960000:24000 1248000:38000
/sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate 50000
/sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq 600000
/sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_slack 380000
/sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads 29 384000:88 600000:90 787200:92 960000:93 1248000:98
/sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time 60000
/sys/devices/system/cpu/cpu0/cpufreq/interactive/boost 0
/sys/devices/system/cpu/cpu0/cpufreq/interactive/align_windows 1
/sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif 1
/sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load 0
/sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis 0
/sys/devices/system/cpu/cpu0/cpufreq/interactive/boostpulse_duration 0
/sys/devices/system/cpu/cpu4/cpufreq/scaling_governor interactive
/sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq 384000
/sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq 1824000
/sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load 150
/sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay 20000 960000:60000 1248000:30000
/sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate 60000
/sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq 960000
/sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_slack 380000
/sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads 98
/sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time 60000
/sys/devices/system/cpu/cpu4/cpufreq/interactive/boost 0
/sys/devices/system/cpu/cpu4/cpufreq/interactive/align_windows 1
/sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif 1
/sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load 0
/sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis 0
/sys/devices/system/cpu/cpu4/cpufreq/interactive/boostpulse_duration 0
/sys/module/cpu_boost/parameters/input_boost_freq 0:600000 1:600000 2:600000 3:600000 4:960000 5:960000
/sys/module/cpu_boost/parameters/sync_threshold 1248000
/sys/module/cpu_boost/parameters/boost_ms 40
/sys/module/cpu_boost/parameters/migration_load_threshold 15
/sys/module/cpu_boost/parameters/load_based_syncs Y
/sys/module/cpu_boost/parameters/shed_boost_on_input N
/sys/module/cpu_boost/parameters/input_boost_ms 300
/sys/module/cpu_boost/parameters/input_boost_enabled 1
/sys/module/msm_performance/parameters/touchboost 0
/sys/module/msm_thermal/core_control/enabled 0
/sys/module/msm_thermal/parameters/enabled Y[/COLOR]

Explanation:

go_hispeed_load: Anything between 85-94 is average by my tests, it tends to stick to hispeed_load 40-60 which is what I think would be "optimal" for our cat.

above_hispeed_delay: The most important part of our tweak along with input_boost. This should set up the perfect "delay" so cpu cores could adjust and decide before ramping up to higher frequencies. Our frequency set as hispeed from little cluster is 600000.

target_loads: We won't be dwelling much in this. We put a small amount so that our frequency could ramp up if needed and take a pause on frequencies we deemed to be really significant; 600mhz, 672mhz, 960mhz and 12348mhz. Along with hispeed_delay, it should provide low consumption and tend to stick on 384mhz and 600mhz 89% of the time.

timer_slack: Put it to 380000, just trust me.

max_freq_hysteresis: Asking why theres jitters and a bit of stuttering on your screen? this is the culprit. Turn it to 0 and you will be fine as long as you correct the other tunables. This is because hysteresis actually uses "former" frequencies to calculate which frequency would be best to ramp up to next. If you tend to stick to lower frequencies more, with this on then you will be sticking at low frequencies almost forever, which obviously isn't something good.

input_boost: Now, to explain why this is important; there are two things I would like to emphasize. (1) One, this value was made so that under the hood tasks as well as simple bumps to your frequency if there is a notification, sync etc. would be possible. (2) this value is extremely useful to provide that quick boost to complete tasks with ease. The big clusters would have an input_boost of 633000 which was supposed to be the stock mhz. Why? I deemed that the big cluster isn't that necessary unless you are running an extremely graphic heavy game. So tone it down to 384mhz underclocking it and provide input boost to the mhz that was supposed to be the stock frequency, increasing battery life without sacrificing anything.

Will this be updated?

NO, NEVER.

I am asking myself why does this other "tweaks" update from time to time if there are no kernel parameters that are changing? Aren't all those tweaks supposed to be tested hundreds of times before releasing? Then why change the parameters again? Am I asking too much? Am I fat? NO. Just NO. EXCEPT if there will be changes within the interactive parameters then sure.

Maximal, Minimal and Nominal Frequencies? Not to hurt anyone's heart but I personally think that this is a retardified(if that is in fact a word) version of "I shall say something smart". I don't see the point of determining what the nominal, maximal and minimal frequencies are as we can't even put a finger what they literally mean. This is actually "subjective" and I really find this so called nominal frequencies irrelevant. Please don't hate.

Do note that most of the explanations above were not edited and is still pretty much the same as N6P description because I'm lazy af.

​

Credits: [MENTION=5886947]soniCron[/MENTION], [MENTION=5323968]xSilas43[/MENTION], [MENTION=5893314]shadowstep[/MENTION] for pointing out the missing timer_slack and input_boost, google for many things to read, this website for music while typing, that website for providing me more things to read, a bucket of fries and two chickens to make me company.

Go ahead and feel free to download the .txt file below and happy tweaking!

======================​

A SINCERE THANKS TO EVERYONE WHO TESTED AND PARTICIPATED

Tips Hat​

After many things happening and after more than a month, I am really glad that we have succesfully ported GlassCannon to N5X and LG G4 (or any other device with same cpu structure). I am proud to present to you the fruits of the small labors of both me and the team as well as others behind the scene testing GlassCannon for your devices.

What has been the verdict? Overall, via landslide; the GlassCannon's Beta2.0 has come out on top. I figured and of course realized after the alphatest that people in N5X community complained (though in small dose) about stutters and a small lag in some apps. Most were debunked especially if you are using an online app but I had to wrap around everything and investigate further. Even though I promised that the Beta would be more battery efficient, I adjusted it so that it should provide a much better performance and smoothness without compromising the battery life of our cats. And thus, the verdict is Beta 2.0 *autistic screeching*

Special thanks to: [MENTION=6924405]Curlyfry2121[/MENTION] [MENTION=5893314]shadowstep[/MENTION] [MENTION=4766140]crian[/MENTION] [MENTION=5485572]spartan268[/MENTION] [MENTION=6298782]IcyGlacial[/MENTION] [MENTION=6881234]Lazerlord[/MENTION]

Just a headsup, I will be leaving the Alpha below for other people to download if they still want some! :D

Grab a copy below! Enjoy!​