If you want to switch to a custom kernel on the Pixel or the Pixel XL, then you can follow these steps to install one of the many popular options from XDA.
The idea of what a custom kernel and a custom ROM can do on our smartphones can be quite confusing. I have previously explained how to install a custom ROM on the Pixel phones, and today I want to take it further and show you how to install a custom kernel on one. My go to comparison is to say that a custom ROM is like a car, while a custom kernel is more like the driver.
Cars/ROMs give us the features and the style, but the person driving/kernel interacts with the hardware.
This is why a custom kernel can have such a dramatic impact on both performance as well as the battery life of our phones. A custom kernel can be optimized for either performance or battery life, or they have the option to be a hybrid of the two. This guide has taken longer than normal because community developer support for the Pixel and Pixel XL has been slow thanks to the new changes Google has done with their phones. Even with this guide, there are multiple ways of installing a custom kernel so I’ll be doing my best to explain both of them.
To get the basic method of installing a custom kernel out of the way, I’ll explain that here. If the custom kernel is in a .ZIP file format, then you can download it to your phone, boot into TWRP, tap on the Install button, select the custom kernel .ZIP file and install it from here. For a kernel like Franco kernel, it’s not available in a .ZIP file format (at the time of writing this) so you’ll have to follow the steps down below to install it that way.
Installing a Custom Kernel on the Pixel
- Have the proper USB drivers installed
- Install Minimal ADB & Fastboot Tools
- Double click on Minimal ADB & Fastboot desktop shortcut
- Type the following command into the Command Prompt. . .
- adb devices
- . . .then press the Enter button on the keyboard
- Download your custom kernel of choice from XDA (Pixel – Pixel XL)
- Move or copy the custom kernel to the ADB & Fastboot directory
- Boot the Pixel phone into Fastboot Mode
- Type the following command into the Command Prompt. . .
- fastboot flash kernel [kernel filename]
- . . .and then press Enter on the keyboard
- Press the Volume Down button on the Pixel phone until the Start option is highlighted
- Then press the Power button to boot the Pixel phone back into Android
Explanation
I really hate throwing this guide together since there isn’t a single way of installing a custom kernel on the Pixel or the Pixel XL right now. So again, if you’re installing something like ElementalX and it downloads to a .ZIP file, then follow the steps detailed right above the guide here. This requires you have the Pixel bootloader unlocked, and that you have TWRP installed on the Pixel phone as well. It’s very easy to do as you just need to tap on the Install button and go through the process of installing a regular .ZIP file within TWRP.
Franco kernel does not download to a .ZIP file right now so we have to follow the step by step guide detailed above. So to do that, you’ll need to have the proper USB drivers installed, you’ll need to have Minimal ADB and Fastboot tools installed as well. You’ll then want to start the ADB service with the ADB Devices command, and then you can start looking for a custom kernel you want to install. This is purely a choice of preference as each kernel is optimized for different things.
I have found ElementalX to be great at performance, but poor when it comes to battery life. While I’ve found Franco Kernel to be great at battery life and average when it comes to performance. This is really a trial and error thing as you’ll find different custom kernels benefit you differently since you use your phone in a unique way. You may find ElementalX to be great with battery life because of the way you use your phone compared to me. So experiment and find out what works best for you.
It’s advised to not install one custom kernel on top of another. So it’s best for you to create a Nandroid backup within TWRP before you install any of these. This will be helpful for you to switch back to the stock kernel so that you can switch to another. It’s also great in case you download the wrong version of a custom kernel. For example, Franco Kernel and ElementalX have versions for 7.1 and 7.1.1. So if you download the 7.1 version but you’re running 7.1.1, then you’ll need to restore from a Nandroid backup to get things working again.
Once you’re up and running with a custom kernel on your phone, you then have the option to download the companion application for your specific kernel, or to grab a free and generic one. There are companion applications made specifically for Franco and ElementalX kernels and they’ll give you the ability to adjust specific features that are not possible with a generic application. However, these cost money so feel free to use something like Kernel Adiutor if you want a good, free option.