You may have heard about how flashing a new ROM can improve your Android experience, but flashing a new kernel is one of the best ways to improve your phone’s performance, battery life and even add some saucy new features. Whether you know anything about either, here’s what you need to know to make it happen.
Title image remixed from an original by Ildi Papp.
What Is A Kernel?
What A New Kernel Can Do For Your Phone
Flashing kernels isn’t quite as talked about as flashing ROMs, but it can do loads for your phone, namely in the way of battery life and performance — though it can also add extra features to your device, too. Here are some things to look for when choosing a new kernel.
Better Performance and Battery Life
This is the big change a new kernel can bring to your device. I’d separate these into two categories, but they’re so intertwined that you really need to consider both when picking a kernel. There are a bunch of different kernel features that contribute to this:
Voltage: Higher clock speeds use up more battery on your phone because they require more voltage. However, some ROMs come with lower voltage limits, which means your phone will run just as fast, but use up less battery. Some will even overclock and undervolt your phone, though all of this comes at the expense of stability — if you notice that your phone goes into a boot loop, or reboots at random times, you’ll want to either lower your clock speed or upgrade to a kernel with a higher voltage. Some ROMS have further sub-categories in this section, like Hybrid Adaptive Voltage Scaling (HAVS), which can be better for battery life (at the risk of stability) and Static Voltage Scaling (SVS), which keeps your phone at a steady voltage.
CPU Governors: Different kernels can support different CPU “governors”, which manage the way your phone ramps up or down its clock speeds as you use it. There are a few different kinds you’ll see, including Conservative, which focuses on battery life by ramping up your CPU very gradually when needed; Interactive, which focuses more on performance and smoothness by scaling up the CPU faster; InteractiveX, which is like Interactive but scales the CPU down when your screen is off (for better battery life); and Smartass, which is similar to Conservative but takes more factors into account when ramping up the CPU.
Task Scheduler: Kernels come with two different types of task schedulers: the Completely Fair Scheduler (CFS) and the Brain F**k Scheduler (BFS). CFS kernels are designed for regular phone use, like texting, web browsing and otherwise multitasking apps on your phone. Most stock kernels are CFS kernels. BFS kernels focus more on whatever app is in the foreground, which is great for things like games but can be a bit laggier and a bit less stable.
These are the biggest features, but kernel developers add in all kinds of other tweaks to their kernels when possible, whether its introducing a more efficient file system, making the RAM more efficient and so on. Again, they should list the tweaks in their description, so read up on the kernels for your specific device to learn more. I’d also recommend checking out XDA user mroneeyedboh’s HTC Evo 4G kernel starter guide, from which much of this information comes.
Kernels can also add full features to your phone, or fix other issues that the manufacturer hasn’t attended to yet. For example, while a lot of phones support Wi-Fi tethering out of the box, some — like the Motorola Droid — don’t. If you find your phone isn’t letting you tether using apps like Wi-Fi Tether, you might need to flash a new kernel that supports Wi-Fi tethering on your device. Kernels for Samsung phones can add support for a feature called Backlight Notification (BLN), which, coupled with an app, can turn your phone’s buttons into notification lights.
Keep an eye out for features you don’t want, too. For example, some HTC kernels come with a feature called Superior Battery Charging, or SBC, that can overcharge your battery for better life — but is likely to shorten your battery’s life at best, or make it unstable at worst. I’d avoid kernels with this feature. You should also watch out for kernels that disable certain features of your phone — since some features are manufacturer-specific, you won’t be able to get them in other ROMs or kernels. A good example of this is HDMI support on the EVO 4G.
Again, just make sure you research all the kernels available for your device, and know what you’re getting yourself into before you flash. Most phones should have a large forum thread somewhere on XDA or RootzWiki that lists all the kernels available for their device. Make sure you choose a compatible one, too — the version of Android you’re running determines what kernels you can use, so make sure you don’t flash a Sense kernel on an AOSP ROM (like CyanogenMod), and make sure you don’t flash a Froyo kernel on a Gingerbread phone — they won’t play nicely together.
How To Flash A New Kernel
The main difference between flashing a ROM and flashing a kernel is that you do not want to wipe your data. Wipe the Dalvik Cache only, and back up your ROM if desired (I highly recommend doing so, in case something goes wrong). Other than that, you should be golden. If you haven’t flashed a ROM before, I recommend reading up on that first — but if you’re familiar with that process, flashing a kernel shouldn’t be a big shock to the system.
Flashing a new kernel can sound pretty dramatic, but it’s actually quite simple — and it’s very easy to try out a bunch of different kernels before settling on one. Whether your preference is battery life, performance, or extra features like colour tinting, you have a whole lot of choices to further tweak your Android experience. Got any other kernel-related wisdom to share, or have a favourite kernel for your device that you can’t live without? Let’s talk about it in the comments.