Re: Post by user splus in Franco.kernel thread
Sorry to post in this forum, but I don't have the minimum post count yet to post in the development forums
I read a post today by splus which I found very interesting,
In r220 hispeed_freq parameter in governor control has been changed from 1200000 (was an old value from first version of Franco JB kernel) to 1228000. As a result CPU now spends most of its time at either at 384 or 1228 MHz, and much less time at higher frequencies.
For some reason if speed_freq value is set to a step lower than 1228000 then it will make CPU to use all higher frequencies in a more balanced way.
What I noticed is that for 1036 it needs to have slightly higher value of 1037000, because 1036000 will put the CPU only to 729 MHz. This is probably because the real 1036 MHz frequency is something like 1036.xx MHz, so it's best to set speed_freq value to a 1000 more than the desired frequency.
Hispeed_freq parameter is just an initial higher speed frequency that CPU will jump to when there's some CPU load. And if the CPU load is still high after the CPU goes into this frequency (in other words if this frequency is not enough to finish the job) then interactive governor will put the CPU in even higher frequencies.
On stock JB kernel max frequency is 1200 MHz, and hispeed_freq is 700000.
When speed_freq is set to 1228000 it will use mostly 384 and 1228 MHz frequencies.
Set speed_freq to 1037000 (or previous 1200000) and more higher frequencies will be used.
There's certainly many possibilities to play with min and max CPU values, together with speed_freq to come to the best values. And probably for each max CPU frequency different speed_freq value would work best...
Click to expand...
Click to collapse
but I wanted to learn more so I did a lot of Googling about the parameters of the interactive governor. Unfortunately, I kept finding the same few beginners' guides to the different governors available, explaining and comparing their capabilities. There was no advanced explanation of the parameters or their possible valid values.
I found this post by RootzWiki user abqnm, which shed a little more light on the hispeed_freq parameter, and input_boost also. From what I've read on various sites, the input_boost seems to be a binary parameter, so setting it to 1 should jump the CPU up to the frequency specified in hispeed_freq immediately upon detecting a screen touch event. This would make your GNex feel a bit more responsive, without having to wait for the CPU to hit load, but it could negatively affect battery life. In my case, running 729/1612 with hispeed_freq set down at 1036MHz (1037000 in governor control), it's not that big a jump and opening a couple of apps would likely push my speed up beyond it soon anyway, so the battery hit would probably not be much.
As splus said:
After lot of fiddling I found it works best when hispeed_freq is set to 1037000 (not 1036000, it looks like that frequency is actually closer to 1037 MHz so 1036000 doesn't "reach" it).
Click to expand...
Click to collapse
so using 1036000 in governor control would correspond to the next step down, 729MHz. I know it's easy enough to stick on an extra 1000 for safety, to ensure we hit the right steps, but I'd be curious to know the exact kHz values we could be using.
I'm off to start experimenting with undervolting these new CPU freqs, and my 512GPU Core to reduce my temps a bit.
In case anyone asks, I'm on stock JRO03C w/Franco r220 512GPU.
Very good post! Welcome to XDA! :good:
I'll link to your post on the franco thread just so it gets a couple views from people there.
Edit: I see that you've actually been here awhile! Go help a few more people so you can contribute in the Dev forum.
Yup, that's me... total lurker! I usually defer to the wisdom of the devs and seasoned members, and 99% of the time if I've had a problem/question re my Nexus it's already been posted and there are whole conversations for me to read and digest. I hate the idea of clogging up a thread with a "me too" or "thanks" post, so generally if I don't have something useful to contribute I keep quiet and hang in the shadows. I only come out to feed.
So basically, I'm a knowledge vampire.
That's enough OT... Franco stuff!
I've previously read droidphile's governors thread to which splus linked in their reply to your repost in Franco.kernel. In post #2, containing the governor tweaks (which I found very useful) even droidphile seems to have the wrong idea about the "hispeed_freq" parameter, stating:
(Default value is scaling max freq)
Click to expand...
Click to collapse
The same section also omits any mention of the "input_boost" parameter.
My undervolting is going well. Inspired by the voltages on rogersnm's signature, I'm currently running these:
Code:
1612 - 800 mV
1536 - 750 mV
1420 - 750 mV
1305 - 750 mV
1228 - 725 mV
1036 - 725 mV
729 - 700 mV
384 - 700mV
CORE -
512/384 - 900 mV
307 - 900 mV
153 - 825 mV
IVA -
266 - 600 mV
133 - 600 mV
I added an extra 100mV to the seemingly rock bottom CPU voltages for safety, but I'll try to reduce them gradually. I've been stable for over 40 hours so far on this setup. With r220, Franco really seems to have nailed it!
BTW, thanks for reposting in the Franco.kernel thread :highfive:
Fantastic. Keep us updated on your progress with voltages, seems like you're doing a great job!
Also, happy to help!
nemotheblue said:
Code:
1612 - 800 mV
1536 - 750 mV
1420 - 750 mV
1305 - 750 mV
1228 - 725 mV
1036 - 725 mV
729 - 700 mV
384 - 700mV
CORE -
512/384 - 900 mV
307 - 900 mV
153 - 825 mV
IVA -
266 - 600 mV
133 - 600 mV
I added an extra 100mV to the seemingly rock bottom CPU voltages for safety, but I'll try to reduce them gradually. I've been stable for over 40 hours so far on this setup. With r220, Franco really seems to have nailed it!
BTW, thanks for reposting in the Franco.kernel thread :highfive:
Click to expand...
Click to collapse
I'm trying these too. So far so good!
Hi nemotheblue. Good post and findings!
I'm just looking at those voltage values you wrote - are you sure you turned off the SR?
If you haven't don't turn it off with those voltages because you'll get an instant reboot, they seem super low.
Rogersnm wrote and fiddled a lot with voltages, some very good posts.
Better go back to stock voltages, turn off the SR, and then go little by little down with frequencies. When adjusting each frequency best is to set that particular frequency as min (or max if it is higher) frequency so the CPU actually uses it.
And when you get a reboot then just use 25mV higher than the one with reboot.
I'd suggest to have fsync turned on when you fiddle with voltages because that will lessen the possibility of loss of data when phone reboots.
Another thing to have in mind is that even some combinations of frequencies do not work together. Some frequency might work OK with certain voltage with certain max/min frequencies but might not with other min/max frequencies. It looks like the actual change from one frequency to another (and depends from which to which) can determine a lot if a voltage is stable or not.
Also, it apparently very much depends on a ROM you use - different ROMs will probably need readjustment of voltage table.
Undervolting actually won't help much with battery life, smart reflex does a very good job already. It would help most if you game a lot or use your phone heavily, so then when higher frequencies are used the phone would get less hot and use slightly less power.
Otherwise, and especially if you change ROMs, I'd say it isn't worth the trouble.
nemotheblue said:
..................................
I've previously read droidphile's governors thread to which splus linked in their reply to your repost in Franco.kernel. In post #2, containing the governor tweaks (which I found very useful) even droidphile seems to have the wrong idea about the "hispeed_freq" parameter, stating:
..............................
Click to expand...
Click to collapse
Since there's lot of info to cover, mistakes can happen. I'll correct it if something is wrong.
Anyhow, if you check the interactive governor code,
if (!hispeed_freq)
hispeed_freq = policy->max;
This means if kernel default for the value of hispeed_freq=0, then it's assigned to policy_max aka scaling_max.
hispeed_freq is kinda like max_load_freq for ondemand.
Btw, input_boost is not available for interactive governor 'designed' for i9100 GS2 with Exynos chip. I don't know about Gnexus' Omap. Since i take one of the GS2 kernel as reference, governors params are kinda specific to i9100 and exynos architecture.
splus said:
Hi nemotheblue. Good post and findings!
I'm just looking at those voltage values you wrote - are you sure you turned off the SR?
...
I'd suggest to have fsync turned on when you fiddle with voltages because that will lessen the possibility of loss of data when phone reboots.
...
Undervolting actually won't help much with battery life, smart reflex does a very good job already. It would help most if you game a lot or use your phone heavily, so then when higher frequencies are used the phone would get less hot and use slightly less power.
...
Click to expand...
Click to collapse
@splus Wow, thanks for joining in on my little thread! Rest assured, before I started my tinkering I turned SR off and fsync on. I've read all 2306 pages of the Franco.kernel thread and avidly followed several conversations within it. I don't mind being a bit adventurous and trying out tweaks and mods; I just prefer to let other, more educated people try it first! I'm a measure twice, cut once kinda guy.
I followed rogersnm's undervolting saga in the Franco thread up to a couple of weeks ago, and recently caught up with his linaro thread, but I was as amazed as you seem to be at the tiny numbers he's currently reporting.
That being said, the voltages I reported were totally stable for me the last 3 days, until tonight. Tonight, I went to a double bill of Batman Begins and The Dark Knight - 5 hours in a huge, sold out cinema with easily 1,000 people. By the second movie, the room temperature was in the high 30s, if not 40C. I got an email, had a read, tapped back to inbox and BAM! The screen froze for about 3 seconds, then rebooted. The crazy thing is, I tried an hour later to reapply the undervolt and it froze straight away. I'm back on SR for a while, but I might try again tomorrow.
My original intention with the undervolting was just to drop the CORE, because I'm getting great performance from the 512GPU, but I notice the area under the camera on the back of the phone can get pretty hot if I'm playing games or watching a video for >30mins. Granted, I don't do that too often, but I figured it'd be nice to eliminate the extra heat. Once I saw the power saving calculations in rogersnm's chart, I was convinced to go the whole hog. The jury's out...
droidphile said:
Since there's lot of info to cover, mistakes can happen. I'll correct it if something is wrong.
Anyhow, if you check the interactive governor code,
if (!hispeed_freq)
hispeed_freq = policy->max;
This means if kernel default for the value of hispeed_freq=0, then it's assigned to policy_max aka scaling_max.
hispeed_freq is kinda like max_load_freq for ondemand.
Btw, input_boost is not available for interactive governor 'designed' for i9100 GS2 with Exynos chip. I don't know about Gnexus' Omap. Since i take one of the GS2 kernel as reference, governors params are kinda specific to i9100 and exynos architecture.
Click to expand...
Click to collapse
@droidphile Thanks for taking the time to reply. I didn't mean to sound like I was attacking your guide; I'd just read conflicting information from multiple other sources and played the numbers. I was labouring under the false assumption that all interactive governors are created equal. Is there some kind of official/original reference/guide/man page for the governors and their parameters, or are you devs left to interpret the code for yourselves?
I must admit, I'm more confused than ever now. I just can't reconcile your explanation with splus' claim that hispeed_freq=1037000 is the sweet spot for getting interactive to use the intermediate freqs up to a max well above 1036MHz???
nemotheblue said:
@splus Wow, thanks for joining in on my little thread! Rest assured, before I started my tinkering I turned SR off and fsync on. I've read all 2306 pages of the Franco.kernel thread and avidly followed several conversations within it. I don't mind being a bit adventurous and trying out tweaks and mods; I just prefer to let other, more educated people try it first! I'm a measure twice, cut once kinda guy.
I followed rogersnm's undervolting saga in the Franco thread up to a couple of weeks ago, and recently caught up with his linaro thread, but I was as amazed as you seem to be at the tiny numbers he's currently reporting.
That being said, the voltages I reported were totally stable for me the last 3 days, until tonight. Tonight, I went to a double bill of Batman Begins and The Dark Knight - 5 hours in a huge, sold out cinema with easily 1,000 people. By the second movie, the room temperature was in the high 30s, if not 40C. I got an email, had a read, tapped back to inbox and BAM! The screen froze for about 3 seconds, then rebooted. The crazy thing is, I tried an hour later to reapply the undervolt and it froze straight away. I'm back on SR for a while, but I might try again tomorrow.
My original intention with the undervolting was just to drop the CORE, because I'm getting great performance from the 512GPU, but I notice the area under the camera on the back of the phone can get pretty hot if I'm playing games or watching a video for >30mins. Granted, I don't do that too often, but I figured it'd be nice to eliminate the extra heat. Once I saw the power saving calculations in rogersnm's chart, I was convinced to go the whole hog. The jury's out...
@droidphile Thanks for taking the time to reply. I didn't mean to sound like I was attacking your guide; I'd just read conflicting information from multiple other sources and played the numbers. I was labouring under the false assumption that all interactive governors are created equal. Is there some kind of official/original reference/guide/man page for the governors and their parameters, or are you devs left to interpret the code for yourselves?
I must admit, I'm more confused than ever now. I just can't reconcile your explanation with splus' claim that hispeed_freq=1037000 is the sweet spot for getting interactive to use the intermediate freqs up to a max well above 1036MHz???
Click to expand...
Click to collapse
Yeah, if you do some gaming and more intensive stuff then it might be worth to find some good voltage values.
Still, those voltages seem pretty far from what hardware would be capable of running so that makes me think the SR check box wasn't really displaying its actual state somehow.
If you were using Franco's app did you check the last tab to see if mV values at certain frequencies were the same as in your table? If yes then I'm just amazed you were able to run it that way...
Anyway, good luck with further undervolting, please post your stable voltages when you find them...
If you have higher OC CPU frequency as max value in interactive (I'm talking about GNex, every chipset behaves differently) then it looks to me that if you set hispeed_freq to 1228000 the CPU would often just stay at that frequency, as if the system decides that it's enough to finish the job. But if you set it to 1037000 then it often determines it is not enough and scales the CPU to higher frequencies, and then you get the CPU to actually use higher frequencies as well.
Other direction would be to set hispeed_freq to even higher frequencies and that'll definitely make it more responsive but at a battery life cost.
The most responsive system would be that CPU goes to max whenever there's something happening. Google actually said at their IO that they tuned JB to go to max frequency at any touch but if you use the stock kernel and check CPU Spy charts you'll see that CPU goes initially only to 700 MHz.
There are other parameters, but it's all about finding a sweet spot for performance and battery life...
Needless to say, tuning all those governor parameters is greatly dependent on available frequencies, programmatically implemented governors and its parameters (which can be changed, a kernel developer can design and implement his own governor and its parameters) and especially chipsets and the way they behave. Every device is very different...
I think we would have better performance if there would be less frequencies in a kernel than currently in Franco's, but if the CPU is really efficient at scaling frequencies up and down through many steps all the time then maybe not.
Either case life goes on and I'm looking forward to see that new Batman myself in couple of days!
Fine folk of XDA,
Apologies for my long absence! I wasn't abandoning the thread; I got a call to work on a short film and had an insane 10 days of 13-16 hour working days and my brain was just too tired in the evenings to keep up with testing and tweaking. Plus, I needed my phone 24/7 stable to handle the continuous flow of calls, texts and emails from the production office.
So, I reverted to SR and dropped my max freq to 1228 and had no problems.
Catching up on the Franco thread tonight, I read a post by daggerxXxsin saying
I am running 600mv on 384-729 and 675mv on 1036-1228. Only works when I'm on 512gpu though. No random reboots or nothin'. Plays games like a champ and never heats up (temp never goes higher than 45°)
Click to expand...
Click to collapse
I'm currently trying these out on 729-1228 with SR off and fsync on, along with the following:
Code:
CORE -
512/384 - 900 mV
307 - 900 mV
153 - 825 mV
I'm gonna leave IVA alone on SR. I never really noticed any difference undervolting it before, and I figure if I'm pushing my MPU voltages so low, I'm just begging for crashes so it's best not to mess with anything that would affect I/O.
I'm currently running r225 512GPU, and I had some wifi issues where the indicator would frequently switch from blue to grey and lose the connection. However, having read some frequent posts in the Franco thread, I've switched from CWM to TWRP, wiped caches and reflashed Franco so I'll wait and see if the problem resurfaces.
BAH! Screw it, I just refreshed the Franco thread and r230 is out. Gonna flash and see how I get on...
Hi again nemo, just stumbled on this thread again
Wondering what posts indicate that CWM vs. TWRP recoveries would make a difference for the booted OS's Wifi/Google Services connectivity?
As I understand it JB in general just has a bit of a Wifi problem vs. ICS and even with ICS the Galaxy Nexus does vs. any other phone. I'm currently having acceptable Wifi using franco 241 (which has a new IO scheduler which makes things feel extremely snappy).
I'm pretty sure all I based that decision on was this discussion in the Franco.kernel thread. In retrospect, kinda half-baked but I must say I'm impressed with this recovery anyway!
I'm still following the thread religiously, rocking M5 at the moment though I'll likely jump on the first 512GPU nightly that comes out. I spent hours yesterday reading the MiNCO and MiNCO+ threads, very carefully backed up, then flashed v4 and immediately ran into this major roadblock and ended up reverting. Further study is required...
A few things come to mind with that storage problem:
1) Maybe that the sdcard bin (as is also in franco's cwm zips) is installed and messing things up weirdly. You'll need to push the stock one back (first post of franco.Kernel thread iirc).
2) A recent ROM Manager bug where .nomedia files were getting placed in the /sdcard/ top level folder, so you might want to investigate that with adb shell (though this would be weird considering you say you're using TWRP and ROM Manager is CWM).
3) Go to Apps > All > MediaStorage, Force Stop and clear data+cache. Reboot to have MediaScanner rebuild the MediaStore.
Edit: Just saw your post in the linked thread... looks like you tried 2+3... so try 1?
osm0sis said:
...1) Maybe that the sdcard bin (as is also in franco's cwm zips) is installed and messing things up weirdly. You'll need to push the stock one back (first post of franco.Kernel thread iirc)...
Click to expand...
Click to collapse
Very clever! Way to think outside the box, ossie :highfive:
I should have time to try again tonight, so I'll let you know how it plays out. While I'm at it, I'm excited to try out DarkJelly's inverted gapps, but I'll make sure to tackle the storage problem before flashing any apps/mods
So I couldn't wait!
I was unable to shake the feeling I might have just had a bad download of MiNCO, so I grabbed a fresh copy before I began. Flashed the ROM, Gallery worked fine. Flashed a navbar/battery icon mod, Gallery still ok. Gapps, no problem. Inverted apps, smooth sailing!
I now have a fully functional, customised ROM and no storage problem whatsoever. I must've just borked the first MiNCO download...
All's well that ends well
And I successfully tricked you into making your 10th post, so my work here is done! :laugh:
Now come join us in the main thread :good:
osm0sis said:
And I successfully tricked you into making your 10th post, so my work here is done! :laugh:
Now come join us in the main thread :good:
Click to expand...
Click to collapse
Nice one! :highfive:
Related
Sent from my PC36100 using XDA App
http://forum.xda-developers.com/forumdisplay.php?f=652
I've had my phone overclocked 15% for months now...I pre-ordered and picked it up on June 4th (the day they were released to the public) and it's never been replaced. I rooted it right away using the engineering hboot method, and I immediately went to a rooted stock rom with a kernel that'd allow overclocking the very first time I saw one posted on this forum. I've never been able to run it at anything higher than 1152 mhz, but I've also never had any stability issues at 1152 mhz. I also allow it to go as low as 128 mhz all the time.
Since then I've played with various roms, and various kernels, but the first thing I've done when changing any rom or kernel, is always set the min and max CPU speeds again, and decide which governor to use. I've also always played with the undervolting strategies, from static to HAVS, and I've always been able to get away with the most agressive stuff posted without any stability issues.
Your mileage may vary, but thats been my experience with an overclocked Evo. I will admit I can barely notice the performance difference from 998 mhz to 1152 mhz, but I actually notice a battery life improvement...get it done faster so the CPU can go back to idling at a low frequency as soon as possible mentality I guess.
please watch what you say here. its not going to get you any help to curse and swear at other members. last warning
@MikeOD, which governor and what governor parameters have you found to work best for you?
I think the whole overclock boils down to what you do with your phone. If nothing overly cpu intensive, then there's likely to be little gain in the amount of saved time.
I actually have mine under clocked at 921 Mhz (came that way in the rom initially). UI was fluid enough and everything still seemed to work well/responsive. I get slightly better battery life too. Noticeable in the rate the batt % declines during active tasks (web browsing).
So, I know we all have different phones, and after looking at a review of some voltages to try, I changed all the stock voltages to the ones I saw and saved them as default (don't ask me why, I do not know myself). Since this, I set my phone to hotplug and the phone has had multiple Sleep of Death cases. I think it has to do with the voltage but it could just be my phone not liking hotplug because it stops if I turn off hotplug. Or hell it could be that both together are causing it. So I was wondering could someone provide me with stock voltages at 384, 729, 1036, 1228 and 1344 mhz. Or better yet if you could provide me with the best voltages that help save a little battery life. Thank You! (Also I have been looking but have not found the stock voltage for the numbers I listed above)
stock voltages are 1025, 1203, 1317, 1380. 1350mhz is not a stock clock speed so theres no stock voltages. you can try these undervolt values, they are pretty conservative 850, 950, 1050, 1175 and 1250. remember to do nandroid backup first.
undervolt will not really gain you any noticeable difference in battery life, the cpu uses relatively little power to begin with so reducing it by a few hundred mv is not going to make a different with normal use. If you want to try it out just start from stock and go down 25-50mv at a time and test it with some games or stress test.
neotekz said:
stock voltages are 1025, 1203, 1317, 1380. 1350mhz is not a stock clock speed so theres no stock voltages. you can try these undervolt values, they are pretty conservative 850, 950, 1050, 1175 and 1250. remember to do nandroid backup first.
undervolt will not really gain you any noticeable difference in battery life, the cpu uses relatively little power to begin with so reducing it by a few hundred mv is not going to make a different with normal use. If you want to try it out just start from stock and go down 25-50mv at a time and test it with some games or stress test.
Click to expand...
Click to collapse
Thank you. If they really don't make a difference I will leave them be at stock. Any good value for 1350? Or should I just stick with 1250mV? Just really trying to get 2 days out of the phone, but I assume I cannot complain since I am already getting 4h of screen time with normal use on the 2000mah battery. I will look around here some more and see if I can find any more useful tips on better battery life. Thanks again!
neotekz said:
stock voltages are 1025, 1203, 1317, 1380. 1350mhz is not a stock clock speed so theres no stock voltages. you can try these undervolt values, they are pretty conservative 850, 950, 1050, 1175 and 1250. remember to do nandroid backup first.
undervolt will not really gain you any noticeable difference in battery life, the cpu uses relatively little power to begin with so reducing it by a few hundred mv is not going to make a different with normal use. If you want to try it out just start from stock and go down 25-50mv at a time and test it with some games or stress test.
Click to expand...
Click to collapse
I wish I would have read this post a few days ago prior to changing my voltage settings also. Only to learn that I wasn't doing my GNex a significant favor.
falconfan said:
I wish I would have read this post a few days ago prior to changing my voltage settings also. Only to learn that I wasn't doing my GNex a significant favor.
Click to expand...
Click to collapse
Ya thankfully read it, tried these voltages with hotplug on and screen off settings and the phone did not sleep of death this time, but it froze right after wakeup, so no hotplug for me, just conservative.
Also, be very careful with CORE and IVA undervolting. In my case, undervolting theese too much caused the exactly same issue you are dealing with. Same goes with profiles for SetCPU profiles which also causes the phone to behave like that in some cases
keem85 said:
Also, be very careful with CORE and IVA undervolting. In my case, undervolting theese too much caused the exactly same issue you are dealing with. Same goes with profiles for SetCPU profiles which also causes the phone to behave like that in some cases
Click to expand...
Click to collapse
So for what I can make out from your post, some reason its setcpu profiles not working, not the phones cpu itself not allowing it be put into hotplug mode? also, sorry for the noob question but what is the difference between CORE and IVA undervolting? Or should I say could you explain them to me.
If you are going to use profiles, your phone should be very stable. In other words undervolting makes it instable if you tweak it too much. Core and iva are very sensitive. Core is your graphic gpu. Let them stay at the normal settings. Use milestone franco stable build undervolting only the cpu. Rather 700 mhz at the lowest. Try it out
EDIT: "If you are going to use profiles, your phone should be very stable BEFORE setting profiles"
Sent from my Galaxy Nexus using xda premium
I made a function to calculate voltages for the Google Nexus
As a minimum voltage I found for stock 840mv always.
Best stable undervolt for everyone start from 800mv
840-1000-1090-1200mv
--> VOLTAGE = 733.9031364956^(0.0004200816*FREQUENCY)
REQ= MIN FREQUENCY = 800
Results in table:
MARGIN OFFSET APPLIED: -40mv
350MHz - 800mv
700 - 945
920 - 1040
1200 - 1175
1350 - 1254
1400 - 1281
1500 - 1338
1600 - 1388
Please test the settings and post back here. I believe these are stable for everyone.
I am experimenting to try pushing these into the CM10 repositories.
Not every phone under volts the same
Sent from my Galaxy Nexus using xda premium
The standard setting for 1190 MHz with Trinity kernel is 1150 mV, and it's solid as a rock for many users. That would fit right into your chart easily, so that's at least some confirmation of its accuracy.
I'll test 800 mV @ 307 MHz, and 945 mV @ 691 MHz. Those are lower than Trinity's defaults of 850 mV and 1000 mV for those frequencies.
No immediate problems but I'll leave it this way and see what happens.
Smallsmx3 said:
Not every phone under volts the same
Sent from my Galaxy Nexus using xda premium
Click to expand...
Click to collapse
that's why we could use the function:
VOLTAGE = 733.9031364956^(0.0004200816*FREQUENCY) + MARGIN
I am currently thinking about rewriting something for the Google Nexus
Let's disable Smart Reflex.
Replace it with stock voltages generated by this curve found by the frequencies the MPU runs at.
No need to program voltages!
Next is the availability of a voltage_margin value which users can modify with the android terminal emulator or a script.
How would you guys like this? This will make undervolting easier. Maybe little more limited but undervolting shouldn't take so much time in my opinion. You can't undervolt a Sandy Bridge CPU for each frequency separately. So why should phones.
Please let me know if you guys would like this feature. Then I will start developing.
GOALS:
- Making undervolting easy for everyone!
- Consumes less time!
I'd really appreciate and use this feature! I hate looking for Voltages again and again. Calculating them would be much more comfortable!
I use Franco.Kernel with Voltages from 230 to 1804 MHz and I tried to calculate the Voltages with your funktion within an excel-sheet. But my results are so damn far away from a realistic Voltage...
For example for 700MHz I get the Voltage "6,96"
I took this:
VOLTAGE = 733,9031364956^(0,0004200816*FREQUENCY)
put in the frequency:
VOLTAGE = 733,9031364956^(0,0004200816*700) = 733,9031364956 ^ 0,29405712 = 6,9608371895070636295467507606432
VOLTAGE = 6,9608371895070636295467507606432
Where's my mistake?
This sounds like a great idea, I hate trying to undervolt my phone cause I feel like I end up doing too much and start ruining the experience with ROMs so I stopped altogether.
I Like The Idea Of Making It Simple But every Single CPU Is Different And OC Differently And Will UV Differently. Even with Different Kernels And Roms You Will Have Different Results.
I Do Applaud Your Efforts but The Only Way To see How Low You Can Go Is To set It And Test It.
It Will Either Run Or It Won't, You Can't Really Harm Your CPU With UV'ing Like With OC'ing.
Sorry About The Capitals, Only Way My Phone Does It On Here I Guess
t-rip said:
I'd really appreciate and use this feature! I hate looking for Voltages again and again. Calculating them would be much more comfortable!
I use Franco.Kernel with Voltages from 230 to 1804 MHz and I tried to calculate the Voltages with your funktion within an excel-sheet. But my results are so damn far away from a realistic Voltage...
For example for 700MHz I get the Voltage "6,96"
I took this:
VOLTAGE = 733,9031364956^(0,0004200816*FREQUENCY)
put in the frequency:
VOLTAGE = 733,9031364956^(0,0004200816*700) = 733,9031364956 ^ 0,29405712 = 6,9608371895070636295467507606432
VOLTAGE = 6,9608371895070636295467507606432
Where's my mistake?
Click to expand...
Click to collapse
+1 ...But look awesone this idea!!
Cheers!
Great idea. Why you don't put directly a Google/Excel sheet?
This is really strange and probably even stranger to complain about but I want to understand.
I UV on my Note and so far managed to drop to levels I find hard to believe.
200MHz - 600mV
300MHz - 600mV
400MHz - 600mV
500MHz - 600mV
600MHz - 600mV
700MHz - 600mV
800MHz - 600mV
900MHz - 600mV
1000MHz - 600mV
1100MHz - 600mV
1200MHz - 975mV
1300MHz - 975mV
1400MHz - 1000mV
1500MHz - 1050mV
1600MHz - 1100mV
Why is my note able to run at 600mV on all frequencies up to 1100MHz??? At first I thought it was a reporting error and It wasn't really running on those voltages but found breaking points on higher frequencies so eliminated that theory. :silly: Would be to be able to test these frequencies at even lower levels. Anybody know a tool that can do it?
This is the process I followed:
Set the voltage value in STweaks,
Set the max MHz in STweaks to the frequency for which I just dropped the voltage ,
Close STweaks,
Open Voltage Control to confirm that the voltage and max frequency has really been set,
Close Voltage control,
Reboot,
Open Voltage Control again to confirm that the voltage and max frequency is really set,
Close Voltage control,
Reset timings in Android Tuner Free,
Start Stability - Classic Test and verify that the Note is running at the max frequency,
Open some other apps and play around for a while,
Get Stability Test back to foreground and go to sleep (if it is time to sleep)
For all of the above frequency values i ran the Stability Test overnight for at least 4 hours plus for a couple hours while using the phone. Didnt get a single freeze or reboot. The only issue was that while I had it on max 200 MHz the Note was not usable while the 300 and 400 MHz frequencies were annoyingly slow. 500 MHz and up is bearable even with Stability Test running.
Attached are the last status and test screenshots. The Stability Test has been running while I been also using it for calling, messaging, adjusting other app setting and taking screenshots.
I check the frequency timings in Android Tuner Free and it is usually 1-4% on offline, 95-98% on the tested frequency and sometime 1% on the frequency just above the tested one. All other frequency times usually 0%
Any ideas if something funny is going on or is this Note just unbelievably under-voltable???
MutantWizard said:
This is really strange and probably even stranger to complain about but I simply need to understand.
I UV on my Note and so far managed to drop to levels I simply cant believe.
200MHz - 600 mV
300MHz - 600 mV
400MHz - 600 mV
500MHz - 600 mV
600MHz - 600 mV
700MHz - 600 mV
800MHz - 600 mV
Rest of the frequencies are still at stock values
First I copy pasted some UV setting from another post and the Note ran without Issues. Then I started dropping a little bit here and there and at some point got some freezes and reboots but couldnt figure out which frequency was the issue so I returned all to stock and started one by one from 200 MHz. The above is where I got to so far and simply need to understand why or what is happening.
This is the process I followed:
Set the voltage value in STweaks,
Set the max MHz in STweaks to the frequency for which I just dropped the voltage ,
Close STweaks,
Open Voltage Control to confirm that the voltage and max frequency has really been set,
Close Voltage control,
Reboot,
Open Voltage Control again to confirm that the voltage and max frequency is really set,
Close Voltage control,
Reset timings in Android Tuner Free,
Start Stability - Classic Test and verify that the Note is running at the max frequency,
Open some other apps and play around for a while,
Get Stability Test back to foreground and go to sleep (if it is time to sleep)
For all of the above frequency values i ran the Stability Test overnight for at least 4 hours plus for a couple hours while using the phone. Didnt get a single freeze or reboot. The only issue was that while I had it on max 200 MHz the Note was not usable while the 300 and 400 MHz frequencies were annoyingly slow. 500 MHz and up is bearable even with Stability Test running.
Attached are the screenshots of the process at 800 MHz and the Stability Test has been running for almost six hous while I been also using it for messaging, adjusting other app setting and taking screenshots. After about 5 hours of 100% CPU load at 800 MHz the Note is down to 80% battery. Not really sure but it seems quite low power consumption.
I just checked the timings again in Android Tuner Free and 12% on offline, 86% on 800 MHz. All other frequency times 0%
Any ideas if something funny is going on or is this Note just unbelievably undervoltable???
Click to expand...
Click to collapse
1st thing, my STweaks is ver 1.1 but looks a bit different than your screenshots, pls confirm that.
2nd, I too like to underclock but had no idea you could push it as far as you . It's kind of like driving a car low on gas to see how far you can go.
3rd What ROM & kernel you on? I'm on X-Note 3.3 with Adam kernel.
Last, here's a screenshot of my undervolting...I'm kinda embarrassed compared to yours Note the differences in layout of STweak menu.
I'm inspired to go even lower now, my battery life is pretty awesome but I think I can squeeze it more.
tweeny80 said:
1st thing, my STweaks is ver 1.1 but looks a bit different than your screenshots, pls confirm that.
2nd, I too like to underclock but had no idea you could push it as far as you . It's kind of like driving a car low on gas to see how far you can go.
3rd What ROM & kernel you on? I'm on X-Note 3.3 with Adam kernel.
Last, here's a screenshot of my undervolting...I'm kinda embarrassed compared to yours Note the differences in layout of STweak menu.
I'm inspired to go even lower now, my battery life is pretty awesome but I think I can squeeze it more.
Click to expand...
Click to collapse
My STweaks is also 1.1 and guessing the menu difference might be due to different kernel. I am on RedPill, stock ROM and probably irrelevant but TWERP as well.
I have mixed feelings about the achieved UV. Very happy if it is true but suspicious that there is some kind of a reporting error and that I am actually not under-volting it at all.
I will soon update the OP since I have now been now testing the 900 MHz for the last 3 turns. Started at 900 mV then droped to 800 mV and now already running it for a couple hours at 700 mV. I just cant believe that its actually at at this voltage and running without issues.
MutantWizard said:
My STweaks is also 1.1 and guessing the menu difference might be due to different kernel. I am on RedPill, stock ROM and probably irrelevant but TWERP as well.
I have mixed feelings about the achieved UV. Very happy if it is true but suspicious that there is some kind of a reporting error and that I am actually not under-volting it at all.
I will soon update the OP since I have now been now testing the 900 MHz for the last 3 turns. Started at 900 mV then droped to 800 mV and now already running it for a couple hours at 700 mV. I just cant believe that its actually at at this voltage and running without issues.
Click to expand...
Click to collapse
Hmm yes, because you're going so low, it begs the question is the app reading accurate? I mean, you're reeeaaaal low. Would be good for a more knowledgeable person to chip in and give us feedback.
One thing - in your screenshot it shows your max frequency capped at 800MHz. To me that reads you are running only at 50% power. If so, that explains your insane battery life. From steps 900 and above you've left voltage at stock because they're unused. right?
tweeny80 said:
Hmm yes, because you're going so low, it begs the question is the app reading accurate? I mean, you're reeeaaaal low. Would be good for a more knowledgeable person to chip in and give us feedback.
One thing - in your screenshot it shows your max frequency capped at 800MHz. To me that reads you are running only at 50% power. If so, that explains your insane battery life. From steps 900 and above you've left voltage at stock because they're unused. right?
Click to expand...
Click to collapse
Yes higher frequencies still at stock and not used but will be getting to them at their own time. Fact though is that even with cap at current 900 MHz and with Stability test running I can still use the Note normally for any regular tasks. If I don't play games I would never need more speed.
Now updating the OP with the 900 MHz setting and screenshots.
BTW I just realized I added to battery life when transferring screenshots by connecting the Note to the laptop by cable. Battery life still remains to be seen.
Updated the OP with the full range of voltages 200-1600. I don't OC so those will not be doing. But I still have the original question.
Is it possible???
Gets more and more strange. GPU under-clocking and under-volting of following frequencies working for days without any usage issue. I changed the minimum and maximum MHz to include the below frequencies and didn't notice any difference in the Note behavior / performance. When running the stability test with GPU testing included I don't get any errors if running under 2 hours but if I leave it overnight the test does crash at some point in time without any other ill effect. I only know that it crashed coz it disapears and it tells me it crashed when the next day I re-start the test.
54MHz - 600mV
108MHz - 600mV
160MHz - 600mV
266MHz - 600mV
350MHz - 600mV
The fact though is I don't understand what to expect as an issue when under-clocking or under-volting the GPU.
Mate, you're still at it!?
Rereading your data, I strongly suggest you post these stats in whatever thread belongs to the kernel and/or tuner app you're using.
My overseas Singaporean work colleagues would say 'cannot be, cannot be.....'
tweeny80 said:
Mate, you're still at it!?
Rereading your data, I strongly suggest you post these stats in whatever thread belongs to the kernel and/or tuner app you're using.
My overseas Singaporean work colleagues would say 'cannot be, cannot be.....'
Click to expand...
Click to collapse
Yea slowly trying one by one new settings and letting it run for a while so that when I go to the next setting and experience an issue I am sure its the newest setting that's causing it.
Thanks will do as suggested.
Which kernel is best for performance?(for Whyred)
1. Black box
2.no name
And many out there???
Suggestions please.
Thanks in advance.
Deep.cdy said:
Which kernel is best for performance?(for Whyred)
1. Black box
2.no name
And many out there???
Suggestions please.
Thanks in advance.
Click to expand...
Click to collapse
You should try them and find out the most suitable for you, use them for 1-2 days, you'll see the difference.... personally, I'm using NoName kernel with RR
NoName for Lineage based.
Deep.cdy said:
Which kernel is best for performance?(for Whyred)
1. Black box
2.no name
And many out there???
Suggestions please.
Thanks in advance.
Click to expand...
Click to collapse
i think currently is noname.
we hope a bunch of recognised developers in the near future as franco as many others.
Kirks, for battery...
Dude unlocked the lower cpu freqs...
m666p said:
Kirks, for battery...
Dude unlocked the lower cpu freqs...
Click to expand...
Click to collapse
It operates on lower Volts using this unlocked freqs?
peter-k said:
It operates on lower Volts using this unlocked freqs?
Click to expand...
Click to collapse
God knows, but what I do know is that it should produce less heat at the very least and it performs pretty gud on powersave governor. The gpu on the other hand is garbage at min freq (160mhz), even the launcher lags....
peter-k said:
NoName for Lineage based.
Click to expand...
Click to collapse
But after flashing no name 1.3 the WiFi doesn't work for me on rr 12th June
Deep.cdy said:
But after flashing no name 1.3 the WiFi doesn't work for me on rr 12th June
Click to expand...
Click to collapse
Mine was fine but now I'm on Aosip.
i think for now the best is to use a stock kernel, be careful with the charging limits.
peter-k said:
It operates on lower Volts using this unlocked freqs?
Click to expand...
Click to collapse
m666p said:
God knows, but what I do know is that it should produce less heat at the very least and it performs pretty gud on powersave governor. The gpu on the other hand is garbage at min freq (160mhz), even the launcher lags....
Click to expand...
Click to collapse
Of course it operates at lower voltage as it's a lower frequency and requires less power draw. Lower voltages should mean lower heat, however you don't magically get that lower freqs to operate, you need to tweak the interactive governor to make use of them all efficiently. So far I'm on Kirks kernel and AOSiP and it's a quite good combo.
The lag is not caused by low GPU freqs, it's because of low CPU freqs for that particular load, so governor tweaking is needed.
Cirra92 said:
Of course it operates at lower voltage as it's a lower frequency and requires less power draw. Lower voltages should mean lower heat, however you don't magically get that lower freqs to operate, you need to tweak the interactive governor to make use of them all efficiently. So far I'm on Kirks kernel and AOSiP and it's a quite good combo.
The lag is not caused by low GPU freqs, it's because of low CPU freqs for that particular load, so governor tweaking is needed.
Click to expand...
Click to collapse
Lol, I tested what you said out. Because you said it with such confidence...
I changed the cpu governor to performance and set the gpu to 160mhz max...
That made the experience a bit better but it would still lag a lot in recents and app launcher scrolling...
I've attached a screen shot to prove it too...
Another thing, just because the clock is lower does not mean that the voltage is lower as well, many devices that ive owned over the years have had the same voltage's for lower clocks( moto g2, Sony xperia z1)
And lastly, you should "magically" get those lower frequencies(if they are truly unlocked) since governors will always operate within the min/max frequencies that are set by the user or by default(unless it reverts parameters back to stock, like our device does on interactive)...
Forgot screenshot....
m666p said:
Lol, I tested what you said out. Because you said it with such confidence...
I changed the cpu governor to performance and set the gpu to 160mhz max...
That made the experience a bit better but it would still lag a lot in recents and app launcher scrolling...
I've attached a screen shot to prove it too...
Another thing, just because the clock is lower does not mean that the voltage is lower as well, many devices that ive owned over the years have had the same voltage's for lower clocks( moto g2, Sony xperia z1)
And lastly, you should "magically" get those lower frequencies(if they are truly unlocked) since governors will always operate within the min/max frequencies that are set by the user or by default(unless it reverts parameters back to stock, like our device does on interactive)...
Click to expand...
Click to collapse
First of all, we are talking here about difference in voltage between stock minimum freq for big cluster, which is 1.1ghz and actual possible minimum which is 300mhz, and there is a difference in voltage, that was the point. The devices I owned, S5 and Z3compact had more CPU steps, therefore the difference between some of the steps was really small or there wasn't any, but the CPU scaling made a jump to the freq with bigger difference (higher or lower, that was the stock behavior so some freqs weren't used). Here it might use all of the freq steps as there are less of them and the difference in voltage is significant enough, which might be the case, I said that because of my experience with previous devices. But you've missed the point anyway, I have said that even if unlocked, some freqs won't be used just because they are there if the governor parameters aren't set properly (or will be barely used). That was my point, I said that as a general note, so users won't jump the gun and blame devs for whatever.
And another one, regarding your test and lag with GPU, now I'm confused why would you set your max at 160mhz? I know it was for testing purposes in this case, but you did complain about it in original post and I said it won't lag because the max would still be set to 430mhz in which case the GPU freq scaling would do the job which it does very good so far. It would lag of course if you set max GPU freq to 160, but that's not what would you do for daily usage, right? Sorry if I misunderstood something.
Cirra92 said:
First of all, we are talking here about difference in voltage between stock minimum freq for big cluster, which is 1.1ghz and actual possible minimum which is 300mhz, and there is a difference in voltage, that was the point. The devices I owned, S5 and Z3compact had more CPU steps, therefore the difference between some of the steps was really small or there wasn't any, but the CPU scaling made a jump to the freq with bigger difference (higher or lower, that was the stock behavior so some freqs weren't used). Here it might use all of the freq steps as there are less of them and the difference in voltage is significant enough, which might be the case, I said that because of my experience with previous devices. But you've missed the point anyway, I have said that even if unlocked, some freqs won't be used just because they are there if the governor parameters aren't set properly (or will be barely used). That was my point, I said that as a general note, so users won't jump the gun and blame devs for whatever.
And another one, regarding your test and lag with GPU, now I'm confused why would you set your max at 160mhz? I know it was for testing purposes in this case, but you did complain about it in original post and I said it won't lag because the max would still be set to 430mhz in which case the GPU freq scaling would do the job which it does very good so far. It would lag of course if you set max GPU freq to 160, but that's not what would you do for daily usage, right? Sorry if I misunderstood something.
Click to expand...
Click to collapse
I kinda get what you mean, but the min freqs should kick in by default. They don't though on kirks, you need to change the governor to something like alucard or zzmove once before it actually starts clocking down to 300mhz...
On a side I would just disable the big. Cluster if I could, I don't really need that much cpu performance...
I was trying to find the min gpu freq that would be usable and I was disappointed, cuz my Sony z1 had a smooth ui experience with the gpu clocked at 200mhz max and that thing had a sd800...
Btw, I do all this to get better battery life...
I found out something else, I can't use power save governor any more because it can't handle audio processing(ainur, v4a) when the screen is off...
Just like my old z1, Lol...
Makes me think that the performance is really identical to the snapdragon 800...
I wonder how pissed I would be if a I got the redmi 5 plus, the 625 would have been even worse...
m666p said:
I kinda get what you mean, but the min freqs should kick in by default. They don't though on kirks, you need to change the governor to something like alucard or zzmove once before it actually starts clocking down to 300mhz...
On a side I would just disable the big. Cluster if I could, I don't really need that much cpu performance...
I was trying to find the min gpu freq that would be usable and I was disappointed, cuz my Sony z1 had a smooth ui experience with the gpu clocked at 200mhz max and that thing had a sd800...
Btw, I do all this to get better battery life...
Click to expand...
Click to collapse
m666p said:
I found out something else, I can't use power save governor any more because it can't handle audio processing(ainur, v4a) when the screen is off...
Just like my old z1, Lol...
Makes me think that the performance is really identical to the snapdragon 800...
I wonder how pissed I would be if a I got the redmi 5 plus, the 625 would have been even worse...
Click to expand...
Click to collapse
Yeah I agree, it should, but how much it stays on minimum freq is dependent on couple of governor parameters (talking about interactive). On mine though it does stay on 300mhz when idling, on stock Kirks settings. Big cluster can be disabled through new hotplug solution, like Intelliplug, which I used on my old devices, and it performed great, 1 core was active when screen was off, screen on and light usage required only 2 cores, while all 4 were active under heavy load. Here however there is only Qualcomm's hotplug solution, until that changes, no luck. Regarding GPU freq, I don't think any device would work smoothly under 200mhz, you can set 266mhz here, it will be smooth, I've tested today, on my old SD801 it performed at 233mhz IIRC.
I've seen that, V4A requires higher freq than 300mhz, or even 422mhz which SD801 had, it's more about the freq rather than the chipset, as I've read on multiple threads that even the devices with SD820 were struggling a lot when processing audio at 300mhz when the screen was off. Don't worry, it's a general issue. There is also the optimization of the rom and audio mods as well, background tasks, kernel, it all goes into the mix.
This is actually a very good chipset, it's technically SD660 just with lower clocks on both CPU and GPU.
EDIT: I forgot, this is my usage on AOSiP + Kirks, stock interactive tunables, min freq 300mhz (big/little), GPU initial/min freq 160mhz, max 430mhz. Using microG instead off GApps, I have used FB, Instagram, Messenger app for 1,5h each, Viber was couple of hours, Chrome some 30mins, Panini sticker album 30+ minutes, 30 minutes of 2G calls. Network mode was LTE, though I was on wifi on whole charge.
Started measuring from 92%.
Thanks bro, that explains a lot...