Pinterest Stumbleupon Whatsapp
Ads by Google

Do you want the best performance out of your Android device? Or maybe you want the best battery life? If you’ve already rooted your device or even installed a custom ROM What Are The Best Custom Android ROMs? What Are The Best Custom Android ROMs? The moment you realize you can flash your Android phone with a new ROM is a pivotal one. Suddenly, you're free: Endless customization options, no more vendor bloatware, and, best of all, you don't have... Read More onto it, it may be a good idea to check out the realm of custom kernels.

If you haven’t yet tried a custom ROM but are interested, you should check out this general guideline to the process How to Find and Install a Custom ROM for Your Android Device How to Find and Install a Custom ROM for Your Android Device Android is super customizable, but to fully take advantage of that, you need to flash a custom ROM. Here's how to do that. Read More .

Here I’ll show you why you might want to use a custom kernel, as well as where to find them.

About the Kernel

The kernel is the piece of software that bridges the gap between the operating system (and installed apps) and the hardware in the device. Everything you do on your device involves the kernel. Increasing the volume while playing a video? Android doesn’t directly tell the speakers to increase output. Instead, it tells the kernel that it wants to increase the volume, and the kernel talks to the speaker to increase its output.

custom_kernel_corn
But why the middle man? In very simple terms, it makes Android a lot more flexible. Google can worry about creating all of the functionality in Android, but not have to worry about how that is exactly executed on each device. Since there are so many devices that have all sorts of hardware, Google can’t worry about providing compatibility and drivers with each device. It’s the manufacturer’s job to create the kernel that has all the drivers necessary to make everything work on the device.

Customization

The kernel, in this regard, is extremely customizable. Not only does the manufacturer have to plug in the necessary drivers to get all of the hardware to work correctly, but there are a lot of variables that they need to set. They can mess with all sorts of things, such as:

Ads by Google
  • the minimum and maximum frequencies that the CPU can scale up or down to
  • how busy the CPU should be before it enables extra cores that it normally has disabled to save battery
  • the frequency the CPU should boost to whenever it detects touch input (to ensure a smoother wake up)
  • the CPU governor (which determines how quickly it tends to ramp up the frequency or not) that should be used
  • change the voltage of the CPU during all possible frequencies
  • the maximum frequency of the GPU
  • enable USB fast charge (for USB 3.0 ports)
  • configure the I/O scheduler that is used

How A Replacement Kernel Benefits You

That’s great and all, but what can a custom kernel do for you? There are many different custom kernels for virtually every Android device in existence, so you’ll have a lot of options to choose from. Depending on your needs, you can pick kernels that are optimized for performance, or ones that are optimized for power savings. Others have a good balance of both.

custom_kernel_franco
There are some developers who switch out some drivers with others (for varying reasons), or develop their own patches for problems they identify. A lot of developers also try to include upstream Linux kernel patches, or use their own toolkits for compilation. For example, for my Nexus 5, there’s one developer who uses his own toolkit, which includes the latest version of GCC, a Linaro toolchain with optimizations specifically for the CPU architecture used, and maximum optimization flags for the compiler.

Developers can even add some additional features from other kernels that don’t officially exist for your device. For example, there are some kernels for the Nexus 5 that include the “double tap to wake” feature that first appeared on the LG G2.

Most of all, a handful of kernels allow you to access the configurable variables yourself, so that you can use the code that the kernel developers release but tweak it to adjust its behavior to your liking. However, you’ll want to research some of the options available before you actually start to change values for them. In other words, a custom kernel can provide improvements, extra features, specialization, and extreme configurability.

Where To Find Android Kernels

It’s rather easy to find a kernel for your device. Assuming that you have your device rooted and a custom recovery installed What's a Custom Recovery? Exploring CWM, TWRP, and Friends What's a Custom Recovery? Exploring CWM, TWRP, and Friends If you've ever considered tinkering with your Android device, you've probably read that you need to flash a custom recovery onto it before you can do anything serious. But, that begs some questions. Read More , you can browse through the XDA-Developers forum, look in the subforum for your specific device, search through the threads for any that have a [KERNEL] tag in the thread’s title, download one that you like, and flash the .zip file via your custom recovery.

custom_kernel_xda
There may also be a sticky thread that may contain a list of popular kernels available for easy searching. Once you’ve decided on a kernel you’d like to use, just download it (it should be in a .zip file) and flash it using the custom recovery. Be sure to adhere to all instructions that the kernel developer may provide, and any of their instructions would override any of my advice.

Conclusion

Custom kernels can make your device that much better. If you happen to choose a kernel that isn’t right for you, you can always find another one and flash it to replace the currently-installed one. Once you’ve found one that’s right for you, congratulations! You’ve just made your device that much better for you.

Image Credit: CIMMYT

  1. isaiah
    December 20, 2014 at 10:46 pm

    Hello am using a custom ROM Paranoid Android and it has its own kernel how do i install a new kernel without bricking my phone(Samsung s3 gt-i9300).

  2. yo
    November 11, 2014 at 2:12 am

    suck it

  3. Don Gateley
    May 22, 2014 at 4:32 am

    @pmshah:

    For what I think you mean there are life saving backup/restore functions within recovery managers like TWRP. Problem with them is that they restore everything which undoes the custom ROM flash.

    I'd like to see a description of a utility and how to use it to save all app related information and to restore it after flashing a ROM without changing any of the system stuff (other than configuration related settings.) i.e. so that you can get your wiped device back to exactly as it was except for the new ROM and it's tweaks.

    • Joses L
      May 28, 2014 at 6:31 am

      Titanium Backup Pro should solve the problem, since you can selectively restore user apps with their data, and also stuffs like contacts and messages. But of course, it's not a guarantee that you can run them bug-free since it was on a different ROM and kernel.

      Also, no mention of unlocked bootloaders here?

  4. Don Gateley
    May 21, 2014 at 6:01 pm

    Installing most custom ROMs for the first time often (usually?) involves a wipe of your configuration, your apps and their data. Since most people don't want that a great article would be one that showed how to make a backup before and a restore after which returns the phone to the configuration, application and data state it was in before installing the new ROM.

    • pmshah
      May 22, 2014 at 3:48 am

      You are absolutely right.

      What is most urgently needed is a safe method for extracting the original system from the device so that it can be restored in the event of a problem. There are a number of sites on the net where the system image files are available for specifin devices but who is to tell how good they are. Almost all of them are country specific !

    • Danny S
      May 31, 2014 at 10:27 pm

      I think what a lot of people do is find out how to root, and then create a Nandroid backup before installing their custom ROM. That should be enough to get the original OS back.

  5. Tony Karakashian
    May 21, 2014 at 3:25 pm

    Aside from performance boosts, custom kernels can also add additional functionality. I, for example, use a few different custom filesystems, so require a kernel that supports FUSE (not all do, some ROMers cut it) or even SMB.

    • Danny S
      May 31, 2014 at 10:26 pm

      Good point! Kinda forgot to mention filesystems. :P

  6. Eric H
    May 21, 2014 at 3:02 pm

    Just one word of caution, before installing a custom kernel, make sure it is compatible not only with your phone, but with the ROM on your phone. As a matter of fact anything you do with a rooted phone should be researched thoroughly before taking any actions.

Leave a Reply

Your email address will not be published. Required fields are marked *