Related
I've been using setcpu for a while now, but have never bothered to mess with the advanced settings. Searching around I have only found out what most of this stuff means, but I'm missing some still. I thought I would share my findings. I have included SetCPU's descriptions (in italics) supplemented with my findings.
Governor choices (I'm using king's bfs kernel #1 on fresh 3.1.0.2) -
Ondemand - Uses the highest frequency when tasks are started, decreases step by step
Conservative - Increases frequency step by step, decreases instantly
Interactive - I couldn't figure this one out... any help?
Powersave - Uses the lowest possible clock speed to complete its tasks
Userspace - Manual controll of the frequency
Performance - Always uses the highest clock speed
Advanced Settings -
Sampling Rate - An interval (in microseconds) at which the governor will poll for updates. When this happens, the governor will decide whether to scale the CPU up or down. It uses such little power that it is better at lower values when using profiles such as screen off.
Up Threshold (1%-100%) - Defines a percentage from 1% to 100%. When the CPU load reaches this point, the governor will scale the CPU up. When using low min values (245), this happens instantly, using higher values (768) it overclocks less often. With Conservative lower values are better because it slowly increases your clock speed to what you need, with Ondemand, higher is better, as it overclocks less often.
Down Threshold (1%-100%) (conservative only) - Defines a percentage from 1% to 100%. When the CPU load reaches this point, the governor will scale the CPU down. Higher values will offer more aggressive battery saving, lowering the clock speed quicker.
Ignore Nice Load (0/1) - If this value is "1," the system will ignore "Nice" processes when deciding to scale up or down. I need a little more info for this one, what exactly is a nice process? DO NOT GOOGLE 'NICE LOAD' ESPECIALLY AT WORK OR AROUND CHILDREN/WIFE
Freq Step (0%-100%) (conservative only) - Defines how much (as a percentage of the maximum CPU speed) the conservative governor will increase the CPU speed by each time the CPU load reaches the Up Threshold. Increased the value slightly to be able to overclock quicker, but not to high to avoid unnecessary overclocking.
Powersave Bias (0-1000) (ondemand only) - Setting this value higher will "bias" the governor toward lower frequencies. This is a percentage, where 1000 is 100%, 100 is 10%, and 0 is 0%. The ondemand governor will scale the CPU to a frequency lower than its "target" speed according to this value. Gives ondemand some more battery saving potential. High values give worse performance than conservative with equal or worse battery saving. If you want the performance of ondemand with some more battery use values under 200.
I hope this info was helpful to someone, and here are my setcpu settings. I have attempted to target 150-175ms for short and 350-400ms for long benchmarks to match my performance governor and save battery at the same time.
With ondemand I get about 170ms short and 380ms long. I use 90 for up and 50 for powersave. The performance is slightly better than the default settings, and the battery is about equal. I might play with this more, as it should hit the same values as performance with better battery life.
In conservative long benchmarks in setcpu are actually faster than short ones because it takes setcpu time to adjust the speed. Run a short one immediately after a long one to see its actual value. Up changed 75 and down to 25, not much of a change, but drastic performance increase with no battery change. I also increased freq step to 10% to obtain higher speeds faster. Getting the same 170ms short and 370ms long.
My Settings
Conservative 245-1190
Temp > 50C - 768 conservative
Screen Off - 499 ondemand (allows for the screen to be unlocked faster, especially useful with incoming calls)
Charging/Full - 1190 performance
Battery < 15% - 652 conservative
Sampling - 200000
Up Thresh - 75
Down Thresh -25
Ignore Nice - 0
Freq - 10
More DFS Info
SetCPU Info
davebu said:
DO NOT GOOGLE 'NICE LOAD' ESPECIALLY AT WORK OR AROUND CHILDREN/WIFE
Click to expand...
Click to collapse
LMAO 10chars
HondaCop said:
LMAO 10chars
Click to expand...
Click to collapse
Yeah. I almost spit out my Vanilla Coke on that one. LOL
Anytime have any info about nice load or anything to add?
Sent from my HTC EVO 4G.
HondaCop said:
LMAO 10chars
Click to expand...
Click to collapse
I missed this yesterday... Post of the day in my opinion
Thanks dave...good write up
This is what I found about the interactive governor in github:
cpufreq: interactive: New 'interactive' governor
New interactive governor.
This governor is designed for latency sensitive workloads, UI interaction for
example.
Advantages:
+ significantly more responsive to ramp cpu up when required (UI interaction)
+ more consistent ramping, existing governors do their cpu load sampling in a
workqueue context, the 'interactive' governor does this in a timer context, which
gives more consistent cpu load sampling.
+ higher priority for cpu frequency increase, rt_workqueue is used for scaling
up, giving the remaining tasks the cpu performance benefit, unlike existing
governors which schedule rampup work to occur after your performance starved
tasks have completed.
Existing governors sample cpu load at a particular rate, typically
every X ms. Which can lead to under powering UI threads when the user has
interacted with an idle system until the next sample period happns.
The 'interactive' governor has a different approach. Instead of sampling the cpu
at a specified rate, the governor will scale the cpu frequency up when coming
out of idle. When the cpu comes out of idle, a timer is configured to fire
within 1-2 ticks. If the cpu is 100% busy from exiting idle to when the timer
fires then we assume the cpu is underpowered and ramp to MAX speed.
If the cpu was not 100% busy, then the governor evaluates the cpu load over the
last 'min_sample_rate' (default 50000 uS) to determine the cpu speed to ramp down
to.
There is only one tuneable for this governor:
/sys/devices/system/cpu/cpufreq/interactive/min_sample_rate:
The minimum ammount of time to spend at the current frequency before
ramping down. This is to ensure that the governor has seen enough
historic cpu load data to determine the appropriate workload.
Default is 5000 uS.
Also, in the original application thread as explained by the dev, "nice" processes are:
2. Nice processes are used by the IO scheduler to designate a low-priority process. Ignore nice load basically tells ondemand to disregard processes with higher nice values.
Good topic. You covered the bases pretty well. Glad someone finally put this together as it is useful to know. Now prepare for 1000 threads in the next month asking for the information you just posted.
hey question. i went and purchased SetCPU and attempted to follow your instruction. problem is, whenever SetCPU tries to gain super user permission, it says "no root access granted. Are applications allowed root access?" i dunno what to do. can someone advise me?
Umm, is your phone rooted?
Sent from the void...
Yessir. Since day 2 ^_^ (plus its in my sig)
Sent from my Evo using Tapatalk
SilverStone641 said:
Yessir. Since day 2 ^_^ (plus its in my sig)
Sent from my Evo using Tapatalk
Click to expand...
Click to collapse
Try uninstalling and reinstalling it.
Then double check all of your superuser settings.
SilverStone641 said:
Yessir. Since day 2 ^_^ (plus its in my sig)
Sent from my Evo using Tapatalk
Click to expand...
Click to collapse
Sorry, using the xda app which doesn't display the sig.
Sent from the void...
So, as far as speed/responsiveness of governors goes:
Fastest ------------------------------------------------------> Slowest
Performance ------> ondemand ------> Interactive? ------> Conservative
Poor battery consumption --------------------> Best battery consumption
This thread is exactly what i was looking for, thanks for the detailed explanation of the what and why.
Will try it out this week with Fresh 3.1 and KK#8.
this thread helped a lot, i was just in setCPU messing around with things, now i can use this thread to help get what i want. i bookmark'd the hell out of this thread
Thanks...OP...hopefully people will read it first...try things..then ask questions...
I am still working to see how to get the best battery life from cm6 and snap..
Thanks for the helpful post!
I experienced a "nice load" when I unboxed my EVO. Anyway the only setting I use is:
Screen off: 245/128 on demand.
Works for me. And thanks for this helpful post to help us understand all that technical mumbo jumbo.
So I got a rooted Vanilla install of the latest Sprint OTA Froyo build on my EVO. (the 3.29.651.5 build).
I purchased the latest version of SetCPU (2.03) last night and used the autodetect method for the CPU governor.
I notice on my EVO that I only have these 3 options:
Scaling:
ondemand, userspace and performance....
Is this normal to not have the conservative setting since I have the defacto kernel with a vanilla rom?
Thanks
Sheldon
Okay, so I figured it out, my default kernel does not have these other options, oh well......
Nice app though, so far its working really well.
I have been kicking around getting SetCPU to do some auto CPU throttling to help with battery life, but I'm uncertain if I actually would see a lot of improvement.
The reason I am unsure, is I installed some CPU info widgets, and they report a CPU frequency that already seems to throttle. Is it actually doing throttling or are the widgets just not accurate? If it is throttling, is there still a case to be made for SetCPU?
Thanks!
If you want something that's just set and forget, SetCPU alone will do very little to extend usage time.
The stock kernel does throttle the CPU.
SetCPU gives you control over how your (rooted) phone throttles it's CPU, it allows you to change the CPU governor, set minimum and maximum CPU speeds, or overclock with a compatible kernel.
CPU Spy will give you a break down of what speeds the CPU is using and how often.
thanks for the info!
I heard some people talking about governors and was wondering if someone could explain the them to me. also what does Min CPU frequency and Max CPU frequency?
Min and Max frequency mean the Min and Max speed of the processor. So instead of running full speed for a minimal task it can be powered down as to not waste energy. The governor is what changes the speed of the processor in order to efficiently complete its task. Android is usually equipped with a few different governors each with a set of instructions on how to deal with those different tasks.
Does that help?
yes thank you, but I still don't know which one to have on. the one I have are ondemand, userspace, conservative and performance
Ondemand basically adjusts the speed to whats needed. Userspace does nothing from what I understand. Conservative keeps the CPU speed as low as it can to conserve energy but causes the device to be slow and sometimes unresponsive. Performance cranks up the CPU speed to tthe Max at all times.
I use Ondemand for most situations. Performance when my device is plugged in.
Thanks, that helps alot
No problem. This community has helped me out a great deal. I'm no expert so I try and help when I can.
As we all know, the Snapdragon 810 processor in our OnePlus 2 phones is prone to overheat, especially during heavy tasks such as gaming. With the stock kernel (which probably most of you are using) this leads to the A57 cores being partially or fully shut down and the display - which generates additional heat - being dimmed in order for the phone to keep a healthy temperature (healthy for both its components and the hands that are holding it.) This, in turn, leads to lag when playing especially demanding games. Which in turn leads to a frustrated user.
With root access, it's possible to use custom kernels and/or custom thermal throttling profiles in order to (at least partially) circumvent these issues, by throttling the CPU frequency and/or limiting the number of active cores, using different schedulers and governors, and by applying thermal profiles that allow the phone to get hotter (in order to keep higher CPU frequencies for a longer duration).
Since I bought the OPT, I was playing a very power hungry game - Republique - which, at its highest graphics quality setting, pushes the phone to its limits. I quickly switched from the stock kernel to the Boeffla kernel and started experimenting with schedulers, governors, hotplugging settings, CPU/GPU frequencies and thermal profiles, but nothing I have done so far makes it possible to play the game for more than 15-20 minutes before some kind of throttling / heat control sets in and the game starts lagging.
I tried limiting both CPU clusters to only 2 cores while maintaining higher frequencies, I tried throttling the frequencies and keeping all 8 cores active, and I tried all kinds of solutions in-between with anything from 4-8 cores active and frequencies anywhere between 60% and 100%. I also tried the various thermal profiles that the kernel offers. But whatever I did, the game was either lagging right from the start, or running smoothly for about 15 minutes before the screen was dimmed and the CPU was throttled, leading to a laggy experience.
So my question is, what do you guys do to keep the OnePlus 2 from overheating during gaming, while at the same time maintaining a lag-free experience? I don't seem to get anywhere with anything I try, so I'd be extremely grateful for some useful input.
vonotny said:
As we all know, the Snapdragon 810 processor in our OnePlus 2 phones is prone to overheat, especially during heavy tasks such as gaming. With the stock kernel (which probably most of you are using) this leads to the A57 cores being partially or fully shut down and the display - which generates additional heat - being dimmed in order for the phone to keep a healthy temperature (healthy for both its components and the hands that are holding it.) This, in turn, leads to lag when playing especially demanding games. Which in turn leads to a frustrated user.
With root access, it's possible to use custom kernels and/or custom thermal throttling profiles in order to (at least partially) circumvent these issues, by throttling the CPU frequency and/or limiting the number of active cores, using different schedulers and governors, and by applying thermal profiles that allow the phone to get hotter (in order to keep higher CPU frequencies for a longer duration).
Since I bought the OPT, I was playing a very power hungry game - Republique - which, at its highest graphics quality setting, pushes the phone to its limits. I quickly switched from the stock kernel to the Boeffla kernel and started experimenting with schedulers, governors, hotplugging settings, CPU/GPU frequencies and thermal profiles, but nothing I have done so far makes it possible to play the game for more than 15-20 minutes before some kind of throttling / heat control sets in and the game starts lagging.
I tried limiting both CPU clusters to only 2 cores while maintaining higher frequencies, I tried throttling the frequencies and keeping all 8 cores active, and I tried all kinds of solutions in-between with anything from 4-8 cores active and frequencies anywhere between 60% and 100%. I also tried the various thermal profiles that the kernel offers. But whatever I did, the game was either lagging right from the start, or running smoothly for about 15 minutes before the screen was dimmed and the CPU was throttled, leading to a laggy experience.
So my question is, what do you guys do to keep the OnePlus 2 from overheating during gaming, while at the same time maintaining a lag-free experience? I don't seem to get anywhere with anything I try, so I'd be extremely grateful for some useful input.
Click to expand...
Click to collapse
All the phones throttle while gaming. I use thermal extreme with boeffla kernel. And use 2 a53 at 1,3ghz and 2-4 a57 at 1,4ghz and I modified the throttle file and it underclock to 1,2ghz when it gets hot but it doesn't happen if you don't play longer than 30minutes and it doesn't lag either. You can leave stock settings but if course it will get hot quicker. Also with thermal hotplugged or something like that, I used it all cores online all the time at full speed and it doesn't throttle for a long time, so I don't know what overheating are you talking about. My nexus 5 throttle faster and disable 2 of 4 cores and leave the other 2 at half speed, and our processor overheats?. Oneplus throttle the device a lot because of the rumors, fortunately we can change that. Try what I said, cheers.
Sent from my ONE A2005 using Tapatalk
Migdilu said:
All the phones throttle while gaming. I use thermal extreme with boeffla kernel. And use 2 a53 at 1,3ghz and 2-4 a57 at 1,4ghz and I modified the throttle file and it underclock to 1,2ghz when it gets hot but it doesn't happen if you don't play longer than 30minutes and it doesn't lag either. You can leave stock settings but if course it will get hot quicker. Also with thermal hotplugged or something like that, I used it all cores online all the time at full speed and it doesn't throttle for a long time, so I don't know what overheating are you talking about. My nexus 5 throttle faster and disable 2 of 4 cores and leave the other 2 at half speed, and our processor overheats?. Oneplus throttle the device a lot because of the rumors, fortunately we can change that. Try what I said, cheers.
Sent from my ONE A2005 using Tapatalk
Click to expand...
Click to collapse
Thanks for the tip with thermal extreme! The implementation in the latest Boeffla kernel v1.1 beta1 seem to do a very good job of not letting the phone get too hot while at the same time not throttling the CPU too much. Today, the performance was stable for almost 30 minutes of gaming, and when I checked the CPU stats I saw that all cores were still active (2x A53 + 4x A57), and only throttled to 960 MHz. This still delivered enough performance. (I started the game with both CPU clusters at 1.2 GHz, so this also seemed to help with keeping the phone at an acceptable temperature. I'm sure it would've gotten much hotter much quicker at higher CPU frequencies.)
I have to admit though, I was playing inside in an unlit room and thus the screen wasn't at max. brightness. We'll see how it will perform during my next work break when I have to make the screen much brighter.
vonotny said:
Thanks for the tip with thermal extreme! The implementation in the latest Boeffla kernel v1.1 beta1 seem to do a very good job of not letting the phone get too hot while at the same time not throttling the CPU too much. Today, the performance was stable for almost 30 minutes of gaming, and when I checked the CPU stats I saw that all cores were still active (2x A53 + 4x A57), and only throttled to 960 MHz. This still delivered enough performance. (I started the game with both CPU clusters at 1.2 GHz, so this also seemed to help with keeping the phone at an acceptable temperature. I'm sure it would've gotten much hotter much quicker at higher CPU frequencies.)
I have to admit though, I was playing inside in an unlit room and thus the screen wasn't at max. brightness. We'll see how it will perform during my next work break when I have to make the screen much brighter.
Click to expand...
Click to collapse
Does it throttle to 960mhz? for me never reach 1,2ghz. Playing real Racing for 30min it stays at 1,2ghz. And with thermal hotplugged (all cores enabled, all at stock freq gpu too) it doesnt throttle for 30 min, gpu only sometimes to 510mhz, i played 30 minutes and it didnt throttle, i dont know when it was going to throttle because i stop playing. But also, gaming with all cores and no throttling eats the battery.
Migdilu said:
Does it throttle to 960mhz? for me never reach 1,2ghz. Playing real Racing for 30min it stays at 1,2ghz. And with thermal hotplugged (all cores enabled, all at stock freq gpu too) it doesnt throttle for 30 min, gpu only sometimes to 510mhz, i played 30 minutes and it didnt throttle, i dont know when it was going to throttle because i stop playing. But also, gaming with all cores and no throttling eats the battery.
Click to expand...
Click to collapse
I guess it throttled to 960 MHz because the game I'm currently playing (République) is pretty resource hungry.
Doesn't anyone of you noticed that every freaking 3d game lags on the s6 once thermal throttling kicks in? The gpu clockspeed will settle at 266mhz far from the max 772mhz which absolutely makes all games stutter, lag and unplayable due to very low fps. My S6 doesn't even use 700 or 772mhz frequency of the gpu based on monitoring apps. Its either using 450, 350 but mainly 266mhz.
I know that almost all smartphone throttles to a point but the s6 thermal throttling behavior seems a bit too aggressive, I mean come on the device isn't even hot when playing games and thermal throttling kicks in.
tiktakt0w said:
Doesn't anyone of you noticed that every freaking 3d game lags on the s6 once thermal throttling kicks in? The gpu clockspeed will settle at 266mhz far from the max 772mhz which absolutely makes all games stutter, lag and unplayable due to very low fps. My S6 doesn't even use 700 or 772mhz frequency of the gpu based on monitoring apps. Its either using 450, 350 but mainly 266mhz.
I know that almost all smartphone throttles to a point but the s6 thermal throttling behavior seems a bit too aggressive, I mean come on the device isn't even hot when playing games and thermal throttling kicks in.
Click to expand...
Click to collapse
I've not experienced it but then again I'm using a custom kernel
Yeah best kernel for games is space x kernel this thing is FAST !
tiktakt0w said:
I know that almost all smartphone throttles to a point but the s6 thermal throttling behavior seems a bit too aggressive, I mean come on the device isn't even hot when playing games and thermal throttling kicks in.
Click to expand...
Click to collapse
Use Samsung Game Tuner. Set resolution to 50%, fps - 60 & texture - 100%. I very rarely have any throttling & that is if I play for more than 1 hour continuously. I'm on stock Nougat no modifications.
Maybe your screen brightness is too high which heats the phone & causes throttling.
The GPU is NOT throttling, the CPU is throttling. That's why you see framerate downs on games.
The GPU is not using it's full capacity because games are not using it.
sofir786 said:
I've not experienced it but then again I'm using a custom kernel
Click to expand...
Click to collapse
I'm using nog33k kernel well infact I've tried every custom kernel that is available for the s6.
tazaga said:
Yeah best kernel for games is space x kernel this thing is FAST !
Click to expand...
Click to collapse
Gotta agree that it's good. But still, thermal throttling is there to ruin the experience sadly.
Fullmetal Jun said:
Use Samsung Game Tuner. Set resolution to 50%, fps - 60 & texture - 100%. I very rarely have any throttling & that is if I play for more than 1 hour continuously. I'm on stock Nougat no modifications.
Maybe your screen brightness is too high which heats the phone & causes throttling.
Click to expand...
Click to collapse
I've already set my phone's resolution to 1080p via terminal and no I don't even use more than 50% brightness. The s6 amoled panel is so sharp and bright it's a beauty coming from an iphone 6.
With that said though, can you guys download an app called "CPU Float"? It's in the play store and lets you monitor your cpu and gpu load plus current clockspeeds in an overlay.
Try playing a 3d game like dead trigger 2 on default high settings and you will see that the Atlas cores clockspeed will throttle from 2.1GHz to a measly 1.2GHz after a while. Even more notorious is the gpu, with the cpu float app you can see that you won't even hit 700+Mhz max clock on the gpu and will most likely stay on the lowest possible clockspeed which is 266mhz.
forumber2 said:
The GPU is NOT throttling, the CPU is throttling. That's why you see framerate downs on games.
The GPU is not using it's full capacity because games are not using it.
Click to expand...
Click to collapse
Both the cpu and gpu are in fact throttling in my case. Try downloading any monitoring app and you can see both the gpu and cpu are throttling.
So if playing dead trigger 2 raises the gpu load constantly above 50% ( do note that some maps are less demanding and won't peg the load more than 30%) but the gpu clockspeed is stuck the minimum then is the game not using the gpu's full capacity?
tiktakt0w said:
Both the cpu and gpu are in fact throttling in my case. Try downloading any monitoring app and you can see both the gpu and cpu are throttling.
So if playing dead trigger 2 raises the gpu load constantly above 50% ( do note that some maps are less demanding and won't peg the load more than 30%) but the gpu clockspeed is stuck the minimum then is the game not using the gpu's full capacity?
Click to expand...
Click to collapse
Exactly. GPU doesn't need to bump clockspeed, because it's minimum clockspeed is enough for the game.
You can force to max clockspeed by typing "echo 772 > /sys/devices/14ac0000.mali/clock". If you do that, GPU will run on max clockspeed even on homepage.
And you'll notice that there will be no difference between 266 and 722, because the GPU is more than enough for current-gen Android games.
The main problem is CPU, not GPU.
forumber2 said:
Exactly. GPU doesn't need to bump clockspeed, because it's minimum clockspeed is enough for the game.
You can force to max clockspeed by typing "echo 772 > /sys/devices/14ac0000.mali/clock". If you do that, GPU will run on max clockspeed even on homepage.
And you'll notice that there will be no difference between 266 and 722, because the GPU is more than enough for current-gen Android games.
The main problem is CPU, not GPU.
Click to expand...
Click to collapse
Yes in theory that would be correct. But the thing is, 3d games like dead trigger 2 and asphalt 8 suffers from low frame rates if the gpu is at 266mhz.
Disabling dvfs and setting the minimum gpu clockspeed to 600mhz does make dt2 play at a* perfectly smooth fps.
I don't think the cpu is the problem here. Limitting the big atlas cores' maximum frequency to 1.4ghz doesn't even affect the performance in the games that I've tested. But unsurprisingly, increasing the minimum gpu clock speed to 600mhz alleviate all my problems.
tiktakt0w said:
Yes in theory that would be correct. But the thing is, 3d games like dead trigger 2 and asphalt 8 suffers from low frame rates if the gpu is at 266mhz.
Disabling dvfs and setting the minimum gpu clockspeed to 600mhz does make dt2 play at a* perfectly smooth fps.
I don't think the cpu is the problem here. Limitting the big atlas cores' maximum frequency to 1.4ghz doesn't even affect the performance in the games that I've tested. But unsurprisingly, increasing the minimum gpu clock speed to 600mhz alleviate all my problems.
Click to expand...
Click to collapse
Ohh, you disabled DVFS for the GPU, which is the biggest mistake.
You can see some threads and pages about disabling DVFS by typing "echo 0 > /sys/devices/14ac0000.mali/dvfs" in terminal will increase gaming experience, because it kinda disables throttle. Yes it was a right thing, but not on G92XFXXU4 & G92XFXXU5 & G92XFXXS4 & G92XFXXS5 releases.
On G92XFXXU4 & G92XFXXU5 & G92XFXXS4 & G92XFXXS5 releases, DVFS is responsible of auto-adjusting GPU clockspeed. If you disable it, GPU will stuck 266 because none of proccess will adjust GPU clockspeed (as I mentioned before, on G92XFXXU4 & G92XFXXU5 & G92XFXXS4 & G92XFXXS5 releases).
And if you try to adjust clockspeed manually even when DVFS is on, it's not gonna adjust clockspeed automatically, so it will cause overheating & less battery life. (until you type "echo 0 > /sys/devices/14ac0000.mali/clock")
None of values/folders/files & permissions on files should be touched on /sys/devices/14ac0000.mali
forumber2 said:
Ohh, you disabled DVFS for the GPU, which is the biggest mistake.
You can see some threads and pages about disabling DVFS by typing "echo 0 > /sys/devices/14ac0000.mali/dvfs" in terminal will increase gaming experience, because it kinda disables throttle. Yes it was a right thing, but not on G92XFXXU4 & G92XFXXU5 & G92XFXXS4 & G92XFXXS5 releases.
On G92XFXXU4 & G92XFXXU5 & G92XFXXS4 & G92XFXXS5 releases, DVFS is responsible of auto-adjusting GPU clockspeed. If you disable it, GPU will stuck 266 because none of proccess will adjust GPU clockspeed (as I mentioned before, on G92XFXXU4 & G92XFXXU5 & G92XFXXS4 & G92XFXXS5 releases).
And if you try to adjust clockspeed manually even when DVFS is on, it's not gonna adjust clockspeed automatically, so it will cause overheating & less battery life. (until you type "echo 0 > /sys/devices/14ac0000.mali/clock")
None of values/folders/files & permissions on files should be touched on /sys/devices/14ac0000.mali
Click to expand...
Click to collapse
My issue of thermal throttling and gpu stuck at 266mhz was in rooted stock nougat. Disabling dvfs and flashing nog33k v7 and setting the minimum gpu clockspeed to 600mhz solved my problem.
The funny thing though is all that you've said has been contrary to what I am experiencing. My phone doesn't even get hot, gaming performance blistering fast and battery life surely is amazing! It is still at 35% battery with 4 hours of screen on time and 12 hours on battery. That with auto brightness set to on with mixed usage, games, browsing etc with the gpu minimum clockspeed set to 600mhz.
tiktakt0w said:
My issue of thermal throttling and gpu stuck at 266mhz was in rooted stock nougat. Disabling dvfs and flashing nog33k v7 and setting the minimum gpu clockspeed to 600mhz solved my problem.
The funny thing though is all that you've said has been contrary to what I am experiencing. My phone doesn't even get hot, gaming performance blistering fast and battery life surely is amazing! It is still at 35% battery with 4 hours of screen on time and 12 hours on battery. That with auto brightness set to on with mixed usage, games, browsing etc with the gpu minimum clockspeed set to 600mhz.
Click to expand...
Click to collapse
Thanks to @Noxxxious then !
forumber2 said:
Thanks to @Noxxxious then !
Click to expand...
Click to collapse
Yes absolutely wonderful work haha! Will post a screenshot of my battery usage later as proof.
5 hours screen on time with 16% left in which gpu clockspeed is set at 600-700mhz. With stock nougat I barely get 4 hours sot.
Do these work on Samsung Nougat devices?
Non-Root: Set app category to Non-Game in the Game Tuner.
Root:
Code:
su
chmod 644 /sys/power/cpufreq_max_limit
chmod 644 /sys/class/misc/mali0/device/dvfs_max_lock
The CPU and GPU should throttle but much less with the step_wise thermal throttling governor. The GPU should scale automatically, too.
Check every temperature sensor! Do not apply if you aren't checking.
Code:
cat /sys/class/power_supply/battery/chg_temp
cat /sys/class/power_supply/battery/batt_temp
cat /sys/class/hwmon/hwmon0/device/temperature
cat /sys/class/thermal/cooling_device0/type
cat /sys/class/thermal/thermal_zone0/temp
cat /sys/class/thermal/cooling_device1/type
cat /sys/class/thermal/thermal_zone1/temp
cat /sys/class/thermal/cooling_device2/type
cat /sys/class/thermal/thermal_zone2/temp
Maybe others.
CPU/GPU could be simplified as a car engine, running at various speeds and 'weights it is carrying'. There is usually no reason to stop the car if the engine feels warm unless the rest of the car or it gets too hot. If it does,
Disable touchboost?
Code:
echo "0" > /sys/class/input_booster/level
Underclock GPU? (Write to dvfs_max_lock)
Underclock CPU?
dvfs_max_lock_status shows the status of the throttling. 1st=thermal throttling governor; 2nd= other.
Bryan48765 said:
Do these work on Samsung Nougat devices?
Non-Root: Set app category to Non-Game in the Game Tuner.
Root:
Code:
su
chmod 644 /sys/power/cpufreq_max_limit
chmod 644 /sys/class/misc/mali0/device/dvfs_max_lock
The CPU and GPU should throttle but much less with the step_wise thermal throttling governor. The GPU should scale automatically, too.
Check every temperature sensor! Do not apply if you aren't checking.
Code:
cat /sys/class/power_supply/battery/chg_temp
cat /sys/class/power_supply/battery/batt_temp
cat /sys/class/hwmon/hwmon0/device/temperature
cat /sys/class/thermal/cooling_device0/type
cat /sys/class/thermal/thermal_zone0/temp
cat /sys/class/thermal/cooling_device1/type
cat /sys/class/thermal/thermal_zone1/temp
cat /sys/class/thermal/cooling_device2/type
cat /sys/class/thermal/thermal_zone2/temp
Maybe others.
CPU/GPU could be simplified as a car engine, running at various speeds and 'weights it is carrying'. There is usually no reason to stop the car if the engine feels warm unless the rest of the car or it gets too hot. If it does,
Disable touchboost?
Code:
echo "0" > /sys/class/input_booster/level
Underclock GPU? (Write to dvfs_max_lock)
Underclock CPU?
dvfs_max_lock_status shows the status of the throttling. 1st=thermal throttling governor; 2nd= other.
Click to expand...
Click to collapse
This looks neat! Will try this later.
I have tried to disable dvfs using root explorer and removing permissions to those 3 files, but is there a way to not having to do it at every boot?
Edit: solved