[OnePlus 6 Guides, News, & Discussion] DJsushi123:
So, I was struggling with my battery life on my OnePlus 6 since I bought it. And yes, I have been told numerous times that you will get the best battery life using Stock OOS, but I just didn't find this true. My battery drain with my screen on was about 20%/hour and my idle battery drain (when the screen is off) was 3-5% per hour. I also checked the wakelocks using BBS but there were none.

The reason why I am making this guide is to help others that are struggling with even the most basic things (like flashing a ROM to both slots) and to help them achieve better battery life and performance (the performance seems to be about the same, maybe a little bit better, but the battery life is far better).

Now, I am getting a drain of around 11%/hour with medium brightness (50%) and an idle drain of around 0.5-0.8%/hour (I have very poor cell tower signal here). I am providing a screenshot as proof.

I will also be going through all the mods that I installed (not only for the battery life, but also for other things like stereo sound).

DISCLAIMER: I am not an expert at anything I am writing here. The pure reason why this guide exists is to help people who are struggling like I was. There may be some incorrect information is this article because of my wrong understanding of some topics. Also, English is not my native language so expect some grammar mistakes.

--- THE GUIDE ---

Step 1: Backup

The first step is to completely backup all your files and apps because you will have to wipe the entire storage in the process. I found this guide to be very helpful.

Step 2: Install fastboot OOS

I am not sure if this step is necessary but I did it so if you want to follow all the steps that I did, you should do this one, too. There is a developer named maurofronio and he compiles automatic Stock OOS installers for your PC. Their usage is very simple and it can unbrick pretty much any bricked OP6. Here is the thread. The ROM I'll be using is Evolution X version 4.1.69 (the latest version to this date) and this ROM requires you to flash OOS Open Beta 5 BEFORE you flash the Evolution X ROM. So, download the fastboot installer for the OOS that the current latest Evolution X ROM requires and flash it.

How to flash using fastboot?

You need to hold the power button if the phone is turned on and click 'shutdown'. After that, disconnect the charger if it is plugged in and hold POWER BUTTON + VOLUME UP. Wait until you hear a vibration, then you can release the buttons. Then, connect the phone to a computer with the fastboot installer using a USB cable. In the fastboot installer folder, there will be a "flash_all.bat" file. Just open it and let it run until it's finished. After that, the phone will automatically reboot into OOS.

Step 3: Install OOS to both slots

I am not completely sure if the fastboot installer installs the OOS to both slots, that's why I did this step. To be sure that OOS is in both slots.

Flash temporary TWRP created by maurofronio. You can find it here. Download the "TWRP image" file under the prerequisites section. You'll also need to download ADB & fastboot from here and install it. Then, put the TWRP image file into the installation directory of the ADB & fastboot. Next, turn your OP6 off and go into fastboot mode again by using the POWER + VOLUME UP button technique showed before. Start the ADB & fastboot and type this command:

fastboot flash boot twrp-3.3.1-18-enchilada-Q-mauronofrio.img

This will temporarily install TWRP. Now, boot into recovery mode by selecting it using the volume buttons and confirming the selection by pressing the power button. The phone will boot into TWRP.

After this, download official OOS from here. Be sure to change the selection to Beta Build!! After downloading it, transfer it to the internal storage of your OP6. If you downloaded this file with your phone, it'll probably be in a ".jar" format. Just rename the file and remove the extension to fix this problem. Now, select REBOOT in the TWRP main menu, and select Slot A. Next, go back and click install and select the firmware. After flashing, go back to REBOOT and now select Slot B. After this, install the OOS firmware package again. Then, wipe cache. Done!

Step 4: Install Evolution X

Download this ROM by AnierinB from its official thread here. But pay attention because when you click the "Download" button, it redirects to a download page for the OnePlus 6T and not the OnePlus 6. You have to go back and select 'enchilada' from all the folders available. After this, transfer the file to your phone and flash it. Wipe cache and format data (you'll have to type 'yes' to confirm the data format).

Done!

After all these steps, the ROM should be fully functional. But if you want the better battery life, you'll need to continue on with this guide. If you don't want to do anything else and you just want to boot into the ROM, just select REBOOT > SYSTEM and you're done here.

(optional) Step 5: Radioactive Kernel

Go ahead and download the Radioactive Kernel by acuicultor. Be sure to download the "Custom ROM" version and not the OOS version. After downloading, turn your phone off and then turn it back on by pressing POWER BUTTON + VOLUME DOWN. You'll boot into recovery (Evolution X comes with TWRP pre-installed).

Flash the Radioactive Kernel and wipe cache.

Reboot to system (REBOOT > SYSTEM).

(optional) Step 6: Magisk

Reboot back to recovery by using the method described in the previous step.

Download latest Magisk by topjohnwu here. Transfer the .zip file to your phone and flash it.

After flashing, wipe cache.

You can reboot to system now.

(optional) Step 7: Magisk modules

We will need two modules for Magisk: the Advanced Charging Controller (by VR25) and the Universal GMS Doze module by gloeyisk. Both are downloadable through the Magisk Manager app.

The advanced charging controller module will stop your phone from charging when it reaches a threshold (the default is 80%) and it helps reduce the battery wear. If you want to know how to change these thresholds and more, please refer to the official ACC documentation here.

The Universal GMS Doze module disables some wakelocks caused by Google Play Services and, therefore, saves battery when the screen is off.

(optional) Fixing a problem with ACC

The OnePlus 6 has for some reason a special wakelock called chg_wake_lock that turns on when the charging cable is attached. This wakelock is present even when ACC stops the device from charging, thus, consuming battery when the phone is plugged but not charging because it has reached the threshold set by ACC. The only way I found to fix this, is to manually block this wakelock in the Franco Kernel Manager. (Yes, I've tried things like WakeBlock, Evolution X built-in wakelock blocker and even ACC-implemented wakelock blocking. Nothing has worked, because they couldn't find this wakelock, thus I could not block it). Download Franco Kernel Manager by Francisco Franco from Google Play (it's paid) and block the wakelocks there by going into Live Monitor > Wakelocks > Wakelock Blockers > '+' icon and typing in "chg_wake_lock" without the quotes.

(optional) Step 8: Apps

Complete these things under the "Battery life tips" section in the Franco Kernel Manager:

underclock the CPU,

underclock the GPU,

install Naptime (to put your device into a special 'doze' mode when the screen is off to save battery),

install servicely (to block certain services to save battery),

install Better Battery Stats (to see what's draining your battery in the future).

Please note that my statistics regarding the battery drain are based on the normal CPU and GPU clocks (not the underclocked ones).

That's it!

I hope this guide helped you. I have a few more tips for you (not regarding the battery life). If want the Stereo Speaker mod for your OnePlus 6 from this thread, don't download the official one, because it won't work. Instead, download a modified v9 version that works with the current version of AML from this guy. Also, this is the order that you should install things:

1. Audio Modification Library

2. Viper4Android

3. Stereo mod

If you have any questions, just ask here, I'll try to respond ASAP.