*Update 7/30: On my 6P, I found that the original kernel with this mod was using pretty much 1.5 cores, instead of all 4. People with the 5X were also reporting this, so I modified the images to utilize all 4 cores better. It helps performance a lot (able to beat stock 6P in some Antutu marks now, and play intensive games), try it out if you haven't yet!
I made a petition for Google to officially release and sign modified boot.imgs, so that people with locked bootloaders can fix their devices too. Check it out here. (I apologize for dumbing it down so much, I wanted to make sure everyone could understand it)
- 8/26 - EX kernel for Android O uploaded.
- 8/22 - Android O working, boot.img and source uploaded.
- 8/08, 2nd Change - Added boot.img for 48C firmware (August security patch).
- 8/08 - Updated EX kernel to version 4.1.2. This updated zip adds the CPU utilization patch to the init.elemntalx.rc, instead of removing the old init.angler.rc and copying the new init over. That should mean more compatibility with Roms/kernels that modify the init.angler.rc. I also modified the camera-daemon to use cpus 0-3 instead of 0-2, so hopefully this should make the a camera bit faster too.
- 8/07 - Added boot.img for 1 core, just to see if it would work for devices that didn't work with the 4 core image.
- 7/30, 2nd Change - Added universal EX zip, this zip should modify your kernel to use only 4 cores, and it should modify it to utilize all 4 cores. You can flash this over most ROMs and it should work. Also added a donation url, and this changelog.
- 7/30 - Updated this fix to greatly improve performance. Before this fix, the device was only using 1 core for foreground tasks, now it will use all 4 cores. Also revamped OP, and added Marshmallow images.
- 7/23- Created this fix, stock boot.img, twrp, and EX kernel added.
*What this fix does, and how to apply it:
The problem with most of the devices in a BLOD, is that a hardware failure related to the BIG cluster has occurred. This fix remedies the problem by disabling the BIG cores. Unfortunately, this does mean that you will take a performance hit. However, I am continually working on ways to improve the device's performance.
The update: If anyone remembers device performance with the first fix, it was hurt a lot, however, after finding out that the device was only using 1 core for all foreground tasks, I modified the ramdisk to utilize all 4 cores more effectively, and it helps a lot.
Requirements: For this fix to work, you need:
- A brain
- A computer
- A bootlooping 5X with an unlocked bootloader/OEM unlocking enabled
- The modified files of your choice.
- Fastboot on your computer (preferably installed system wide). If you do not know what this is, or do not have it, look at this post. Answer yes to all of the prompts to install it.
How to apply the fix:
- Boot your phone into bootloader (hold power and volume down).
- Connect your phone to the computer.
- Go to the folder where you have the modified files, then hold shift and right click in a blank space, click on "open command prompt here" in the menu that pops up.
- In the command prompt: type "fastboot flash boot [name of the file here]" and then press enter. If you're flashing TWRP, replace boot with recovery. (Linux users, make sure you're running as root)
Edit: with the new universal EX zip, you don't have to flash the modified boot.img now, you can just flash TWRP, and then flash the EX zip, and everything should work.
- Boot up your phone, and hopefully it should work!
*If your phone is bootloader locked/OEM locked:
You can try to get your phone to boot long enough to enable OEM unlocking. Some users have reported success by freezing their phone for a bit, then booting it. Others have let their battery drain all the way, and then tried to boot their phone, but the most successful method seems to be heating up your phone (a lot).
If you do attempt any of these methods, make sure you have time and patience, as it will take a long time.
To enable OEM unlocking and unlock bootloader:
- Go to settings.
- Go to developer options, if you do not see that, go to "about phone", scroll to build number, and then tap it 7 times. You should now see developer options in settings.
- Once you're in developer options, click on "OEM unlocking" and accept the prompt.
- Now reboot your phone to bootloader, connect your phone to the computer, and type "fastboot flashing unlock" Your bootloader should now be unlocked.
- Boot.img from Android O DP6: Download | Mirror. This Image is the from the first official release of Android O, and is modified to use 4 cores. As a bonus, it also disables forced encryption. Thank you to @xls654 for figuring out how to get Android O to work.
- Boot.img from stock 48C, 7.1.2 firmware (August security patch): Download | Mirror. This Image is modified to use only 4 cores, and is modified to utilize the 4 cores more effectively. I have had multiple people on the 6p say that first boot takes a while after flashing this, so just wait about 20 minutes before you declare something is wrong with it.
- Boot.img from stock 47Z, 7.1.2 firmware: Download | Mirror. This Image is modified to use only 4 cores, and is modified to utilize the 4 cores more effectively. I have had multiple people on the 6p say that first boot takes a while after flashing this, so just wait about 20 minutes before you declare something is wrong with it.
- TWRP version 3.1.1: Download | Mirror. This TWRP image is modified to use only 4 cores.
- EX kernel version 5.03, for Android O: Download | Mirror. EX kernel for Android Oreo, modified to use 4 cores. You must flash it over the 4 core boot.img for it to work.
- EX kernel version 4.12, universal zip: Download | Mirror. This zip is modified to use only 4 cores, and it will also apply the speed fix. Flash this in TWRP. I highly recommend you flash this, as it improves device performance notably, and disables forced encryption. This kernel should work with almost any other ROM, and it applies the core utilization mod from the first image, thanks to AnyKernel.
- Boot.img modified to use only 1 Core. Some people were reporting that the 4 core images weren't working for them, someone suggested that I make a 1 core version to see if that helps at all. Here it is: Download | Mirror
- Boot.img from the latest 6.0.1 20K firmware: Download | Mirror. This boot.img is modified to use only 4 cores, and is modified to utilize those 4 cores more effectively. Untested as of now.
- Ex kernel version 1.2.0 for Marshmallow: Download | Mirror. This is the latest EX kernel for marshmallow, it will keep the core utilization mod from the above image, and should work on almost any other ROM, thanks to any kernel. Untested as of now.
- Source for 4 core Android O DP6: Source.
*Tested custom ROMS/kernels
you should be able to use almost any ROM with a stock based kernel, just flash the EX zip over it.
If you have a custom ROM/kernel that worked for you, let me know and I'll put it up here.
*To improve performance slightly:
- Flash a custom kernel. I will upload more kernels as people request more, so stay tuned.
- Flash a custom ROM. Once again, I will upload more as people request more, so stay tuned.
Overclock the little cores. It can slightly help offset the lost performance, on my 6P, I have mine overclocked to 1632MHz, and it works perfectly for me.Edit: I actually recommend not overclocking. Many people have reported their Little cores failing, so I would go for longevity on this device, and keep it at stock clocks, or even underclock it. The speed difference you get from overclocking is negligible anyways.
- Disable animations in developer options. Seriously, as soon as I found out about this tweak, I've used it on ever single device I've owned, it helps a ton.
@rchtk, His post here gave me the idea for how to modify the images.
@flar2, He built the Elemental X kernel for this device, I merely made a small modification to his kernel to use 4 cores. In no way am I trying to steal and/or discredit his work.
The TWRP development team, they built the TWRP recovery for this device, I merely made a small modification to their recovery to use 4 cores. In no way am I trying to steal and/or discredit their work.
@xls654, He found out how to get Android O working with 4 cores.
- What's the password for TWRP/Why is TWRP asking for a password? - In android 7.0, Google added forced encryption to the data partition. To get around this, click cancel when TWRP asks you for a password, and then factory reset the device. Then you can flash EX kernel/Magisk to disable forced encryption.
- Why am I getting an error when I try to flash the images? - Your bootloader is probably not unlocked, try running the command "fastboot flashing unlock", If you get an error there too, then you will have to enable OEM unlocking before you can continue.
- It's not working for me, how do I fix it? - My only advice for that is: "Flash the stock firmware for whatever version image you're trying to flash, then reflash the images again" If you're stuck on the boot animation, wait at least 20 minutes before you declare it's not working. If none of that works, chances are you have a different problem.
- Does EX kernel have the new speed fix? - Yep, the EX kernel zip should apply the 4 core fix, and the speed fix. It should also work with almost any ROM, including stock.
I would like to help as many people as I can, however, I am much more likely to be able to easily help you/reply to your post if you clearly state your problem and the steps you attempted to fix it. I will be much less likely to reply to posts such as "omggg i flashed the image and my phone won't boot helppp" Please read through post first, I did not spend time typing up this OP for no one to read it. If I can see that you read through the OP and have attempted all the steps, then I will be much more willing to help you.
I set up donations on my profile, for those of you who want to donate. I have spent countless hours modifying, flashing, testing, and helping, don't get me wrong, I love doing this and helping y'all out, but donations really keep me motivated to keep going, and donations also will help me fund new equipment and devices that will help further my android development. Every single donation is appreciated Donate to me here!
If this guide helped you, please click thanks, it means a lot to me