(GUIDE) LG ARISTO (LGMS210) CHANGE CPU MAX FREQUENCY (1401MHz) - Miscellaneous Android Development

I AM NOT RESPONSIBLE FOR ANY DAMAGE DONE TO YOUR PHONE BY IMPLEMENTING THIS MODIFICATION!!
IMPORTANT: THIS IS A RELATIVELY NEW TWEAK I HAVE IMPLEMENTED ON A DEVICE I DO NOT USE AS A DAILY DRIVER. I HAVE ONLY BEEN USING THIS ARISTO AS A TEST FOR 4 DAYS WITH THIS MOD IN PLACE (AT THE TIME OF THIS WRITING). I DO NOT KNOW HOW STABLE THIS IS, OR IF ANYTHING WILL RANDOMLY KNOCK OUT MY TWEAKS, BUT SO FAR SO GOOD. BUT . . . . ALWAYS REMEMBER, YOUR MILAGE MAY VARY!! PLEASE SHARE YOUR EXPERIENCE WITH THIS TWEAK SO WE CAN IMPROVE ON IT'S STABILITY!!
So here's the story . . . .
My girlfriend got a free LG Aristo from MetroPCS when she switched carriers, which was a damn good deal IMHO. After using it for a month or so, she's pretty happy with it, aside from the usual gripes that come with low-midrange devices. I repair phones and computers for a living so I wanted to tinker with it and see what, if anything, could be done to give it that little bit of extra 'oomph' in performance, battery life, etc. Since it's her only device I didn't wanna risk depriving her of her phone if anything went sideways, so I kept my eyes open for an Aristo to pop up, and the other day, one did! One of my clients texted me asking if I wanted to buy a broken Aristo for parts, and considering the only thing wrong with it is a cracked screen, I jumped on it.
So, now that I have the guinea pig Aristo to play with, I did a quick search to see what kind of dev community this device had here, and on XDA. I stumbled accross this post with a working TWRP v3 (BTW, mad props to messi2050 for the TWRP v3, no-verity-opt-encrypt script link, and tutorial! MANY THANKS!).
I was a little surprised that the Aristo has an easily unlockable bootloader, so I give credit to LG for giving folks the option to do what they want with THEIR device.
With the bootloader unlocked and TWRP installed, I went ahead and formatted the /data partition to disable encryption (AFTER MAKING A NANDROID OF CORSE!!). After rebooting back into TWRP, I transfered the no-verity-opt-encrypt script and Magisk v13.2 and flashed them (IN THAT ORDER).
Magisk was a must since my girl plays Super Mario Run, and a few other games/apps that check Safety Net, and I'm happy to report that with Magisk v13.2 installed, Safety Net passes without issue.
Now comes the issue of LG underclocking the Snapdragon 425. Looking at it from LG's perspective, I understand the logic behind this implementation; a lower max_freq is definitely gonna give you a bit of extra battery life, and since low-midrange devices like the Aristo are unlikely to be used for anything more than calling/SMS/MMS, web browsing, YouTube, and light gaming, they probably figured that that bit of extra performance wouldn't be missed by most people buying this device.
The Snapdragon 425 has a max CPU clock speed rated at 1.4GHz, however, the LG Aristo tops out at 1.25GHz (1.248GHz). Using flar2's EX Kernel Manager (I use ElementalX on ALL of my other devices, but his kernel manager app works with ANY kernel), I couldn't get the max-freq to stick at 1401MHz. Strangely, it would max out at either 1248MHz, or 1094MHz, and even setting it to apply on boot proved futile. Then, I noticed that the frequency range in CPU-Z was '960MHz - 1.25MHz', so then I headed for the source:
/sys/devices/system/cpu
In this folder you will see the following folders:
cpu0
cpu1
cpu2
cpu3
Interestingly enough, the max rated frequency of '1401000' is listed in the 'scaling_available_frequencies' file of each core, meaning that specific frequency can be controlled by the kernel (CPU governor) if directed via each core's 'cpuinfo_max_freq' file.
(NOTE: This guide will walk you through changing the max_freq only for cpu0, however, the method for cpu0 is identical for cpu1, cpu2, and cpu3, so just repeat the steps for each cpu core)
Step 1.) Open the folder 'cpu0' [/sys/devices/system/cpu/cpu0]
Step 2.) Inside the 'cpu0' folder, find the folder 'cpufreq' [/sys/devices/system/cpu/cpu0/cpufreq]
Step 3.) Inside the 'cpufreq' folder, find the file 'cpuinfo_max_freq' [/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq]
Step 4.) Open it with a text editor (I am using Solid File Explorer w/ Root add-on which has a built in text editor, but ES File Explorer, Root Explorer, etc. all have built in text editors)
Step 5.) Change the value from '1248000' to '1401000' (WITHOUT ' ' MARKS OF COURSE!!)
Step 6.) Save the file after making the changes.
Step 7.) Repeat the above steps for the remaining 3 A53 cores. If you need to follow the guide for each core, just change the 'cpu0' in STEP 1 to 'cpu1', then 'cpu2', etc.
Step 8.) After making the changes to each core and saving your edits, exit out of your file manager and reboot (Now, if you go back to look at your edit after saving the cpuinfo_max_freq, it will appear as if your edit did not stick, but trust me, it will stick when you reboot).
Step 9.) After rebooting, open your root file explorer and check the edits you made to each core's 'cpuinfo_max_freq' file. They should now all read '1401000'.
Step 10.) Open your preferred kernel editor/auditor app and change the max frequency to 1401MHz, and this time it will stick. If it does not stick, simply change your CPU governor to 'Performance', then set the max to 1401MHz and that should make it stick. After that, close your kernel tweaking app and open CPU-Z or some other app that shows the current CPU frequency and check that it's locked at 1401MHz. Once you see that it's locked at 1401MHz, go back into your kernel tweaking app and change the governor back to your desired setting (I'm using Interactive), then check to see that the CPU max frequency is still locked at 1401MHz.
Step 11.) DON'T FORGET TO SET YOUR KERNEL EDITOR/AUDITOR TO APPLY THE CHANGES ON BOOT!! For some reason, if you don't set on boot it will randomly change the max speed between 1094MHz and 1248MHz.
Step 12.) PROFIT!!
NOTES:
- Solid File Explorer automatically mounts /system -rw when you open it. I'm not sure about other root file explorers, so make sure you mount /system -rw or your edits will not save/stick
- This is a relatively new tweak, so if anyone can expand on what I've covered here, please do!!

