so im currently running MCK 2.2 rom with the updated kernel but without compcache enabled because i havent been able to get it working yet.
here's the problem though, about once a day my phone will slow down to an unberable speed... just like it used to with the OEM Rom.
when I open up SetCpu (which i know isnt supposed to do anything on the hero) it tells me that my CPU is running at 245mhz, but the control bars in SetCPU are set for 528/480mhz... when i hit refresh the phone comes back up to 528/480 and its fast(er) again...
anybody have any ideas on this one?
dmc971989 said:
so im currently running MCK 2.2 rom with the updated kernel but without compcache enabled because i havent been able to get it working yet.
here's the problem though, about once a day my phone will slow down to an unberable speed... just like it used to with the OEM Rom.
when I open up SetCpu (which i know isnt supposed to do anything on the hero) it tells me that my CPU is running at 245mhz, but the control bars in SetCPU are set for 528/480mhz... when i hit refresh the phone comes back up to 528/480 and its fast(er) again...
anybody have any ideas on this one?
Click to expand...
Click to collapse
What gov. are you using on setcpu?
theoottesen said:
What gov. are you using on setcpu?
Click to expand...
Click to collapse
performance, and profiles are not enabled... again, it only happens after 12-15 hours or so... about once a day
Similar problem...
dmc971989 said:
performance, and profiles are not enabled... again, it only happens after 12-15 hours or so... about once a day
Click to expand...
Click to collapse
I have a similar problem. I experience serious slowdowns (compcache enabled or disabled) about once per day. I have not verified the CPU speed as I'm not using SetCPU. I am using the "performance" governor in MCK.
My typical solution is a reboot.
im just curious if this is the original problem or a new one cause by this rom setup... because I dont ever recall reading anything about the CPU getting stuck at 245mhz from sleep mode being the source the slow downs....
Have you tried disabling the location services to verify it's not that particular bug you're seeing/experiencing?
x99percent said:
Have you tried disabling the location services to verify it's not that particular bug you're seeing/experiencing?
Click to expand...
Click to collapse
yes, i keep them disabled...
jamesthomas128 said:
I have a similar problem. I experience serious slowdowns (compcache enabled or disabled) about once per day. I have not verified the CPU speed as I'm not using SetCPU. I am using the "performance" governor in MCK.
My typical solution is a reboot.
Click to expand...
Click to collapse
I look in the kernel and there are two sets of settings: The profiles and a set of setting for the kernel speed (this is split into min/max for screen on and min/max for screen off)
For screen on, it is set for 480000 min/528000 max
For screen off, it is set for 245760 min/245760 max
If the screen is off, it's possible that the kernel went into the lower settings and didn't come back.
I've heard different reports on whether the profiles work in the Hero. I'm curious myself. I do know the stock rom has everything locked, but since the kernel source has been released and Modaco released his kernel, I'm not so sure if the lock statement is true anymore.
I'm compiling a kernel as we speak with the cpu frequency scaling on. Had some issues with the cpufreq.h file not seeing two variables necessary for the userspace profile, but hopefully I was able to fix that (won't know until I run it).
tkirton said:
I look in the kernel and there are two sets of settings: The profiles and a set of setting for the kernel speed (this is split into min/max for screen on and min/max for screen off)
For screen on, it is set for 480000 min/528000 max
For screen off, it is set for 245760 min/245760 max
If the screen is off, it's possible that the kernel went into the lower settings and didn't come back.
I've heard different reports on whether the profiles work in the Hero. I'm curious myself. I do know the stock rom has everything locked, but since the kernel source has been released and Modaco released his kernel, I'm not so sure if the lock statement is true anymore.
I'm compiling a kernel as we speak with the cpu frequency scaling on. Had some issues with the cpufreq.h file not seeing two variables necessary for the userspace profile, but hopefully I was able to fix that (won't know until I run it).
Click to expand...
Click to collapse
im fairly positive that the CPU is getting stuck in the sleep mode while the rest of the phone is not, causing me these issues... the problem is i dont know how to fix them
dmc971989 said:
performance, and profiles are not enabled... again, it only happens after 12-15 hours or so... about once a day
Click to expand...
Click to collapse
Ok, modaco rom sets the governor to "performance" on boot. This essentially "sticks" your CPU to max throttle.
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Will tell you where you are, governor wise..
I'm not entirely sure what setCPU does, I've never used it, but I assume it just tweaks your top and bottom Mhz and maybe changes governor to performance when the screen is on? If it's configured properly? Maybe not, who knows?
If you want the best battery life, put the governor back to msm7k, it's a custom governor modified by HTC to make your battery last longer.
I changed the following line in modaco.sh:
echo "performance" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
to:
echo "msm7k" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_govern
and haven't noticed any slowdown from it.. my battery is lasting longer than it did on Stock or Fresh 1.1...
Hello.
Undervolting your CPU has always been a daunting task - there's so many CPU steps, if you pick say -100mV to all frequency steps and you get a reboot, how do you work out which step (or steps!) is causing the problem? If you undervolt -25mV on one frequency, then wait a couple of days to make sure it's stable, then reduce the same frequency by another 25mV.. you'll still be undervolting a year later.
This thread is my tutorial on how to do a best effort at quickly and safely undervolting your phone CPU.
First of all - is undervolting your CPU worth it?
Initially it was thought not to make much difference, but after some serious testing (thanks AndreiLux), "we" decided that it was a good idea. I also did my own basic testing, and it looks like it's worth it.
What are the advantages of undervolting?
Better battery life
Cooler phone, especially useful if you overclock your CPU
What are the disadvantages of undervolting?
That's the great thing! Really the worst that can happen is your phone freezes or reboots. The steps below should eliminate all of that. Once you have undervolted your CPU to just above its freeze/crash levels, there are no disadvantages!
Note: I have had some minor data loss (eg an app forgets a setting) after an undervolting related crash, but it was rare and I believe has to do with the Perseus kernel "Enable dynamic FSync" setting. I note below how to mitigate against this.
What do you need?
A rooted phone, and a kernel that supports undervolting. Perseus and Siyah will work, but any kernel should be fine that supports SetCPU's undervolting schema
SetCPU or you can use a combination of STweaks and Stability Test (use STweaks for setting the frequency and voltage, and use Stability Test's Classic Test for the stress test)
A paper and a pen - I used Sticky Notes as I was at a computer for most of the process
Some patience
Let’s begin.
Open SetCPU. You’ll be greeted by the Main screen which has the min/max CPU frequencies, the governor options, and the IO scheduler options. Reduce the max CPU frequency to the lowest step. On the SGS3 this will be reducing 1400MHz down to 200MHz, so you now have both the min and the max set at 200MHz. The phone will get pretty slow at this point. Ensure the Set on Boot option is unticked
Set the governor to Performance (note: you have to make sure all cores of your CPU are being used. In a complex kernel such as Perseus, you'll have to go into STweaks and set the CPU hotplug lock to 4 so all 4 cores are used. Also note there appears to be a bug in Perseus at the time of writing: you have to set the hotplug lock BEFORE you change the governor to performance)
Move to the Voltages screen
Ensure the Set on Boot option is unticked, and scroll down to the lowest setting, and change it to something low, like 700mV, and then apply it (click the third icon from the right at the top of the screen, a rectangle with a tick on it) . This first setting is always a bit of guess and check, and to be honest you’re hoping for the phone to freeze or crash on this first one. Has it frozen? If so move on to the next step. If not, reduce it by a further 25mV and apply again, repeat until your phone freezes or reboots.
So, you have undervolted too far. Reboot the phone, and perform steps 1-3 again. At step 4, use the voltage that crashed your phone +25mV (eg if it crashed at 675mV, this time set it to 700mV). Now, you have a very slow phone running a low voltage that doesn’t immediately crash it. Move on to the next step
An easy crash test I found was simply allowing the phone to go into deep sleep, and waking it up again. To do this, unplug your phone if it’s charging, and turn the screen off. At this point I usually wrote the time down on my piece of paper, as well as what frequency and voltage I was testing as I’m prone to forget these things. Wait 5 minutes with the screen off (and make sure no notifications have come in while the screen is off – this wakes the phone up and you’ll have to wait another 5 mins), then turn the phone on. You’ll know it’s gone into deep sleep as there’ll be a slight delay before the screen turns on as compared to no delay when turning it off and immediately back on again. If the phone doesn’t turn on, go to step 5. If your phone comes out of deep sleep OK, move on to the next step.
Now, we stress test. In SetCPU scroll over to the Info screen, and scroll down to the Stress Test option. Start it, and note down the time on your paper/Sticky Notes. Your CPU will now run as hard as it can at the current frequency. Let it run for 15-20 minutes. At the lowest frequency it will be pretty laggy and slow, if you think it has frozen always give it 30 seconds to see if it picks up again. If it gets stuck for over a minute, you probably have a crash. Go to step 5. If after 15-20 minutes it’s still running, you have found your first stable(ish) voltage for that frequency! At this point I saved the voltages in SetCPU by pressing the diskette icon. To ensure the changes are written to disk turn the phone screen off for 5 seconds then turn it back on again.
We are now ready for the next frequency. There’s pretty much no way a frequency will run stably on a lower voltage than a frequency below it, so our first voltage for the next frequency up should be the same stable voltage we found for the previous frequency. For example if we found a stable voltage of 725mV on the 200MHz frequency, our first test voltage for 300MHz should be 725mV. Write this down with the frequency on your paper. In the Main screen of SetCPU, change the max frequency to the next step up. Then, in the Voltages screen, adjust the voltage to be the same as the lower frequency, as discussed above. If your phone immediately freezes or reboots, move to the next step. If not, go to step 10.
So, you have undervolted too far, again! Reboot your phone, open up SetCPU, and in the main screen ensure the max frequency is set to the frequency we’re testing. Give the sliding bar things a jiggle to apply it. Ensure the governor is set to Performance by pressing it on the lower left part of the screen. Move to the Voltages screen, and you’ll either see your previous “saved” voltage values ready to be applied in dark grey under the “current” voltage settings, or you’ll have lost your “saved” voltage settings. If you have lost them, never fear; just restore the latest settings by clicking the first from the right icon at the top (a square with an arrow pointing outwards). Adjust the frequency we’re testing’s value to 25mV more than the value you last used when it crashed, and apply it. If it crashes immediately, repeat this step. If not, move on
We now start the two tests in steps 6 and 7 again, but this time if your phone crashes or freezes, go to step 9. If it completes the deep sleep and stress test tests, go to step 8 for the next frequency test.
Sorry for the complexity here, but it was the easiest way I could write it without repeating myself too much. The TL;DR version goes like this:
Pick the lowest untested frequency, set the max frequency to this and the governor to Performance, and find the lowest voltage that doesn’t immediately crash the phone
Put the phone into deep sleep, and see if it crashes. If it does, increase the voltage for the current frequency we’re testing by 25mV and test again. If not, move on
Run a stress test on the phone for 15-20 minutes. If it crashes, raise the voltage by 25mV and go to step B. If it doesn’t crash the current frequency is now tested. Go to step A
You now have a set of frequencies that shouldn’t immediately crash the phone. Set the min and the max frequencies back to normal, and set the governor back to your usual governor. At this point for me I was able to use the phone for about 2 hours before I had my first crash. How running a stress test on each frequency for 20 minutes didn’t pick up this crash situation I’m not sure, but it didn't.
After screwing around for a while I found the easiest solution was to just raise each frequency step by 25mV and then continue every day usage. That was enough to stabilise my phone. If it still crashes for you, keep raising all the values by 25mV until it settles down. After a day or two of no crashes you can start slowly one by one reducing each step by 25mV again to find out which step caused the crash.
After that, you should be done!
Ps I know there is another thread around here discussing undervolting, but I found it too vague on the details and sometimes wrong, so I thought I’d share my experiences in the hope it might help.
Good work!
Would you pls post your testing results for our reference?
Thanks.
Mod edit: please do not quote the OP.
A table with the running undervolting settings would be a great orientation help. Given that, people don't need to trail and error from scratch.
Sent from my Nexus 4 using xda app-developers app
me_max said:
A table with the running undervolting settings would be a great orientation help. Given that, people don't need to trail and error from scratch.
Sent from my Nexus 4 using xda app-developers app
Click to expand...
Click to collapse
Under/over volting doesn't work that way. Each chip is unique, and chips are tested only on default voltage and frequencies, so each one's behavior on non-default settings is unpredictable. Some are able to work on 100 mV lower voltage, some can't handle even -25mV... Trial and error is the core of overclocking.
yep, that's one of the reasons i disagreed with the other UV thread - they list absolute voltage levels which are only applicable to the specific grade of chip in their phone (and yes, I posted some corrections in the other thread but they were ignored).
Have a look HERE if you'de like to see all the different possible default voltage settings for the i9300/i9305.
As a rough rough guide of a voltage level for the 200MHz step that will (hopefully) crash your phone, I'd start at 650mV.
i have tested my cpu
for stable values and i finished with these settings:
200Mhz - 0.775V
300Mhz - 0.800V
400Mhz - 0.825V
500Mhz - 0.850V
600Mhz - 0.875V
700Mhz - 0.900V
800Mhz - 0.925V
900Mhz - 0.950V
1000Mhz - 0.975V
1100Mhz - 1.000V
1200Mhz - 1.050V
1300Mhz - 1.100V
1400Mhz - 1.150V
1500Mhz - 1.200V
My exynos is stable for 2 months now, i play a lot of new games like most wanted etc.
In UV more important is leaving phone in idle, deep sleep on and off, or non demanding tasks, if i UV too much games were stable but i had random restarts when phone was in the pocket sleeping. But, as You mentioned, every cpu is different so everyone has to test it...
Thank you OP for this very, very useful guide. I am new to undervolting and even though I have a T999V north-american model with the Qualcomm SoC, this will prove very useful in my experimentation.
Only difference with the Qualcomm is that clock speed can go as low as 96Mhz, but you can't undervolt under 700mV - SetCPU just refuses to apply anything under that.
No probs
That's a kernel limitation, not SetCPU. Check with your kernel dev to see if they can allow further undervolting.
I tried to make the instructions as generic as possible so any stepping config could use them. good luck!
I'm doing my 96Mhz test and running a stress test.
The loading circle is still moving just fine (although a bit sluggishly) but none of my buttons are responding at all so I cant leave the test until I pull the battery. Would this count as a freeze/crash, or do you think this voltage is okay to stick at (or even go lower?!)
That's just the CPU bogging down, it's not a voltage issue.
hi guys. this might sound like a dumb question but i honestly looked everywhere but i cant seem to find the UV in setcpu. i'm i missing something?
Probably the kernel you're using doesn't support UV.
Hey
I find that 200 is stable on 687500
And then when I move to edit 300 it reboots
Then increased the number on both and still reboot.
I don't restart in between. Any idea??????
Sent from my GT-I9300 using xda app-developers app
tony1234567890tony said:
Hey
I find that 200 is stable on 687500
And then when I move to edit 300 it reboots
Then increased the number on both and still reboot.
I don't restart in between. Any idea??????
Sent from my GT-I9300 using xda app-developers app
Click to expand...
Click to collapse
That means that 200 is NOT stable. Try using a higher voltage. 0.6875v is ridiculously low
TP.
What do you mean low he says in the op to reduse to 700
THC for fast answear
Sent from my GT-I9300 using xda app-developers app
tony1234567890tony said:
What do you mean low he says in the op to reduse to 700
THC for fast answear
Sent from my GT-I9300 using xda app-developers app
Click to expand...
Click to collapse
Default voltage for 200mhz step is 0.9v (for me on asv2). So 0.7v (which is still higher than what you have set) it a whopping 200mv less than stock which is like I said before, ridiculously low. It may run at this voltage for you for now(depending on your as level), but I can pretty much guarantee you that it will never be 100% stable
I'll take your THC ; ) lol
TP.
Thanks I'll give you feed back
Sent from my GT-I9300 using xda app-developers app
omniwolf said:
Probably the kernel you're using doesn't support UV.
Click to expand...
Click to collapse
i thought the matr1x kernel supports it. UV works fine in trickster mod. i don't even have a heading for 'voltages' in the the app like it's shown in the play store.
tony1234567890tony said:
What do you mean low he says in the op to reduse to 700
THC for fast answear
Sent from my GT-I9300 using xda app-developers app
Click to expand...
Click to collapse
yep, as STAticKY says, if you get a reboot on a step, then it's not stable. raise the voltage on that step and try again.
STAticKY said:
Default voltage for 200mhz step is 0.9v. So 0.7v (which is still higher than what you have set) it a whopping 200mv less than stock which is like I said before, ridiculously low. It may run at this voltage for you for now, but I can pretty much guarantee you that it will never be 100% stable
I'll take your THC ; ) lol
TP.
Click to expand...
Click to collapse
This is only correct for your ASV value. Please edit this post, it contains incorrect information. Your default voltage for 200MHz might be 0.9v, but for other people it's likely different, as they have different quality chips. Read post 3, 4, and 5 in this thread for more info.
genericuser2013 said:
i thought the matr1x kernel supports it. UV works fine in trickster mod. i don't even have a heading for 'voltages' in the the app like it's shown in the play store.
Click to expand...
Click to collapse
possibly the matirx kernel does support UV, but it might not be exposed in the way that SetCPU is expecting. Does the Matrix kernel developer recommend a specific app to adjust the voltages? If so use that, you can still follow my guide.
Can anybody tell me how to determine ASV-level of my chip?
is anybody else having an issue when you underclock? i usually set it to 1.4Ghz but the phone overrides the setting i put up using Atuntu CPU master. i feel that the phone is still fluid when underclocked, so i tend to under clock to save battery life(and stop if from overheating to 105.1 degrees farenheit).i need to get full usage out of my phone as the day starts at 5 AM till 5PM with heavy usage
any luck with this issue?
Kernel on forums if you have compatible phone. Inteli and trickster with thermald disabled. Lock freq. While your at it, look up your soc bin and and start trialling undervolts.
42 8996883
Steamer86 said:
Kernel on forums if you have compatible phone. Inteli and trickster with thermald disabled. Lock freq. While your at it, look up your soc bin and and start trialling undervolts.
Click to expand...
Click to collapse
in English please? o dont get what wou mean by the SOC Bin and the part after that. i did the trickster, but it still overrides it.
You can't make it stick with default kernel. You need a modified one with inteli so thermald doesn't auto override. SOC bin is details on your "CPU" quality for base volt values, better SOC means better overclock, underclock, and undervolting. If you're serious in doing this, search and learn. This isn't simple modification, and you will not be able do this in simple way. Make sure you have set on boot checked in trickster. Well work somewhat better, but still not a permanent solution.
Hi guys!!
I am running Stock ROM on my GT-I9301, with @sev3n1985 kernel. I have overheating problems! Sometimes it's very hard to hold my phone. How can I solve it? Btw, I'll leave my Kernel Settings down bellow
Regards :*
Settings (I use Kernel Adiutor):
- CPU Max Freq: 1401Mhz
- CPU Min Freq: 300Mhz
- CPU Governor: smartmax
- Multicore Power Saving: Disabled
- CPU Hotplug: MSM Hotplug (MPDecision desactivates)
- CPU Boosted: 1
- Max Cores Screen Off: 1
- Thermal: Temperature Throttle
Sent from my S3 Neo+ (GT-I9301I) running Custom Made StockROM with @sev3n1985 kernel
Have you already done a factory reset?
Perhaps it's just a bad app.
Jhnsn said:
Have you already done a factory reset?
Perhaps it's just a bad app.
Click to expand...
Click to collapse
I use Greenify even on some system apps, so no background apps. And my ROM is deodexed. So I think that's not the problem. But thank you
Sent from my S3 Neo+ (GT-I9301I) running Custom Made StockROM with @sev3n1985 kernel
S3 Neo is familiar with overheating problems even on stock, but I'm trying to understand, do you have that problem even if you are not using your phone that much?
Sometimes hot plug & governors (more tied to the interactive than ondemand) logic simply bricks hot plug & then you have all cores running all the time. Their is also a conflict tied to additional bust frequency logic. All this is actually cased by Samsung & it's never been corrected in this kernel (it is corrected only in official CM12.1 repo). Simple reset resolve this until it happens again.
Regarding Smart max try like this:
Also go with mpdecision hot plug & use simple on demand GPU governor.
It should save some juice keep consumption under control & device cooler.
Zola III said:
Sometimes hot plug & governors (more tied to the interactive than ondemand) logic simply bricks hot plug & then you have all cores running all the time. Their is also a conflict tied to additional bust frequency logic. All this is actually cased by Samsung & it's never been corrected in this kernel (it is corrected only in official CM12.1 repo). Simple reset resolve this until it happens again.
Regarding Smart max try like this:
Also go with mpdecision hot plug & use simple on demand GPU governor.
It should save some juice keep consumption under control & device cooler.
Click to expand...
Click to collapse
Thanks for your time, dude
You can also try like this to keep it more in green line frequency range even more during the light tasks, performance for the light tasks is not stellar but it's more than good enough this way.
Note: Ideal awake frequency (targeted one) for this SoC should actually be 600MHz considering power voltage and DRAM frequency dependencies but on Samsung firmware this is not fast enough so it actually produces contra effects; jumps to higher frequencies more often along with waking up additional cores so 787 is advised minimum. On the other hand peple who love & use Smart max on other light wait roms such as CM's (without of heap load Samsung bull****s) can actually try with 600MHz. Still interactive governor is possible to be tuned better.
Best regards.
Hi everyone,
Thanks for reading this . As specified above, my phone has a rather serious problem of overheating. To try and reslove the issue I tried modifying the CPU frequency, to set it low enough. And a very bizarre thing just happend.
Opening Kernel Adiutor, I saw that 4 out of my 8 cores (the 2.5 ones) were running normally. No overclock, stock settings, stock governor and so on. The issue seems to be in the other 4 (the 2.3 ones). Both the minimum and highest frequency allowed is set up to the same parameter (1556 mHz), forcing it to stay at maximum clock all the time. I tried modyfing via Kernel Adiutor the settings, lowering the minimum frequency allowed to stock one (which should be around 300 or something), but it had no effects: it immediatly comes back to 1556 and just won't come down.
All of this started happening after i removed Franco Kernel from my system, flashing another ROM (Chroma) with a different kernel altogether. I'm currently on Cataclysm ROM and after doing a clean install, formatting internal storage as well as every other partition, i couldn't resolve the issue. Moreover, Kernel Adiutor sometimes won't even show my CPU settings, stuck on an infinite loading. If anyone could help me, it would be much appreciated. It's really important. I'm by no means Android expert but i do have a rather basic understanding of ADB and so on.
Thanks a lot for your time.
-LVBNR5
I used to own a n7 and that allowed me to set min and max freq. with apps fine but i am also seeing this on my 6p, i don't notice any "overheating" although it may be due to me being used to it always running hot since i run a lot of heavier programs and also you know... SD810 but i guess it does the frequency thing as a way that frequency is actually controlled on this platform or something, because it sticks fine to the limits you set while flashing a kernel but no app can get it to stick. Then again this is just me sharing my experience with it as it is my first phone with this platform, so maybe someone who knows more about this could offer some help.
ml11ML said:
I used to own a n7 and that allowed me to set min and max freq. with apps fine but i am also seeing this on my 6p, i don't notice any "overheating" although it may be due to me being used to it always running hot since i run a lot of heavier programs and also you know... SD810 but i guess it does the frequency thing as a way that frequency is actually controlled on this platform or something, because it sticks fine to the limits you set while flashing a kernel but no app can get it to stick. Then again this is just me sharing my experience with it as it is my first phone with this platform, so maybe someone who knows more about this could offer some help.
Click to expand...
Click to collapse
Thanks anyway, i really appreciate it!