
I have been using Nexus 6 ever since I decided to switch to Google Fi and the only phone compatible with Fi service at that time was Nexus 6. I have always complained about the phone’s performance but didn’t have enough incentive to either fix it or replace it. Lately, I have been thinking about replacing my phone with a newer model but after putting in some time looking at other options, I eventually came to the conclusion that it would be a waste, and decided to see if I could improve it.
Motorola Nexus 6, one of Google’s flagship phones, always had very respectable specs but at the same time has been dreadfully laggy. A lot of people think performance issues with Nexus 6 are due to the forced filesystem encryption. As far as I understand, the phone doesn’t have any dedicated hardware for encryption doesn’t utilize the hardware encryption available in Snapdragon 805 and tries to achieve it via software, which degrades read and write performance greatly. That means if I turn off encryption that should help with the overall performance of the phone.
To turn off encryption, one needs to install a custom boot image and reset the phone, so filesystem is mounted without encryption. It is possible to get the stock boot image, extract the files, edit the fstab file and remove encryption setting, re-package the image and install that, but fine people have already done that task and no-force encryption boot images are available for download.
Below, I will describe how to turn off forced encryption on Nexus 6 phones.
- First, USB debugging and OEM unlocking needs to be turned on. To do this, go to Settings, About phone, scroll down to Build number and keep hitting Build number until a counter is displayed counting down the clicks need to turn on Developer options. Now Developer options should be available under Settings where you can turn on USB debugging and OEM unlocking. While doing this, also make a note of the build number you are currently using (e.g., MOB31K).
- Download and install Android Developer Tools. You will only need the adb and fastboot tools, which are in the platform-build directory in my installation. I won’t go into detail about how to install these tools.
- Power off the Nexus 6 and then restart it in fastboot mode by pressing Power and Volume Down buttons.
- Download a no force encryption boot image for your build number from here.
- Run the following commands on your computer to upload the boot image, erase user data and reboot the phone.
./fastboot flash boot boot-mob31k-noencrypt.img
./fastboot format userdata
./fastboot reboot - Nexus 6 should restart and run without encryption.
OTA Updates
Nexus 6 will run fine without encryption but you cannot apply updates once the phone is reset with the above method. You can turn off auto updates and update notifications from Google Play settings but there is also a way to apply OTA updates without having to reset the phone every time.
Here are the steps to update a Nexus 6 with OTA updates after it has been reset with a no force encryption boot image.
- Download the OTA update file from Google
- Download a no force encryption boot image for the build number you are going to update to from here.
- Extract stock boot.img from the OTA file
unzip shamu-ota-nbd91u-344a7338.zip boot.img
- Power off the Nexus 6 and then restart it in fastboot mode by pressing Power and Volume Down buttons.
- Upload stock boot image
./fastboot flash boot boot.img
- Without restarting go to Recovery mode by selecting the option with up or down volume buttons and pressing the power button.
Note 1: If you get a “No Command” screen, press and hold the power button for 3-5 seconds and press volume up button.
Note 2: If you restart the phone by mistake, go back to fastboot mode and upload no force encryption boot image for your current build number (not the OTA build number) and restart the phone, then go back to step 1. - Once in Recovery mode select the option for “Apply update from adb on phone”
- Upload OTA file
./adb sideload shamu-ota-nbd91u-344a7338.zip
- Select “Reboot to Bootloader”
- Upload no force encryption boot image for the OTA build number and reboot the phone.
./fastboot flash boot boot-nbd91u-noencrypt.img
./fastboot reboot - The phone should reboot and apply the new OTA updates.