It won't let me save the edited text

Nice work!!! Also looking at the LG. K20 as well as the LG Tp450(Stylo 3+). I am curious to see if LG intentionally underclocks all...or at least the only ones this poor bastard can afford...LoL

Doesn't seem to work for me. Max CPU frequency frozen at 960 MHz ?

Related

[SCRIPT] Complete CPU Control

This is a script that allows complete control over your cpu. Within the script you can directly edit max cpu speed, min cpu speed, change governors, set up_threshold, set sampling max and sampling min and set ignore nice load.
The only drawback is the settings get cleared once you restart your device so you have to run the script again. Doesn't matter for me my phone is on all the time. I will be working on a way to make the settings stick.
There is a readme included in i suggest reading it before using the advanced settings. Or see the text file source here
I'm not going into details here but it's pretty simple to get the hang of the advanced settings and using them can save battery or speed up your device.
To run the script simply open a terminal emulator and enter:
"su" (without the quotes)
"ccc" (without the quotes)
Follow the onscreen instructions.
This script does not use any daemon or rely on any app. If you use setcpu or something similar it will simply overwrite these settings.
Disclaimer:
Use at your own risk, I am not responsible for any damage...
Not that there should be any
Remove the .txt extension before using and put file in /system/bin or /system/xbin.
​
Testing My Touch 4G now I'll report back soon.
Looks pretty interesting, thanks
how do we know this is working?
if it is, then my nexus one is running @ 2ghz with no increase in score on quadrant standard

[GUIDE] Advanced Interactive Governor Script - Battery Life

