Hey guys. I have two questions about CPU voltage control on the Qualcomm Note 3:
1. Trickster Mod, my main go to app for undervolting, is only able to provide relatively large steps (eg. 945mv -> 932.5mv), however CPU Adjuster is able to provide much finer steps (I would provide examples, but the sensitivty of the voltage meter is too high ). Is the CPU actually capable to use voltage steps as fine as that provided by CPU Frequency?
2. When is the voltage actually applied? Immediately? I ask because there are times whereby if I change the voltage while Antutu is actually running, the phone doesn't freeze or crash, even when the voltage is obviously too low, which seems to suggest that the voltage isn't actually being applied. (yet). After the benchmark finishes the phone then crashes. Also, I have made sure that I'm changing the voltage for the clock speed the phone actually uses for the benchmark, by setting a lower limit (like 1.49 Ghz).
Thanks in advance :laugh:
Related
If I set the min cpu speed to the minimum (245MHz) using SetCPU and then refresh the CPU monitor, it's always at Max (998MHz).
However if I set the min to 384MHz and refresh, it's at 384 (unless something else is going on in the background in which case it might increase a bit).
This is all with the CPU governor set to on-demand
If I set MAX cpu to 245 then the monitor says it's 254, btw, so it seems it can run at that speed fine and the monitor is working ok apparently. It's just with min speed set to 254, it seem to stick at 998Mhz.
Does anyone else see this behaviour?
It this just a problem with SetCPU, or an underlying issue?
well, having played around with it some more, it seems it's actually the cpu speeding itself up so rapidly when monitoring it that it registers max MHz!
If I increase the up threshold, or the sampling rate, so that it doesn't step up a gear so quickly, then the monitor reads 245MHz.
This does raise the question though that if simply pressing the refresh button is enough to up the cpu to max when it's at the default settings, maybe there are better settings for battery life?
Maybe a slightly higher minimum speed is better, so that it doesn't step up all the time (because when it does, it seems to go straight to max).....
Hy.
I was wondering what are safe temeratures before cpu (or other components) get burned?
And what is approx. temp. of cpu if battery temp. is 40°C?
I use g3mod extreme @ 1.4GHz (with some SetCPU profiles), and, currently, Indroid v. 6. Temp. tends to rise to ~37°C on heavy usage (for short time, scared to destroy cpu) and since this is a battery temp. I assume cpu is even hotter.
I've been searching everywhere but couldn't find anything conclusive.
On dharam's post about G3 (http://forum.xda-developers.com/showpost.php?p=15391685&postcount=4) (the attached file on similar processor) is some mention on recomended operating conditions (table 44-2, page 1331) which are -25 to 85 °C but that seems to high for such a processor. Don't know, that document is a bit too technical for me.
And it seems my init.d scripts are not executing. Really have no clue why. Those are default that came with Indroid 6. One of scripts is sdcard speed fix and when I check read_ahead_kb it says 128 instead of 2048 which is coded into script. Any idea why are they not executing? Permissons seem OK, everybody has execute permission.
Hope you can help.
Thanks in advance.
i think kyrillos wrote somewhere that setcpu widget temp can go up to 40 °C
why the setcpu widget shows the same temperature which is in the info>battery menu. I think this isn't cpu temp but battery temp in widget.
Well yes. G3 doesn' have cpu temp. sensor. Just battery sensor. But if battery temp is 30°C the cpu is higher than that (have read is somewhere on forum).
Right, so I'm going mad trying to undervolt my CPU.
Sometimes I drop voltages by -50mv, and the phone crashes. Alright I know that the voltage settings have been applied, and it's too low.
On other occasions, I can drop the voltage by ridiculous amounts and have 2.2Ghz running at 600mv (which is obviously impossible), and the phone doesn't crash for two or three days. Obviously the settings aren't being applied.
So my question is, when is the best time to apply voltage settings such that I know they are actually in effect? And is there a way to verify that the voltage settings are actually in effect?
I have been doing a bit more testing.
It seems to me that voltage settings are applied if you apply the setting to all frequency levels (for example some apps like Kernel Tweaker have a -25mv button). Hitting that button twice (for a total of -50mv) causes the phone to crash. However if I were to adjust just the voltage for one frequency at a time, the phone doesn't crash.
Should this be reported to kernel devs? Just want to make sure I'm not doing stuff wrongly.
First of all voltage regulator has some minimum and maximum values, if you go above or bellow those, they will not be applied. If you change voltage just for one frequency, do you force CPU into that particular frequency? Otherwise CPU could be skipping that frequency, for example if you change 600MHz, CPU could be going from 300MHz idle to 0.9GHz skipping some in between values and never actually stay on your changed 600MHz.
Hi!
I have a D802 with cyanogenmod 10.2 .Everything is perfect except the cpu controlling. My problem is that when i set a maximum cpu frequency it wont stay there. After a couple of minute the phone override it and change it self.. I have tried setCPU , cpu adjuster and the system default settings. Do you have any suggestion. I would like to underclock my cpu because it generates lot of heat while on heavy load.
Thanks for your aswers!
Sincery,
Moqs
I am having the same issue. Have you found the solution?
What voltages can I set for frequencies from 2457 MHz? For now I have such voltage settings.
You must've spent a lot of time perfecting that. Can you remind me of your SoC's PSV value? Boeffla's app lists it in the Overview section as ASV/PSV.
I tried your 600 mV idle voltage on my PSV 9 phone. Didn't work, got a soft reboot. 625 mV seems to work. Seems crazy this is possible when the stock idle voltage is around 775 mV.
https://forum.xda-developers.com/htc-one-m8/general/guide-snapdragon-801-clocking-voltage-t2807173
edit: Tested for a few hours. Currently using
990 mV - 2534 MHz
1010 mV -2611 MHz
1030 mV - 2764 MHz
1045 mV - 2841 MHz
1075 mV - 2899 MHz
Seems stable in stability tests, haven't tried in daily use yet. If you want to increase the max speed the sweet spot is probably 2764 or 2841.
If you haven't seen this chart yet it has estimated voltages for each PVS binning on speeds above stock, maybe it's what you're looking for. According to the table the "worst" voltage a terrible PVS stock phone will use is 1120 mV. If you do not exceed that while overclocking your phone will probably be okay.
Thanks for the voltage references, I'll use them to tweak some more!
I came up with a stability test that hopefully tests phone stability without causing it to burn up. You just need the Boeffla app and Termux.
-Make a separate Boeffla profile
-Manually select and apply the new profile every time you're testing the undervolt
-Add some extra startup delay in the Boeffla settings
-In the Boeffla app change the Tuned governor's profile to "Performance". The normal profiles don't really care about using high CPU states so you need this.
-Don't change the hotplugger, default is "Tuned"
-Reduce your max charging speed for AC and USB to 1200 mA if you want to do testing with a charger plugged in
-Try to start on 100% charge so less heat is generated charging
-Lock the GPU to 27 MHz. Why not? The screen will be off anyways.
-Make undervolting adjustments to your CPU states' voltages. Only tweak the values of one or two states at a time.
-Adjust the minimum and maximum CPU speeds with the sliders so your phone is more likely to hit the states you just tweaked. If you just tweaked a low CPU state set it to the minimum speed, and if you just tweaked a high CPU state set it to the maximum speed etc.
-Launch Termux and then "Acquire Wakelock" in the menu or in the notification bar
-Run this one-liner:
while true; do openssl speed -evp aes-256-gcm; sleep 15s; done
Click to expand...
Click to collapse
Explanation: No real reason to do it this way. Openssl's speed benchmark with AES is a cheap way to test CPU stability on many computer systems. This runs a benchmark on 1 thread, sleeps for 15s to let the phone cool off for a bit, and repeats. If the phone isn't throttling it will typically max out the CPU clock of the core the thread's running on. Sometimes you can spot anomalies when the benchmark scores deviate a lot. You can also add -multi [# of cores you want to test on] to run the test on more cores but this may heat up the phone too much and cause anomalies.
-Give your phone some cooling with a fan or something or put it on top of something that dissipates heat.
-Turn the screen off to keep heat down or keep it on low brightness.
-Check the phone once in a while to see if it's still stable
-If you are happy continue adjusting other values
-This test isn't perfect because it's not representative of real-world use but hopefully it's close enough :silly:
-The battery generally doesn't like it when it goes above 40C just pointing this out :silly:
-Possible alternative stress test: dim the screen to minimum brightness and play a video the phone doesn't really like such as webms
-If your phone is looping from bad settings just hold power + vol down + home to force a hard reboot
Boatshow said:
You must've spent a lot of time perfecting that. Can you remind me of your SoC's PSV value? Boeffla's app lists it in the Overview section as ASV/PSV.
I tried your 600 mV idle voltage on my PSV 9 phone. Didn't work, got a soft reboot. 625 mV seems to work. Seems crazy this is possible when the stock idle voltage is around 775 mV.
https://forum.xda-developers.com/htc-one-m8/general/guide-snapdragon-801-clocking-voltage-t2807173
edit: Tested for a few hours. Currently using
990 mV - 2534 MHz
1010 mV -2611 MHz
1030 mV - 2764 MHz
1045 mV - 2841 MHz
1075 mV - 2899 MHz
Seems stable in stability tests, haven't tried in daily use yet. If you want to increase the max speed the sweet spot is probably 2764 or 2841.
If you haven't seen this chart yet it has estimated voltages for each PVS binning on speeds above stock, maybe it's what you're looking for. According to the table the "worst" voltage a terrible PVS stock phone will use is 1120 mV. If you do not exceed that while overclocking your phone will probably be okay.
Thanks for the voltage references, I'll use them to tweak some more!
I came up with a stability test that hopefully tests phone stability without causing it to burn up. You just need the Boeffla app and Termux.
-Make a separate Boeffla profile
-Manually select and apply the new profile every time you're testing the undervolt
-Add some extra startup delay in the Boeffla settings
-In the Boeffla app change the Tuned governor's profile to "Performance". The normal profiles don't really care about using high CPU states so you need this.
-Don't change the hotplugger, default is "Tuned"
-Reduce your max charging speed for AC and USB to 1200 mA if you want to do testing with a charger plugged in
-Try to start on 100% charge so less heat is generated charging
-Lock the GPU to 27 MHz. Why not? The screen will be off anyways.
-Make undervolting adjustments to your CPU states' voltages. Only tweak the values of one or two states at a time.
-Adjust the minimum and maximum CPU speeds with the sliders so your phone is more likely to hit the states you just tweaked. If you just tweaked a low CPU state set it to the minimum speed, and if you just tweaked a high CPU state set it to the maximum speed etc.
-Launch Termux and then "Acquire Wakelock" in the menu or in the notification bar
-Run this one-liner:
Explanation: No real reason to do it this way. Openssl's speed benchmark with AES is a cheap way to test CPU stability on many computer systems. This runs a benchmark on 1 thread, sleeps for 15s to let the phone cool off for a bit, and repeats. If the phone isn't throttling it will typically max out the CPU clock of the core the thread's running on. Sometimes you can spot anomalies when the benchmark scores deviate a lot. You can also add -multi [# of cores you want to test on] to run the test on more cores but this may heat up the phone too much and cause anomalies.
-Give your phone some cooling with a fan or something or put it on top of something that dissipates heat.
-Turn the screen off to keep heat down or keep it on low brightness.
-Check the phone once in a while to see if it's still stable
-If you are happy continue adjusting other values
-This test isn't perfect because it's not representative of real-world use but hopefully it's close enough :silly:
-The battery generally doesn't like it when it goes above 40C just pointing this out :silly:
-Possible alternative stress test: dim the screen to minimum brightness and play a video the phone doesn't really like such as webms
-If your phone is looping from bad settings just hold power + vol down + home to force a hard reboot
Click to expand...
Click to collapse
I have PSV 10. My current undervolting.