Related
I purchased Tegrak Ultimate, and I have SetCPU as well. Right now I am running Calkulin's ROM with Stock EL29 kernel. Trying to figure out Tegrak, but I'm not so savvey with knowing voltages and stuff like that.
I can OC up to 1.47ghz with Tegrak's presets, but I wanted to try and get it up to 1.6ghz OC. I know you have to adjust the voltages, but I can't figure out what I need to do to make it stable, the phone just freezes everytime I try and figure it out. Can anyone give me some knowledge?
It all depends on the kernel you're running. Tegrak is for stock kernels, while SetCPU is for custom kernels. Tegrak allows you to slightly overclock the stock kernel, as well as adjust voltages and change your governor. As you've found, the highest you can go with Tegrak is 1.462 (if I recall correctly). If you want to go higher, you will need to run a custom kernel, such as Steady Hawkin's Team Rogue offerings (like "Gunslinger" or "Hitman"), and use SetCPU. On Calkulin's ROM, having SetCPU installed will disable his battery saving script, which underclocks the CPU at certain battery levels so keep that in mind. I doubt that will matter to you though as you're interested in overclocking not underclocking.
For voltages, I tend to boost the top two CPU steps by 25mv then test for stability. If I have issues then I boost by another 25mv and so on until it's stable (assuming I can get it stable). I'm not big on overclocking this phone though, as I really find no reason to do so. In fact I underclock the top end to 1000mhz and everything I do on the phone still flies.
Honestly though, I don't find Tegrak all that great for overclocking. It's nice for underclocking and changing your governor on a stock GS2 kernel, but not so much for overclocking. That's just me though. Others may find it suits them just fine.
I find that Tegrak is great for undervolting the stock kernel. It allows you to undervolt both internal and core voltages as well as undervolt the GPU and adjust scheduler and governors. If you interested in staying at the stock clock speed and undervolting then Tegrak paired with the stock rogue repack kernel is the way to go.
If you are wanting to overclock and undervolt then programs like setcpu, voltage control, or pimp my CPU paired with the Gunslinger or Whitman kernel are the way to go. As for the programs they all do about the same thing. The only real difference is voltage control uses a script to load you clock/voltage settings and the others have to load at startup and run. So its all preferences. Also both pimp my CPU and setcpu are available for free on xda under the apps section of android development.
I am also running "Gunslinger", I use Tegrak Ultimate to fine tune my o/c after I load the "Overclock Module" and can go about 1.67 at 1.475v before all hell breaks loose if I go higher on o/c or votage. I also use Tegrak to o/c my GPU I have that running at 400mhz at 1100mv. Now I use System Tuner Pro, for freezing apps you can also set votage it also has more tweaks then Tegrak and will show o/c on what ever Tegrak is set at, but System Pro does not have GPU o/c, so I use each other Tegrak/System Pro to really fine tune the GS2 and get the most out of it, if you know what I mean.
http://forum.xda-developers.com/showpost.php?p=14973796&postcount=531
Here is a good ballpark guide when using Tegrak.
Hi,
Sorry if this has been posted before but I can't find an answer to this question
I am currently running AOKP and trinity kernel, 1344mhz (cpu) and 499mhz (gpu). After installing the kernel, I manually went into ROM control, and increased the CPU to 1344mhz - set on boot. That was the CPU overclocked
However, I can't figure out how to overclock the GPU? I have run a benchmark, and it seems to still be at stock, and not 499mhz - how do I set it to the 499mhz that the kernel allows?
Thanks
3473 said:
Hi,
Sorry if this has been posted before but I can't find an answer to this question
I am currently running AOKP and trinity kernel, 1344mhz (cpu) and 499mhz (gpu). After installing the kernel, I manually went into ROM control, and increased the CPU to 1344mhz - set on boot. That was the CPU overclocked
However, I can't figure out how to overclock the GPU? I have run a benchmark, and it seems to still be at stock, and not 499mhz - how do I set it to the 499mhz that the kernel allows?
Thanks
Click to expand...
Click to collapse
There is a command that you can run from terminal on your phone but I can't think of it right now. Also, a bit of searching seems that there is an app. I haven't tested to see if it works, but it says it OCs the CPU AND GPU. Look for Overclocking(GPU + CPU) in google.
pastert33 said:
There is a command that you can run from terminal on your phone but I can't think of it right now. Also, a bit of searching seems that there is an app. I haven't tested to see if it works, but it says it OCs the CPU AND GPU. Look for Overclocking(GPU + CPU) in google.
Click to expand...
Click to collapse
That one apparently doesn't work.. have also tried Antutu CPU Master pro but it doesn't support GPU overclocking on the Galaxy Nexus...
Afaik, gpu oc is only available, if built-in the kernel. Userland controlled gpu oc must be supported by the kernel first, thats probably why antutu pro master or any other app still can't do it.
sent from my i9250
I'm quite happy with the stock ROM. Is it possible to overclock it? Do I just need to install a overclockable kernel? Will I lose any functionality due to bugs/etc? What's the most reliable kernel for O/C?
Thanks,
Nick
It is possible to OC it only via a custom kernel.............so i recommend that you try the Dust kernel by einstein.frat
Yea he's right. what you need is only being rooted and recovery for flashing kernel..and of course a program which controls your cpu such as setcpu..
i recommend you kernel that cm7 used with last update. it supports 864mhz even and with no stuck( and battery drain )if you search for it on xda i am sure you will find..
valerosso said:
Yea he's right. what you need is only being rooted and recovery for flashing kernel..and of course a program which controls your cpu such as setcpu..
i recommend you kernel that cm7 used with last update. it supports 864mhz even and with no stuck( and battery drain )if you search for it on xda i am sure you will find..
Click to expand...
Click to collapse
In any way......DO NOT use the CM7 kernel...........an AOSP kernel is a bit different from the Stock(sense) one.................................it won't work
Thanks all. It looks like I'll give the dust kernel a try.
Are there preset CPU MHz settings for overclocking or is any integer value allowable? Most of the overclocking threads talk about 768Mhz, 806Mhz. My guess it's probably constrained by some clock multiplier factor.
oww i am happy to learn that
Plzzz reply which wills sbe the best overclock kernel for stock miui 12
Ok guys i have got permission to bring over lean kernel and offer support for it on xda. I will keep this post up todate with all the most recent kernel updates and news. All credit goes to imoseyon as the original op and rootzwiki for original posting. I am posting this with full permission and support from imoseyon
Mod Type:: Kernel
Difficulty:: Very Easy
Mod Status:: Stable
Apply In:: CWM Recovery
Requires Root:: Yes
Exp builds are also up and includes a bunch of Android/OMAP updates not in stable.
SOURCE:
ICS
JB
This is a minimalistic Galaxy Nexus kernel. My philosophy is to keep the kernel as lean and stable as possible, at the same time to keep the kernel as modern and close to latest mainstream linux as possible. You will see that my kernels will lack some of the bells and whistles from other kernels.
sorry host4droid is still down. Mirrors:
kk4.4 LK 9.0 beta (use at ur own risk)
JB4.3 [ stable builds | exp builds ] [ change log | exp changes ]
JB4.2:Stable
Stock JRN84D kernel
Terminal Emulator not finding scripts? Read this post.
CHANGE LOG JB 4.2
FEATURES
Patched to latest in Linux 3.0.x branch.
All unnecessary kernel components removed to make kernel lean and fast!
OC to 1.65ghz. Boot speed is maxed at 1.2ghz within kernel (in addition to ramdisk) for stability.
User voltage control
InteractiveX V2 (screen-off hotplug of cpu1) added. Select it using setcpu if you want to use it.
Ramdisk tweaks (sysctl, vm, filesystem speed, etc.)
SWAP & zram (next generation compcache) support. Run "zram enable" in terminal.
init.d support in ramdisk.
lk.conf for basic kernel configuration.
HotplugX governor (Hotplug optimized and modified for screen-off suspend).
wakelock tweaks for wlan and lte modem
lkflash - script to flash latest versions of leanKernel from Terminal (type "su" without quotes, hit enter, then type "lkflash" without quotes and then hit enter)
checkv - voltage checking script (for custom undervolting) - detailed at bottom of this post.
checkt - script that displays 1) your current temp, 2) # of times you were throttled due to temp "recently", 3) CPU trim type, and 4) CPU silicon type, etc.
Fast USB charge (by chad0982) and "ffc" toggle script by me. (Open terminal, and type "ffc" without quotes then enter)
ColorControl from both CM9 and Ezekeel (compatible with all ROMs). Helpful posts: 1and 2.
TempControl - sysfs interface to control the CPU temp threshold. Read these two posts: 1 and 2.
Variable GPU OC - sysfs interface to select GPU max speed between 307MHz (stock), 384MHz and 512Mhz. The changes take effect immediately. Check FAQ for more info and how to use it.
Custom SR Tuning - override kernel default minimum voltage for SR calibration.
SoundControl
Gamma Control
ROW scheduler v4
DIRECTIONS
Uh.... flash the zip in clockworkmod.
Thanks to forum member maddler for providing file hosting
FAQ
How do i change voltage? - Use the latest version of setcpu, leantweaks, cputuner, or your ROM's built-in tools.
Do i need to wipe dalvik/cache? - in general there's no need, but it doesn't hurt so if you have time go ahead. Posted Image I don't wipe.
Can we OC higher or add more frequency slots? - You can find the extra slots in my experimental versions.
Will this work on GSM gnexus as well? - It should. I don't have a GSM phone to test so let me know if it stops working.
What is interactiveX V2? Read this post and thttp://rootzwiki.com/topic/13092-kernel-leankernel-minimalistic-kernel-120-123111/page__view__findpost__p__342571
Are you getting Screen-Off/Sleep-Of Death (SOD), general instability, or unusual battery drain?
Before you post here (especially if you're running the experimental version), try the following steps in order:
0) dude, disable screen-off profiles if you're running interactiveX.
1) If you're running the experimental version, do you have 180mhz/230mhz and/or 1.42ghz slots enabled? If so disable them both!
2) If the above doesn't help, do you have custom undervolting enabled? If so disable it! (keep in mind that the kernel is already undervolted by default).
3) If the above doesn't help, are you using interactiveX or hotplug governors? If so change to interactive.
4) If the above doesn't help then you should not be running the experimental version. Install the stable version and try both interactiveX and interactive without custom undervolting.
If you're still getting SOD with stable/interactive, report it here.
What about call-recording? - First the app needs to support Galaxy Nexus. Find out if it does and then find out from the author of the app what kernel changes are required and let me know.
Should i set up screen-off profile? - ICS kernels have built-in screen-off profile for all governors at 700mhz. So you don't need it unless you want to set it lower than 700mhz. In general there isn't a whole lot to gain by setting it lower.
Hotplug vs interactiveX? - Read this post. HotplugX vs interactiveX
What is zram and why do i need it?
zram basically takes a portion of your RAM (10% using my script) and turns it into a compressed swap device. So in layman's terms you're extending the size of your memory (potentially from ~700mb to close to 1000mb depending on the compression ratio).
To answer the 2nd question, no you don't really need it but if used properly (using custom LK zram script) it could help you in two different ways:
1) Android OS is based on Linux OS and the OS will try to use a growing portion of your RAM for file and inode caches and if you keep your phone up without rebooting after a while you may notice things getting a little sluggish. That's because the OS is not doing a good job in dropping the caches and freeing up memory for the apps.
2) more RAM and tweaked minfree (also handled by custom LK script) could potentially allow your apps to stay in memory longer (this may or may not be desirable based on your preference of course).
In conclusion, I'd say if you're curious it doesn't hurt to try. To revert, just type "zram disable".
What's the low-down on the GPU OC?
My kernel's GPU is now set to stock 307Mhz by default. You can adjust that by using Variable GPU OC (see a separate FAQ entry below).
When you go from say 307 to 512Mhz, you will not experience near double performance increase. Due to the factors outside the GPU module (ie. memory bandwidth limitation), you can't truly OC the GPU. In fact, most people can't tell the difference between 307, 384 and 512. Nenamark2 will roughly give you the following scores: 307/25fps, 384/28fps, and 512/31fps.
Some of you have seen the note from Colin, the Google kernel engineer, not to OC the GPU because using the OV_UV voltage slot will drain the battery. My kernel uses the same voltage for both OV and OV_UV slots. So there's no danger of battery drain there.
Why are the IO benchmark test scores lower than another kernel?
Some of the kernels out there have fsync disabled to increase benchmark scores. I believe that is unsafe and could cause data corruption. I do have hooks in my kernel to disable it but I don't use it.
In real world there will not be any user perceivable difference whether you have fsync enabled or disabled.
Is there a way to tune hotplug via sysfs?
yes. Advanced users only!
My phone doesn't seem to be deep-sleeping, what gives?
(assuming you checked in the right place like cpuspy) In terms of deep-sleep, there's not a whole lot going on in the kernel. It works or it doesn't - and I can assure you that I test every release (well almost every release) for deep-sleep before I release.
19 out of 20 times it's either 1) some sort of background process that's preventing your phone from going into deepsleep, or 2) something's misconfigured in your ROM, or both. Also connecting to USB will prevent phone from going into deepsleep.
I'm having unusual battery drain - help!
First of all, our gnex has very poor battery life while in active use. It's downright horrible while screen is on - screen is definitely the main culprit and there's not a whole lot I can do about that.
Custom undervolting can help or can hurt. This is mainly due to SmartReflex (class1.5) which auto-calibrates the ideal voltages for you. In fact, with SR you don't really need to use the custom undervolting feature for frequencies other than the 2 lowest. It does a great job calibrating higher frequencies. I personally don't touch it.
The "notrim" versions are an exception because I had to disable SR1.5 for the trim override to work. There's no auto-calibration going on there. Feel free to mess with custom undervolting on the notrim versions.
Now, if you've already accepted the horrible battery life while screen is on, but have questions about battery drain while idle - read the next question.
I'm having unusual battery drain while screen is off, or phone is sleeping - help!
First, let's find out if you're phone is going into deep-sleep. Install CPUSpy, unplug phone, turn off screen, and leave the phone alone for 5-10min. Turn the screen back on, launch CPUSpy, and see if you see an active entry for Deep Sleep. If so congratulations - read on.
If you've determined that your phone is not entering deepsleep by using the above method, read my entry above that says "My phone doesn't seem to be deep-sleeping". I've heard that removing SDM.apk helps as well as rebooting the phone. Also try turning your bluetooth on and off, and launching camera app and closing it.
If you've determined that your phone is entering deepsleep fine but still feel like battery drains, read the next question.
I'm having unusual battery drain while phone is in deep-sleep - help!
First make sure you are absolutely positive that deep sleep is working (read the previous question).
While on my kernel *and* connected to Wifi, you shouldn't drain more than 1% battery per hour *average* while in deep sleep (based on 5-8 hour continuous deep sleep). With wifi turned-off, my guess is probably no more than 1-3% per hour, depending on signal strength.
tip 1: If above is not happening for you, first charge the phone all the way and reboot. Let things settle a bit - give it a day or so. If you're using Battery Monitor Widget (which is not accurate for gnex), things should eventually settle between -2mA and -60mA per sample.
tip 2: Install BetterBatteryStats and look at which wakelocks dominate. Google search for names of the wakelocks to see how you can fix them.
tip 3: http://checkthis.com/d87t
If nothing seems to help, you can try the "notrim" version, but stick to speeds between 350 and 1350 (don't use OC slots). The notrim version has SR1.5 disabled which could help for those of you with drain issues on my other kernels.
What is tempcontrol and how do I use it?
First, read these two posts: 1 and 2.
Although tempcontrol was designed to be used with the experimental notrim builds because the cpu gets hotter in notrim frequencies, you can actually use tempcontrol to throttle lower frequencies. I haven't tried myself, but theoretically you can set your top speed at say 1.2Ghz and use tempcontrol to throttle at say 60C (instead of the stock value of 63C) resulting in slightly cooler phone. Theoretically.
What is SmartReflex?
SmartReflex performs continuous dynamic voltage scaling around the nominal operating point voltage according to silicon characteristics and operating conditions.
My stable and experimental builds will have SR Class 1.5 enabled by default.
You can disable SR via sysfs
How do I use Variable GPU OC?
You can use Lean Tweaks by Jake, or use the built-in "oc" script. Both leantweaks and my oc script will create an init.d script so the setting sticks at boot. My "checkt" script will also show the current GPU max speed. Note that 512MHz will probably not work for everyone.
307Mhz (stock) is set default by the kernel.
Open Terminal, and type for stock speed of 307Mhz: oc gpu 0
for 384MHz: oc gpu 1
for 512Mhz: oc gpu 2
What are the available sysfs options?
Check this post (thx byrong)
Which governor should I use on JB?
As usual I'd recommend trying all the governors and see which one works best for you. Stock JB, however, is optimized for interactive. The OS will automatically modify various interactive governor parameters on the fly while you're using the phone as part of "project butter". Namely, the following parameters are constantly adjusted by the OS: boostpulse, timer_rate, min_sample_time, hispeed_freq, go_hispeed_load, and above_hispeed_delay.
I hope this helps people if there is any other information you might want added just ask and i will do my best to come up with a comprehensive guide.
Donate to your favorite charity, or donate to imoseyon.
Did you ask Imoseyon before you posted this?
Thanks for bringing the thread over to XDA. Hopefully you got the necessary permissions, for the sake a peaceful thread. Its good to have most developments of the GNEX here and I finger tip away.
Sent from my Galaxy Nexus using xda premium
I've heard a lot about this kernel!
yes this is with his permisson
ajf64 said:
No i didn't ask him but i did put all due credits in it and it is in every other gnex forum but the sprint one all brought over by other people so if he has a problem with this he can feel free to pm me and i will get it removed i just figured it give us some easier access to his great kernel. In no way am i claiming this to be my work all support should be directed at the original thread op. I was just trying to make access to his kernel a bit easier for all xda users
Click to expand...
Click to collapse
That's all hunky dory but just doing things without asking the developer is just not right. Regardless if he has an issue or not. Its like you make something you work diligently on and then somebody just posts it somewhere else.
I dunno maybe its just me but its just common courtesy.
Sent From My Toro+ via SkyBlue Tapatalk
Thanks op.
#inb4close
#ReOpened
Sent from my Galaxy Nexus using Tapatalk 2
all fixed
ajf64 said:
well then sorry for posting it will a mod please delete this thread before it becomes a flame pit
Click to expand...
Click to collapse
Doesnt need to be deleted.. if just ask him if its alright.. thats fine enough
ÜBER™ said:
Doesnt need to be deleted.. if just ask him if its alright.. thats fine enough
Click to expand...
Click to collapse
Why do you always ruin the flaming? With your...good nature...and your rap music.
Thanks for linking. You can still ask dev for permission but I get what you're trying to do. I prefer xda since this is where I have gotten help with every phone since my nexus 1.
Sent from my Galaxy Nexus using XDA Premium HD app
Well i have gotten permission to post this from imoseyon and to keep this thread updated on xda sprint forums for him so it looks like we are all set he got back to me alot faster then i thought he would so every thing should be all good guys
and yes jayare313 i am so used to finding every thing i need on xda some times it s a pain having to check 3 or 4 sites to see if any of your mods for your rom are updated
Sorry. 3 issues here:
1) I need to verify permission from the developer and he needs to verify that he is going to support it here. If someone downloads it, flashes it, and somethings wrong.......who is going to give answers and support it? We have an active community who can help, sure, but the developer has to actively support it here. If he were ready to give support here, he would have posted it here already. And even then it would have to go in general unless he started the thread.
2) There is no source provided in the OP. Kernels must be GPL compliant and listed in the OP.
3) If you did not create it, do not post it in the development section.
Alrighty. Everything should be good now. I'll be keeping an eye out.
OP will be updated soon, with source and I've spoken to the developer.
Thank you guys.
---Jay--- From the GNex
Well, I will say I like having this thread here. So thanks to the op.
Sent from my Galaxy Nexus using Tapatalk 2
I will be updating the thread when i get home today and be offering any support you guys may need for this kernel
MichaelMcEntire said:
Well, I will say I like having this thread here. So thanks to the op.
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
I totally agree. Thanks to OP for the thread and imoseyon for the kernel
Sent from my Galaxy Nexus using xda premium
Np guys any time and if there is any thing i can help with just ask i plan to provide full support for this kernel. Also if there are things you wish to have added feel free to post them as well i have permission to compile my own versions of lean kernel with cherry picked features from his repository and to add features to it. I look forward to your feedback.
is 4.2 jb cm10 compatible
twoeleven99 said:
is 4.2 jb cm10 compatible
Click to expand...
Click to collapse
Yes
Sent from my Galaxy Nexus using xda app-developers app
I was searching for info about MPDecision and stumbled upon this..it's a very good read specially for beginner and those that want to know more about kernel specifics and how they work..this was written back in 2012:
---What IS a kernel?---
The ELI5 answer: "An analogy: the Kernel is like the Engine, Electrical system and the Transmission to a car. The Library, Framework and the Apps [AKA ROM] are the body frame and the rest of the Car." - faux123
In other words, the kernel is the software that controls the hardware at a very low level.
---The Stock Kernel---
The "stock" kernel is the kernel that comes with your Nexus 4 out of the box. It's compiled directly from Google's kernel source code and shipped on your device with zero modifications. A custom kernel, on the other hand, compiles the stock kernel source and adds various modifications to that code.
What are those modifications that kernel devs employ?
To understand what they mean, you need to understand the features of the stock kernel first!
What are the stock kernel parameters?
CPU min frequency: 384 MHz
CPU max frequency: 1512 MHz
Governor: Ondemand
I/O Scheduler: CFQ
What does each parameter represent?
CPU frequency: you can simply think of this as the "speed" the CPU is running at
Governor: regulates the CPU frequency based on many different parameters such as load and time-in-state. Here is an excellent list of many of the most common CPU governors and how each works. Note that you will only see a couple of the CPU governors on this list in whatever kernel you use. Ondemand and Interactive are by far the most widely used, and are the ones you should look at.
I/O Scheduler: handles how the system makes disk access; Please refer to the previous linked thread and scroll down to the 4th post for a detailed list.
What else do you need to know?
--PowerHAL--
PowerHAL is what makes Project Butter. The powerHAL is a ROM component that tells the kernel to BOOST the CPU frequency to higher values in response to UI inputs. The higher CPU frequencies can better respond to UI demands so the overall experience is smoother than without. - faux123
--mpdecision--
All Qualcomm based phones have Qualcomm prorprietary userspace binary called "mpdecision" aka m(ake)p(oor)decision. Instead of letting the kernel itself to decide what frequencies and how many cores to run, this "mpdecsion" binary polls the kernel run queue statistics and decides for the whole system the "optimal" frequency and the "optimal" number of cores to use. The concept is fine, except the decision making is done in userspace and it's 100% closed source so there's no way to tweak it and there's a latency (because all userspace binaries needs to "poll" the kernel for the latest information which is slightly delayed). - faux123
ELI5: mpdecision is a proprietary Qualcomm daemon that makes calls to the SoC (the entire chip your phone uses) to manage the cores. The OS (PowerHAL) makes a request to mpdecision and then mpdecision makes a request to the first two cores to ramp them up. - _motley
Why do kernel devs mess with these?
In practice, the PowerHAL ramping up trick successfully got rid of a lot of the UI lag since Android 4.1. However, this comes at the cost of battery life (and heat generation!) The reason for this is because the system ramps up its CPU on every touch input, rather than waiting for the kernel to calculate the load and ramp up accordingly. On the Nexus 4, when the PowerHAL makes a call to mpdecision it locks the minimum CPU to 1026 MHz upon touch input for the first two cores. While this DOES give you the buttery-smoothness you would expect, it's a bit overly aggressive. This is part of the reason why stock kernel tends to heat up your phone when you play around with it a lot.
---Custom Kernels---
What changes should I look out for?
--mpdecision--
Many kernel devs don't like Qualcomm's implementation, so they work around or get rid of it. Franco, Faux, Bricked, Matr1x, Motley, and Trinity have gotten rid of it/used their own implementations. Harsh and IntersectRaven's leave it intact. Every kernel dev implements things in their own way, and the only way to tell which is better for you is to try each one. This is by far the biggest change any kernel dev can make, as it completely alters how the system handles hotplugging and CPU scaling. In general, you'll find kernels without mpdecision running cooler, with greater battery life, but with a little more lag (made up for by other tweaks).
--thermald--
A binary that controls how to throttle your CPU based on CPU and battery temperatures. You can find the config file in /system/etc/thermald.conf. Stock configs lead to aggressive thermal throttling (battery temp. at 36 degrees C for example, which is easily achieved). You can look into the file and see the various thresholds and actions that the system takes to lower the temperature of the CPU and battery, but it isn't really necessary. Just know that some kernel devs may have changed this in order to allow your phone to run at higher frequencies for an extended period of time, or to further make your phone run cooler.
--Underclocking--
Quite straightforward, by limiting the max frequency your CPU can use, you use less power (higher frequency results in more power dissipated by the CPU).
P = C(V^2)f where C is capacitance, V is the voltage, and f is the current frequency
..gives you an idea of how underclocking (and undervolting) uses less power.
--Undervolting--
This is all the rage today, with many users trying to get as low as possible stable voltage. It's arguable how much undervolting saves battery life, but there's no doubt it reduces heat dissipated from the CPU (see: the above formula). Your CPU is located on the top half of your phone, which is likely where you've felt the heat before. How much your chip can successfully undervolt depends on what type of binned CPU you have. If you want to undervolt, I recommend checking if the voltages you set are stable by running the StabilityTest app and doing the Scaling Stability Test. The frequencies' voltages definitely don't scale linearly, so don't assume that doing global undervolts will be the best you can do. You'll have to apply voltages one by one if you truly want the lowest your chip can possible handle.
--Overclocking/overvolting--
Bricked, Trinity, and Motley's kernel implement this, because it CAN be dangerous. Overclocking usually requires overvolting the processor (so the overclock is stable) but overvolting carries with it the risk of bricking your phone by frying the CPU. Know that doing this has some risks before you try it. Some kernels like Matr1x and Faux's also allow for the GPU to be overclocked if games run a little slowly for you.
--Hotplugging--
Hotplugging is where the individual cores on your phone switch on/off depending on the load on the CPU. The advantage of hotplugging is a reduction in power used because the cores will only turn on when needed. Kernels that use the auto_hotplug binary by Thalamus (that would be Matr1x, Motley, Trinity, Bricked at the moment) allow you to fine tune the enabling and disabling thresholds. These parameters are generally for advanced users only as they require you to write scripts to control them.
--Color Control--
Gives you the ability to change color multipliers and gamma settings to calibrate your display. If you feel your display is too yellow, or you miss the previous feel of your previous phone, then you can mess around with this to get better color reproduction. You can find some user examples here to give you a good idea of what can be done. Gamma control currently requires either Faux's control app or for certain kernels you can use scripts to control them.
--Wakelock reduction--
Some kernels have reduced the msm_hsic_host wakelock duration so your phone enters deep sleep more often. How much improvement this makes is debatable, and whether or not this wakelock is even an issue is also debatable.
--Kernel modules--
Some kernels make modifications to the low-level drivers that interact with the components of your phone. An explanation of what is commonly touched can be found here. You don't really have to worry about this, just know that something is being improved when a kernel dev mentions it.
---Installing a Custom Kernel---
Just flash the zip in your recovery of choice. No need for wiping cache or anything. However, one thing to note that might save you some headache in the future is: what exactly are you flashing? When you flash a kernel, you are not just flashing the kernel, you are writing to the entire boot partition. The boot partition is made up of the kernel AND the ramdisk (the ramdisk is an image that the kernel mounts read-only at boot, it is basically used by the kernel to mount the rest of the system images). Some kernel devs pack their own ramdisk into their boot.img that you are flashing, so when you try to flash a DIFFERENT kernel, you end up in a bootloop. (An example: flash Franco kernel --> flash Faux kernel on top = bootloop.) To solve this you need to reset the ramdisk by flashing a stock reset kernel with the stock ramdisk.
Click to expand...
Click to collapse
all content taken from [URL="http://www.reddit.com/r/nexus4/related/158t1i/custom_kernels_a_guide_on_what_you_need_to_know/"]a reddit post i found which was originally written [/URL]by reddit user IAmAN00bie