Remember to have the screen turned ON while you apply the script!!!
Hi guys!
Today i want to share with you a script i specifically tailored for our 4C, to decrease high battery drain just by tuning parameters of the interactive governor.
As many of you know, on the Nexus 5X forum there is a huge post about different profiles created to achieve the same purpose, and almost all of them works with our device (personally tested)
[GUIDE] Advanced Interactive Governor Tweaks; Buttery smooth and insane battery life!
I raccomed to read it!
One of them in particular was extremely good battery wise but i felt some lagginess here and there (talkin about HawkTail 1.2)
So i decided to make a script myself and share it with you, the idea behind it is to force the CPU to scale better with loads and making the Big cores in use more frequently by tuning some of the kernel parameters.
Plus we will have the GPU idling @ 180MhZ instead of 300MhZ (like in the Nexus 5x) and a switch to noop scheduler.
Performance wise and taking in example the latest stable ROM from Xiaomi.eu (8.0.5) we will have a decrease of about 5k point in Antutu (I'll attach two screenshots, the 71K was the result without tweaking, plus just by switching back to CFQ scheduler you'll get 2K points back but NOOP is more battery friendly)
So here you go, this is my script TAO.
Using it is pretty simple and you have a couple of options: [ROOT IS NEEDED]
Since it's a script, if your rom have INIT.D folder support, you can just move the file under /etc/Init.d and reboot the device. The script will make a log file under /sdcard/TAO.log that you can check if anything went wrong.
The second option, if your rom doesn't have Init.d folder support, just use Kernel Auditor and a text editor.
Open the downloaded file in a text editor, select all and copy the text.
Then open Kernel Auditor, and in the menu look for init.d, enable the "Emulate Init.d" and then click the "+" symbol. It will ask to add a name (let's set it to TAO for coherence), then OK. It will open a new window where we have to paste all the text previously copied, save it by pressing the icon on the top right. Now we can just reboot the device or click the newly created item and select execute.
Third option is to run it manually from terminal.
Plus, i'll add my Thermal-engine-8992.conf that you guys can use to change the thermal throttling values. Download it and replace it in /system/etc/ , set it with permission 644 and reboot.
This modded thermal will move up the limits, long story short, your device will continue to perform even if it gets hot.
Enjoy! & report back for feedback
Remember to have the screen turned ON while you apply the script!!!
P.S.
Files are zipped, extract them!!!
UPDATE
Minor update - use_sched_load set to 0 for both cores
Correction made for the log file
UPDATE 0.7
Since @solis_f is having some problem with the big cores, and this could be a common problem to many others too i've decided to add something in the script that will force the big core online so you should not have any more problem executing the script. Let me know
UPDATE 0.8 - Experimental
Updated Target_loads for both Little and Big cores.
Little core min freq. to 384 MhZ.
Input boost @ 787 MhZ instead of 600 MhZ.
hispeed_load disabled for both cores.
Updated values for UpMigrate.
Enabled core_ctl for big cluster:
With this update, you'll have your big cores Offline most of the time, but they will comes online when needed.
Yours perfd (/data/system/perfd/default_values) with this version have to look like this:
Code:
ihf;787200
iahd;38000
ighl;200
itl;39 460800:5 600000:62 672000:10 787200:81 864000:90 960000:99
gpu_default_pwrlvl;5
sst;33
smil;20
sminr;3
sitl;65
sum;66
sdm;54
cbmf;1525
cbhdr;90
cbhip;16
ihf0;787200
iahd0;38000
itl0;39 460800:5 600000:62 672000:10 787200:81 864000:90 960000:99
imst0;0
ighl0;200
imf0;0
itr0;30000
its0;-1
iiib0;1
intb0;0
ibd0;0
ihf4;1248000
iahd4;38000
itl4;53 768000:64 864000:72 960000:79 1248000:99
imst4;0
ighl4;200
imf4;20000
itr4;30000
its4;-1
iiib4;1
intb4;0
ibd4;0
P.P.S.
Over two hundred downloads, but not even half of you gives me feedback...
UPDATE 0.9
Sorry for the delay, many things to do IRL.
This version is what i'm using now, should be smoother then v0.8, hope you like it.
nice one, will try this
Did you try to run Antutu several times in a row, so we can see is the result of 66k almost constant. Since as we all know, results can degrade towards 44k because of overheating..
predragiPredrag said:
Did you try to run Antutu several times in a row, so we can see is the result of 66k almost constant. Since as we all know, results can degrade towards 44k because of overheating..
Click to expand...
Click to collapse
I did not, but degradation of score is dictated by the thermal config. That's why i modded that too, and pushed the standard limits...
Let me show you with an example:
Code:
[SS-SKIN-XO-THERM-PERF]
algo_type ss
sampling 250
sensor xo_therm_buf
device cluster1
set_point 43000
set_point_clr 37000
time_constant 0
device_max_limit 800000
This is taken from the original file, and it covers the big cluster... when it reach 43° celsius, the thermal throttling will limit the max frequency of the cluster to 800MhZ
Code:
[SS-SKIN-XO-THERM-PERF]
algo_type monitor
sampling 5000
sensor quiet_therm
thresholds 46000 48000 50000
thresholds_clr 44000 46000 48000
actions cluster1 cluster1 cluster1
action_info 1632000 1248000 960000
This is the same part but modified by me, i've added more step... as you can see thermal throttling for big cluster will work once the big cluster reach 46° and it will cut the max frequency to 1632MhZ, then at 48° 1248MhZ and at 50° at 960MhZ
The hot-plug, that put the cores offline, on the original file for the big cluster is marked at 42° for core 4 and 45° for core 5.
On my config file both cores will be hot-plugged once they reach 52°.
TL;DR if you use my thermal-engine conf file, you will get more consistent score on several runs.
Nice to hear that will try this when I have more time to play with my phone and report back.
Great work and thanks for sharing this
GoldGanja said:
Hi guys!
Today i want to share with you a script i specifically tailored for our 4C, to decrease high battery drain just by tuning parameters of the interactive governor.
As many of you know, on the Nexus 5X forum there is a huge post about different profiles created to achieve the same purpose, and almost all of them works with our device (personally tested)
[GUIDE] Advanced Interactive Governor Tweaks; Buttery smooth and insane battery life!
I raccomed to read it!
(...)
Enjoy! & report back for feedback
P.S.
Files are zipped, extract them!!!
Click to expand...
Click to collapse
Hi,
I can not apply root because of he problem between pokemon go and root, (I am playing pokemon go with my 8 years old son a father-son activity and he loves it)
I am using a dev miui rom and i did tune my thermal-engine and remove the input boost using the TWRP file manager to apply the files.
This rom does not have init.d folder could i call your script from init.qcom.post_boot.sh? if so, do you know how to?
best regards,
John
You should look for some sort of systemless root, and magisk to masquerade root and be able to play Po Go on a rooted phone. I don't think you can chain load the script within post_boot.sh and by the way to modify it you should have super user permissions. Anyway keep up the father and son activity, is way more important!
Sent from my Mi-4c using Tapatalk
GoldGanja said:
You should look for some sort of systemless root, and magisk to masquerade root and be able to play Po Go on a rooted phone. I don't think you can chain load the script within post_boot.sh and by the way to modify it you should have super user permissions. Anyway keep up the father and son activity, is way more important!
Sent from my Mi-4c using Tapatalk
Click to expand...
Click to collapse
thanx, my son does not talk about anything else...
About the chain load the TS rom does that with ts_power.sh file.
Code:
# ts power scripts permissions
chown -h system /system/etc/ts_power.sh
chown -h system /data/ts_power.sh
Code:
# Call ts_power.sh, if found
if [ -f /data/ts_power.sh ]; then
logi "Call /data/ts_power.sh set_profile $profile"
sh /data/ts_power.sh set_profile $profile
elif [ -f /system/etc/ts_power.sh ]; then
logi "Call /system/etc/ts_power.sh set_profile $profile"
sh /system/etc/ts_power.sh set_profile $profile
fi
I will try to see if it works using your script.
About systemless root, i don't want to be in the middle of the cat and mouse thing. Today google update and tomorrow there is another hide root.
I did replace the thermal engine using the twrp file manager. It works.
Nice share bro. Thermal engine + init.d script is good battery backup for mi4c.
Hello,
could you make patched files available and the place where they should be placed ?
I don't want to root my phone but I want to give your optimisation a try. It is possible with TWRP to replace the files in the file manager. More work but it can be done without root. Therefore however I will need the allready patched files....
A little more "complicated" even... might it not be possible using TWRP to flash these files ? I have no idea how that would work exactly but I can imagine it would be possible to create a flashable zip that replaces these files... It currently goes beyound my abbilities though unfortunatly but maybe someone can help with that.
Thanks for your share @GoldGanja , looks interesting.
But i think the thermal-engine.conf would cause more overheating as it is already (for me reduce overheating is the most important), but i like the way to reduce the clockspeed step by step. Maybe i will try it with lower values.
The modified governer looks great. I think this will help with heating too. But on this there aren´t laggings ?
Thank you! i hope this fix my battery drain and the heat, i'll report if i see changes
@nachtwacht
Even if i make a zip file to use with twrp, this will only be useful for the thermal-engine conf file...because the other one is a script i've created and so there is no other file to replace. As stated ROOT is needed, i'm sorry.
@Danny94
thermal-engine.conf per se will not increase or decrease over-heating, of course one could make a conf file to be more restrictive on the temps and brutally decrease the performance but i don't see the need of this because i don't have any over-heat problem within my device with the script i've made. A major cause of over-heating is the input-boost frequency that by default is set to 1248MhZ, while if you run my script it will be 600 MhZ. Farther i have no lags at all...give it a try and report back. More feedback I have about it, the better I can adjust some parameters.
@HYBRIDEMON
Thanks!
@GoldGanja
Yeah i will try tomorrow if i get some free time.
Wich Rom do you use ? I have at almost all roms overheating problems. After 10 min+ of 3d gaming i have ~55°c + (On my old phone Thl 5k i could play the same game hours, don´t get over 45 °c and no lagging or something - and yeah its not the best phone).
With your thermal config the device throttles later. So it will heat higher, until it shut down big core etc. As hotter it becomes as more difficult its to cooldown. Sure if you won´t reach 52°c would be perfect one. But maybe i will replace the values with lower, else it looks very good.
I can't find tao.log at sdcard.
Script is applied or not?
I copied to etc/init.d and set 755 permissions.
Edit:
Finally I applied manually and I have 2 errors with big cluster settings.
Enviado desde mi Mi-4c mediante Tapatalk
@dany94
I'm using last stable from xiaomi.eu (8.0.5). Anyway, if you get to know how the gears of the thermal engine works, do what is best for your usage. Feel free to change the numbers on my file if needed
siba01 said:
I can't find tao.log at sdcard.
Script is applied or not?
I copied to etc/init.d and set 755 permissions.
Edit:
Finally I applied manually and I have 2 errors with big cluster settings.
Enviado desde mi Mi-4c mediante Tapatalk
Click to expand...
Click to collapse
I think you are using a CM TS rom, right? well, for that you have to do two things.
First, set the battery mode to QUICK, because on BALANCE there is the hotplug of the BIG cores. Then re-run my script.
If that's not the case, maybe the device was just a bit hot, and the hotplug kicked in by the thermal-engine...let it cool down first or use my thermal-engine conf.
Second, rename my file to userinit.sh and place it under /data/local if you want the settings to be applied at each boot.
GoldGanja said:
Even if i make a zip file to use with twrp, this will only be useful for the thermal-engine conf file...because the other one is a script i've created and so there is no other file to replace. As stated ROOT is needed, i'm sorry.
Click to expand...
Click to collapse
Maybe I was not clear or, more likely I do not completely understand which is a fact for sure
Let me clear up the first part, then hopefully in the end I will also better understand
Your script chances several files if I understand correctly ? scaling_min_freq for example is the first one you change in the script ?
Could we not update all the files that you change using TWRP ?
My guess is, (that's just me trying to understand better.....) that I think that using TWRP it is possible to change these files without root, but in reality it is not because the phone is not rooted ? Maybe because only the complete system can be changed and not single files ? (without root)
I do know that in the end, for me it is possible to root my phone, apply the settings, and then unroot it again.... which hopefully have my phone working like it never was rooted... it's just a risk I would like to avoid if in any way possible, therefore I am investigating and trying to get it all clear for me, sorry for that
GoldGanja said:
@dany94
I'm using last stable from xiaomi.eu (8.0.5). Anyway, if you get to know how the gears of the thermal engine works, do what is best for your usage. Feel free to change the numbers on my file if needed
I think you are using a CM TS rom, right? well, for that you have to do two things.
First, set the battery mode to QUICK, because on BALANCE there is the hotplug of the BIG cores. Then re-run my script.
If that's not the case, maybe the device was just a bit hot, and the hotplug kicked in by the thermal-engine...let it cool down first or use my thermal-engine conf.
Second, rename my file to userinit.sh and place it under /data/local if you want the settings to be applied at each boot.
Click to expand...
Click to collapse
I'm using Resurrecction Remix.
Thanks for your answer.
Enviado desde mi Mi-4c mediante Tapatalk
I was pretty sure you will do such a good job for Mi4c! Well done!
Edit: btw big cluster values are not getting applied
solis_f said:
I was pretty sure you will do such a good job for Mi4c! Well done!
Edit: btw big cluster values are not getting applied
Click to expand...
Click to collapse
What ROM are you using?
Sent from my Mi-4c using Tapatalk

Better perfomance on b378 nougat p9 with less throttling cpu for rooted device

Hello i just rooted my p9 eva-L09c432b378 and i found a way to make a less agressive throttling cpu due to higher temperature.
First you need heve a rooted device,and a root file explorer.
Open root explorer and get r/w permission to edit a file:
The path of the file to edit is:/sys/devices/virtual/thermal/thermal_zone0
Go to this folder and find file name:
trip_point_0_temp
Normally the value of this file is 55000 mean that after 55°C cpu will throttle hard to lower frequency and specially games will start lag!
I put the value at 65000 mean no throttle under 65°C
With that i could chain antutu bench more times without lower score
Warning this modification must be done at each time you restart your phone coz the value will be reseted at 55000!
So if people is able to make a script with auto change this value with an init.d script on boot you can tell me coz i don't know how to do that!
FEEDBACK ARE WELCOME
moomoon03 said:
...
So if people is able to make a script with auto change this value with an init.d script on boot you can tell me coz i don't know how to do that!
Click to expand...
Click to collapse
The attached file placed in your init.d folder with the correct permissions will do the job :good:
Once downloaded, remove .txt from the file name, it doesn't need that extension but i couldn't upload it without it
Peace
Hmm... nice finding. Does it give any major boost in eg VR applications that are most demanding right now? I mean real visible boost in performance, not only benchmarks numbers. Right now I didnt root my P9 because Im happy with it as it is, but if it would give some kick in terms of GPU/CPU speed, I might actually root it again...
I'm not sure you would see any major boost in most applications,and i would also be wary of consistently raising the temp threshhold by nearly 20% for extended periods of time...A burnt out CPU will almost certainly give no real boost in performance...
I had some cpu tweaks on my older xperias that also mess with throttling, and on some VR applications difference was not big but visible, from 5 to 9fps, sound really small, but in VR where you actually need stable 60fps to get proper experience(and less motion sickness, because low fps is actually main reason for that) every fps is important. So if in VR sesion that take from 10 to 30min if it would give me additional 5-10fps I would consider it as a good result.
True that more heat on such small component is not good, but I think 65C is not that "big", I actually once time checked temp of my xperia z3 without a back cover using Infrared thermometer from work and in heavy game running, cpu area had almost 72C -_- with cover it dropped to 63C, so metal back cover of P9 should keep it cool for that 30min of fun with VR
chris5s said:
The attached file placed in your init.d folder with the correct permissions will do the job :good:
Once downloaded, remove .txt from the file name, it doesn't need that extension but i couldn't upload it without it
Peace
Click to expand...
Click to collapse
Hello thx for the . Txt u did i'll try it!
Other thing about temp, it's the temp of the cpu so 65 is not really high coz i know lot of cpu could reach sometime 80 to 90 degrees and if you look on the folder, you have another file with second security given to 80°C Cpu
Just a warning, its perfectly fine to set the throttling to start after 65 degrees but I wouldnt advise you go any higher for those people thinking "I want to squeeze more out so lets change it to 75 degrees".
Just remember that there is some downsides to running hotter CPU/Phone, higher battery drain and reduced lifespan of the phone/components are some of them. Just keep this in mind, there is a reason why Huawei set it to 55 degrees however like many of you, I like to get the most out of my phone and things like shortening the lifespan of the components or a slight battery drain does not bother me.

[GUIDE] Disable S8 Exynos throttling (DVFS) the Easy Way

Introduction:
This will remove the performance throttling of our S8 when using it heavily (gaming, movie streaming, or any demanding stuff we do on our phone). Oh and benchmarks also. There has been numerous threads of disabling DVFS from previous Exynos phones such as Note and Galaxy S4 and so on...
Note: This tweak will not INCREASE your phone's performance as is, but to remove limiting factor such as heat when it comes to heavy usage of phone. Removing throttling could cause too much heat to your phone or worse.... could cause device and physical harm to you. Be cautious and be warned when using this. I'm not responsible for any damages that this tweak would do to you.
Verdict: Heat generated was acceptable, but this depends on every users with different setups/installed apps on their phone/usages.
Requirements:
1. Rooted Galaxy S8 Exynos (this could work probably in S8+/Note 8 Exynos variant????)
2. Kernel Adiuotor (preferred) or any tool that has Init.d support.
Steps:
1. Download Kernel Adiutor from Playstore.
2. Open the app and go to Menu > Tools > Init.d.
3. Toggle the Init.d to enable script at boot.
4. Click "+" button and name it anything you want then click ok.
5. The editor will open, now copy and paste this script in the editor.
#!/system/bin/sh
chmod 0000 /sys/devices/14ac0000.mali/dvfs
chmod 0000 /sys/devices/14ac0000.mali/dvfs_max_lock
chmod 0000 /sys/devices/14ac0000.mali/dvfs_min_lock
6. Then click save button.
Now you can click the script and execute it or reboot to check if the script has been executed.
To check if the script is executed you may use Root Explorer Paid version and go to this directory,
/sys/devices/14ac0000.mali/
and look for dvfs file, if you see that the permission is --- or blank, that means the script has been applied.
Let me know if this works for you all.
Benchmarks are nothing but tbh, it will show if throttling affects the result. I haven't captured the 1st result but I got 130kish when he devices was 50~60°C.
I run the script and quickly rerun Antutu again. See attached image below.
https://en.wikipedia.org/wiki/Thermal_runaway
Your choice.
Will this also work on my s9+. On my s8 it works like a charm.
How to remove if this one is applied?
Just reboot ur phone
This is like to remove rev. limiter. Engine gone to blowww.
It work s7
Tank you . Now it give a life on my divice . No down clock aft few min on gaming . Happy .
can I do this with adb as well? I just purchased the S10+ ( exynos ofc) and I dont want to root it, not because I cant but if want to sell it some buyers will not be interested without no google pay, netflix , samsung pay etc. If I can do this with a adb command I would really like to know.
I think this disables GPU Throttling only not CPU right?.. Does anyone knows a way to disable the CPU Throttling? Im running a custom kernel on S7 FLAT EXYNOS Overclocked to 2600MHZ but after 2 minutes frequency drops to 2394MHZ Due to cpu throttle.
Edit: I dont care about the battery i just want a gaming phone and i know the risks.
s8userhere said:
How to remove if this one is applied?
Click to expand...
Click to collapse
Reboot

[Tweaks][su.d][build.prop] Thermal Throttling solution and more

Hi Snapdragon S7 users!
As we know we have a locked bootloader, and rooting includes heavy thermal throttling and strange frequency managment done by the system automatically (try to change max/min freq and you will se how it resists). Also to suffer a slower system (apps take longer to open/multitask), And a higher battery consumption (kernel organises processes strangely and big cpu is always under moderate-high load)
i have been searching all over xda (and many other forums) to get to the solution. And this is how far i could get:
Warning
Use this at your own risk!
su.d scripts will break safety net​
Thanks to:
@xFirefly93 and his [MOD] Pixel (XL) Unified Kernel(s) Tuning Script (v1.3)
@Zola III
@TheDevelopper
@Craz Basics
Xperia XZ forum
OnePlus 3/3T forums
Pixel XL forum
su.d/init.d
Thermal throttling solution
Block max/min auto frequency: Samsung Custom Frequency Manager, i call it "The Slippery" (gekkehenkie11 explanation here) is "samsungs personal assistant" when it comes to cpu frequency, changing it according to samsung preferences. We don't have sourcecode of it, so we cant modify it. But we can override it so it doesn't modify our settings (we do it with permissions this way) so then you can choose the range of frequencies you prefer with any cpu manager like kernel adiutor (kernel's thermal throttling will still continue working) re-activated in v8 (see changelog for more info)
"Disable" throttling (push it further) = snappier device specially during heavy tasks (tested very heavily and couldnt pass 82C (180F) battery never reached 42C (108F)) you may have different temps due to Sillicon lottery or heavy gaming modified in v8 (see changelog for more info)
We have 3 options to manage temperature: Core Control (turns off cores), VDD Restriction (increases voltage when cpu is really cold) explanation HERE and HERE and Throttling (decreases cpu max freq)
How to check
A log file with the name "90Thermal_solution.log" will be created at /data
Click to expand...
Click to collapse
CPU Solution
If you take a look you will realise big cpu utilization percent is always high, and that leads to higher frequencies used and sustained for more time = higher battery consumption and cpu temps
I've tried to mitigate that by changing interactive cpu governor tunables and after setting tunables i got to a point where big cpu doesn't ramp up so often when nothing is being done (there is always something going on in background but that cpu usage and frequencies when doing "nothing" can't be justified in my opinion (i blame eng kernel for this)
Change gpu governor to cpufreq (i didnt notice any increment in battery consumption whereas the smoothness has increased for good) and set freqs to 214-624mhz (133 caused scrolling lags sometimes. You can change it if you want -> kernel adiutor)
Useful sites:
Advanced Interactive Governor Tweaks by SoniCron - Angler thread
[Guide] Advanced Interactive Governor Tweaks
GoogleSource documentation about governors
Interactive – why is this the best governor? [INFO]
[*] [URL="https://source.android.com/devices/tech/perf/boot-times"]Optimizing Boot Times | Andorid Open Source Project[/URL]
How to check
A log file with the name "91Cpu_solution.log" will be created at /data
Click to expand...
Click to collapse
DAC Solution
Enable class AB config for hph (good explanation of what it does HERE), In simply words:
Prioritize quality over battery consumption (especially when not at max volume)
High performance only works with headphones (or anything you connect using 3,5mm jack)
How to check
A log file with the name "92Dac_solution.log" will be created at /data
Click to expand...
Click to collapse
More Solutions
First of all, the links:
How GPU governor impacts user experience
GPU causing jitter in essential phone
GPU causing jitter in essential phone 2
Sysctl documentation
Extra free kbytes explanation
Extra free kbytes explanation 2
Difference between vm.dirty_ratio and vm.dirty_background_ratio
VM tunning
More VM explanations
Entropy explanation by zeppelinrox
Overcommit ratio is a myth
How overcommit works
good scheduler explanation by kgs1992
cfq, noop, deadline comparison
Improving the Real-Time Properties
What this does:
Adjust some VM things
We will allow dirty data to stay on ram for a while (i cant belive why this was "off" originally -> eng kernel (maybe))
We will ajdust min and extra freekbytes to stock user-kernel value
Adjust lmk values
Increase read ahead and disable io stats (technically this should free some cpu) + change scheduler to deadline
Disable some logs (less 'disk' use) and other useless things
Modify entropy rngd tunables and link random to urandom
How to check
A log file with the name "94More_Solutions.log" will be created at /data
Click to expand...
Click to collapse
Installation
All has been tested in S7 Edge 935V with CRG2 Stock_Oreo_Hybrid by Jrkruse Rooted with Root For S7/S7Edge Oreo And Nougat by Jrkrusewith interactive governor option without issues (no bootloop)
0 ) You must be rooted
1 ) Make sure you have lastest busybox installed Google Play link
2 ) Download the Files (attached)
3 ) Extract .zip or .rar (they have the same files)
4 ) Copy tweak files (.sh ones) you want to apply to
Code:
/system/su.d
or
Code:
/system/etc/init.d
or use any init.d emulator (i dont guarantee it wil work) [MOD][APK+SCRIPT+ZIP] Enable Init.d for Any Phones w/o Need of Custom Kernels!!!
5 ) Set 777 permission (rwx-rwx-rwx)
6 ) Reboot
Click to expand...
Click to collapse
Click to expand...
Click to collapse
build.prop
Dalvik solution
I'll keep this simple
Most important pages:
Configuring ART
Optimize android rutime
GoogleSource: Configuring ART
Eng builds different things
More eng builds different things, and stock values
Google Pixel default values
[MODULE][SYSTEM/LESS] ART Optimization v2.0 [DISCONTINUED]
Conclusions:
Our eng kernel has different values for certain dalvik things which ruins the "smooth android experience" (eng kernels are not meant for normal use). Hopefully most of them can be changed (fixed) into normal/stock values
The whole dalvik cache creation is really complex (and i barely know chunks of it), but to summarise It uses profiles which are a versus of "space utilization vs performance" more speed = less space available and vice versa (there are exceptions of course)
After testing with an exynos s7 besides my snapdragon i saw that exynos dalvik-cache folder was like 1gb big in stock conditions (and the phone was basically factory resetted), whereas snapdragon's folder was 300mb or so (with more than 100 aps installed). After applying the tweaks to exynos variant, dalvik folder went to like 1,2gb. After restoring ~100 apps on exynos dalvik is 1,8gb
Applying this tweaks could lead to (after dalvik-cache gets completely rebuilt):
Apps opening faster (they have more "parts" optimized)
Less cpu cycles used (apps have more "parts" optimized, so no need to waste cpu on doing that every cold launch)
Less battery consumption (above reasons)
Less internal space available (Dalvik cache will get bigger)
Longer first boot (A LOT LONGER) only first after deleting dalvik. Then it will be almost like before applying patch until dalvik gets completely rebuilt.
Some battery consumption increase until dalvik gets completely rebuilt (it's built while phone is booting, idle or charging)
After applying this tweak and deleting dalvik cache next boot will take A LOT LONGER. It's not a bootloop, i can ensure you, just wait. (like 20min)
How to install
Since values were not applying using setprop, i think it's better to add the values inside the build.prop (if someone has a better idea please tell me)
Make build.prop backup
Add values to build.prop
Leave one blank line at the end, like this:
battery.capcacity=3600
improve.performance=true
Last.buildprop.line=1
'empty space'
Click to expand...
Click to collapse
Delete dalvik-cache
Delete what is inside /data/dalvik-cache/
or
wipe dalvik-cache through Flashfire
Reboot (and go make a sandwich as it will take some time)
Click to expand...
Click to collapse
Dalvik takes time to rebuild, so wait some time (a couple of hours of device idle, charging if possible). I suggest you to do this at night some time before going to sleep: follow installation steps, check dalvik folder size and go to sleep (you can take screenshots to keep trace). at the next day check again if it has gain some size, reboot the phone, and use it normally. That night check again dalvik size. As soon as you see it stopped growing you can "document" your feelings with the configuration
Values
pm.dexopt.boot=verify
pm.dexopt.first-boot=quicken
pm.dexopt.bg-dexopt=speed
dalvik.vm.image-dex2oat-filter=speed
dalvik.vm.dex2oat-filter=speed
persist.sys.dalvik.vm.lib.2=libart.so
dalvik.vm.dex2oat-flags=--compiler-filter=speed
dalvik.vm.dex2oat-flags=--compiler-backend=optimizing
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Extra build.prop tweaks
Here are some more build.prop values i found and im using right now. You can add them under dalvik solution ones if you like
boot.fps=30
shutdown.fps=30
ro.secure=1
ro.debuggable=0
persist.sys.scrollingcache=4
sys.config.samp_spcm_enable=false
sys.config.samp_enable=false
ro.config.fha_enable=true
ro.sys.fw.use_trim_settings=false
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Extra
Rendering Solution
We know gpu is better than cpu at graphic rendering
In the old times a file named egl.cfg existed at lib/gles | lib/egl. That file contained the name of the libraries which would be used to render the screen (Phone and external). Some users modified the file in order to force gpu rendering always. This basically made phones smoother (info HERE)
Many people claimed that using gpu rendering only would increase battery consumption, whereas others said the opposite
We dont have egl.cfg, so i investigated and it results that since oreo the EGL loader doesn't need a config file to "know" which libraries to load, it detects the libraries and loads them automatically. So deleting (or renaming) libGLES_android.so makes the EGL loader unable to detect software rendering libraries and stick with only hardware ones, thus disabling cpu rendering List of commits
As far as i've tested, disabling cpu rendering made the device perform smoother (easily noticeable, specially just after a reboot). I didn't notice any big difference with battery (it may be lasting a little longer though)
How to
Rename (or delete) "libGLES_android.so" to "libGLES_android.bak" and set 444 permissions. . The file is at /system/lib/egl and /system/lib64/egl
Reboot
Click to expand...
Click to collapse
Apps Solution
Unlike the rest of solutions, this is not a script. Here i will tell you two group of apps i disabled, and made a LOT of difference in terms of snappiness
Short tuto:
1 ) in titanium backup search for 'qualcomm' with system/defrosted filter
2 ) freeze all
3 ) do the same but searching 'knox'
4 ) delete frozen apps data
5 ) reboot
Long tuto:
1 ) Download Titanium backup
2 ) open and go to 'backup/restore' tab
3 ) 'click to edit filters' and select type 'system', temperature 'defrosted'. the rest in 'all'
4 ) apply filter
5 ) click the magnifying glass and type 'qualcomm'
6 ) tap the paper with a tick
7 ) go to 'freeze/defrost' and tap 'run' in the first option "freeze all user & system...."
8 ) select all and tap the tick
9 ) repeat from step 5 but instead of qualcomm type 'knox'
10 ) go to 'backup/restore' tab
11 ) 'click to edit filters' and select type 'system', temperature 'frozen'. the rest in 'all'
12 ) tap the paper with a tick
13 ) go to 'manipulate data' and tap 'run' in the second option "wipe data for user & system apps"
14 ) select all and tap the tick
15 ) reboot
I will leave you also attached some screenshots of the apps i have frozen, so you can be sure they don't cause bootloops in case you wonder that. If you froze/disable something and suddenly something stops working (for example: bluetooth doesnt turn on) just defrost/enable it again and you should be fine
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Solution Installer
This is just 2 .bat installer, which will install
EngSolution.bat
Thermal Throtlling Solution
Cpu Solution
Dac Solution
More Solutions
Rendering Solution
A modified sysconfig to allow google play services and playstore be optimized by doze
AppSolution.bat
Will delete lots of apps i consider bloat
This is done using a pc
1 ) Unzip/decompress
2 ) Run .bat you want
3 ) Device will reboot once completed
Click to expand...
Click to collapse
If you want to Uninstall
1 ) Delete the files you copied and reboot
2 ) If you used dalvik solution, restore build.prop backup and wipe dalvik cache (delete the files inside /data/dalvik-cache/) --> Next boot will take more time after this (only the next one after deleting)
3 ) If you used Rendering solution, restore stock name and set permission to 777
4 ) If you used Apps solution, defrost all the apps you froze
Click to expand...
Click to collapse
Changelog
V2
V3
V4
V5
V6
V7
V8
V9
Click to expand...
Click to collapse
Has anyone tried this and noticed any improvement? What about heat issues?
Archangel said:
Has anyone tried this and noticed any improvement? What about heat issues?
Click to expand...
Click to collapse
I have! I have noticed my device is much more snappy and I do notice an improvement in audio. I have a s7 edge and it is running cool.
I ran it for a day or so and it seemed to make mine run hotter,,,I will try it again and see
C64assembly said:
I have! I have noticed my device is much more snappy and I do notice an improvement in audio. I have a s7 edge and it is running cool.
Click to expand...
Click to collapse
Archangel said:
I ran it for a day or so and it seemed to make mine run hotter,,,I will try it again and see
Click to expand...
Click to collapse
It will run hotter. Anyways i couldn't make cpu surpass 82C/180F, and i think it's really worth the benefit. I think samsung's eng kernel throttling wasn't totally polished, because some degrees ahead device stops getting hotter (unless during a heavy task), apps opening/switching becomes noticeably faster and scrolling lag decreases
I need to do some more research about how thermal throttling kicks in (eng kernel is weird) because i have plans and new ideas for an update but im not having my phone in hands until next week. Im thinking of wether release all at once or make it in 2 or 3 simpler updates
Reorganized post, added dalvik tweaks, redone all the scripts.
I suggest anyone who is using this uninstall and install new versions
I do not know if you're aware but Im pretty sure installing these and rebooting breaks safetynet! I had signed out of snapchat a day after installing these and tried to sign back in and i got the dialog you get if you are rooted and snap detects safetynet is broken, I then went an uninstalled the files from the su.d, rebooted and i was able to log in again, might want to add to OP !
gwilly3301 said:
I do not know if you're aware but Im pretty sure installing these and rebooting breaks safetynet! I had signed out of snapchat a day after installing these and tried to sign back in and i got the dialog you get if you are rooted and snap detects safetynet is broken, I then went an uninstalled the files from the su.d, rebooted and i was able to log in again, might want to add to OP !
Click to expand...
Click to collapse
oh, thank you. Since don't use snapchat, and none app has given me problems, i didn't realise it. added to op :good:
Are build.prop lines working for you without breaking safety net?
Maxissc said:
oh, thank you. Since don't use snapchat, and none app has given me problems, i didn't realise it. added to op :good:
Are build.prop lines working for you without breaking safety net?
Click to expand...
Click to collapse
Build.prop lines should be fine, they won't break safetynet. As that's what apps like L-Speed modify are lines in the build.prop and it doesn't cause any problems
Maxissc said:
Hi S7 users!
As we know we have a locked bootloader, and rooting includes heavy thermal throttling and strange frequency managment done by the system automatically (try to change max/min freq and you will se how it resists). Also to suffer a slower system (apps take longer to open/multitask), And a higher battery consumption (kernel organises processes strangely and big cpu is always under moderate-high load)
i have been searching all over xda (and many other forums) to get to the solution. And this is how far i could get:
Warning
Use this at your own risk!
su.d scripts will break safety net​
Thermal throttling solution
CPU Solution Not finished, only touchboost tweaks for now
DAC's high performance mode
Installation
Dalvik solution
If you want to Uninstall
Click to expand...
Click to collapse
Have you had anymore development on these? Running these along with my flashing stock BL tweak has been very helpful
gwilly3301 said:
Have you had anymore development on these? Running these along with my flashing stock BL tweak has been very helpful
Click to expand...
Click to collapse
Yes, im currently testing 2 configs to decide which is better. Then i'll finish with cpu governor tunables and update op
Maxissc said:
Yes, im currently testing 2 configs to decide which is better. Then i'll finish with cpu governor tunables and update op
Click to expand...
Click to collapse
Awesome, thanks for the update! Don't mean to nag
UPDATE V2​
Reworked Thermal solution
Added cpu tunables tweaks (at Cpu Solution)
Deleted some build.prop lines (also there aren't test values any more)
Maxissc said:
UPDATE V2​
Reworked Thermal solution
Added cpu tunables tweaks (at Cpu Solution)
Deleted some build.prop lines (also there aren't test values any more)
Click to expand...
Click to collapse
Awesome, trying now! Will let you know how it runs!
---------- Post added at 11:39 PM ---------- Previous post was at 11:15 PM ----------
Maxissc said:
Hi S7 users!
As we know we have a locked bootloader, and rooting includes heavy thermal throttling and strange frequency managment done by the system automatically (try to change max/min freq and you will se how it resists). Also to suffer a slower system (apps take longer to open/multitask), And a higher battery consumption (kernel organises processes strangely and big cpu is always under moderate-high load)
i have been searching all over xda (and many other forums) to get to the solution. And this is how far i could get:
Warning
Use this at your own risk!
su.d scripts will break safety net​
Thermal throttling solution
CPU Solution
DAC's high performance mode
Installation
Dalvik solution
If you want to Uninstall
Click to expand...
Click to collapse
Does Dalvik Solution.txt go into /su.d as well?
gwilly3301 said:
Awesome, trying now! Will let you know how it runs!
---------- Post added at 11:39 PM ---------- Previous post was at 11:15 PM ----------
Does Dalvik Solution.txt go into /su.d as well?
Click to expand...
Click to collapse
no, i'ts just a txt you can use to copy build.prop tweaks more easily.
about the .sh tell me if you have the logs at /data because i wasn't having them (neither the scripts running) until i deleted and pressed enter at every line of the files (i dont understand why that fixed the issue)
UPDATE V3​
Reupdated V2 with scripts working correctly now
Maxissc said:
no, i'ts just a txt you can use to copy build.prop tweaks more easily.
about the .sh tell me if you have the logs at /data because i wasn't having them (neither the scripts running) until i deleted and pressed enter at every line of the files (i dont understand why that fixed the issue)
Click to expand...
Click to collapse
No, no logs. Does that mean scripts aren't running then?
gwilly3301 said:
No, no logs. Does that mean scripts aren't running then?
Click to expand...
Click to collapse
yes. please try with v3 i just uploaded. im sure they are working fine now
Maxissc said:
UPDATE V3​
Reupdated V2 with scripts working correctly now
Click to expand...
Click to collapse
Should I re-download? Also with the, .txt file, I need to copy what's in there to my build.prop or do the scripts already do that?
---------- Post added at 11:55 PM ---------- Previous post was at 11:54 PM ----------
Maxissc said:
yes. please try with v3 i just uploaded. im sure they are working fine now
Click to expand...
Click to collapse
Do I need to clear dalvik again?
gwilly3301 said:
Should I re-download? Also with the, .txt file, I need to copy what's in there to my build.prop or do the scripts already do that?
---------- Post added at 11:55 PM ---------- Previous post was at 11:54 PM ----------
Do I need to clear dalvik again?
Click to expand...
Click to collapse
redownload, delete previous files (from v2) at su.d, and copy new ones and give them 777 permission (all rwx). add .txt lines at the end of build.prop (remember to leave a blank line at the end), delete dalvik cache and reboot. it will take a while to boot after deleting dalvik (5-10min or so)

Categories

Resources