Call for testing: Google/Huawei Nexus 6P (angler) owners



  • So back from holiday 🙂

    One thing I noticed is that when using the phone actively it kinda sucks out hte battery quickly - probably due to all 8 cores getting enabled. I would expect that Android does not fire up all cores everytime the phone is unlocked. Does anyone of you have experience with the power management under Android on this device?



  • @Flohack hope you enjoy your holiday.
    i guess for android only ARM Cortex A53 cores workes when you use non-performance apps.

    for me i use only 4 cores due to BLOD i can confirm that the experience in term of battery is almost the same as android. so i think you are right, 8 cores working at the same time consumes the battery .



  • @Flohack That is the way it worked on android with the N6P. Four cores on all the time, + four additional cores when needed. I thought it would work the same way naturally with UT on top the android stack, but I guess not. I haven't taken mine out anywhere because of covid, so I haven't used it enough to notice.



  • Well this is intetesting. Just did a bunch of app updates and now my bluetooth works again.



  • Libertine tweak tool now available for arm64. Hooray!



  • i patched a 4 core image from the last halium boot image using Android image kitchen for blod (4 cores) users

    https://mega.nz/file/mTBhQIrA#Q0XuOu-HW9XZVW0nG_PPm4M68-w3n7i-vN4JaPKHsBA



  • @rocket2nfinity No unfortunately I suspect its not working naturally. The kernel needs to know a) which of the cores are the big ones, and b) even if they are idle, dmesg logging tells me that all are being woken up. I think thats the problem, the scheduler is missing in Linux/Ubuntu to handle this correctly. Desktop Linux never has to deal with cores of different power probably. Plus its kernel 3.10, even if there is support for that its unlikely to be in that old kernel.

    But, on the other hand, Android cannot handle this much differently than in the kernel. I am confused. need more observations.



  • @Flohack Took mine out today, specifically to see if it consumes battery excesively. Yes, it seems all 8-cores are going all the time, and it does drain faster than it used to.

    Do have another question.... Is there a way to get visual voicemail messages to actually show the message, rather than the code script that pops up letting me know there is a visual voicemail message?



  • @rocket2nfinity Ok so lets monitor this a bit...

    I am not sure what you mean by that voicemail messages thingie. Can you send me a screenshot?



  • @Flohack Phone number blacked out....

    1.jpeg



  • @rocket2nfinity this is from messaging app? Its not an issue of the porting to 6P, but a general issue for the operating system, you might want to file this on the main Github tracker on github.com/ubports/messaging-app - I have never seen such a thing before though 😉



  • @Flohack Yes, i'm pretty sure it's just the messaging app is not programmed to know what to do with this type of message. It happens with messaging apps on android AOSP and other roms as well.

    I blocked out the phone number because there are services on the web that will display the actual visual voicemail message for you if you input the script I posted.

    I will open a feature request on git.



  • @Flohack I stumbled on an article that might shed some light on how to enable/disable the 4 performance cores. In the middle of the article, with associated links to xda-developers, is code for how XCnathan32 figured out how to recover from the BLOD on the N6P and how the 4 cores are employed in android.

    Beyond my skills, but hopefully it will give you some ideas about how to do power managment on the N6P.

    https://www.ifixit.com/News/36821/dark-magic-what-caused-googles-nexus-6p-death-loop-and-how-to-fix-it-with-a-hairdryer



  • @rocket2nfinity
    He modified the boot image .
    to be specific init.angler.rc file which usally can be found at ramdisk folder.
    the file does not exist in the halium boot image i don't know why.



  • @rocket2nfinity Yeah I know about that, I am actually doing the same when providing a 4-core boot image here. Its done with a kernel cmdline rather than init.rc magic, since the kernel otherwise tries to also start the 4 big cores.

    Unfortunately the thing is a bit more complex, Google used cpuset structures to group the tasks that should run on either big or little cores, but the Ubuntu Touch processes are different ones, so it might be needed to find a new cpuset description to balance the load. On top of that, cpuset seems to be ignored by the kernel, probably its a permission issue ^^



  • @Flohack If you had the user to choose which cores to use during installation or a setting in the settings menu? How long would the the battery last if you used 4 small cores, 4 big cores or all 8 cores? I know it is a little dirty but this could be an option during the time needed to solve the battery drain.



  • @Rondarius Interesting idea. When I flashed just four cores to see how it compares, It runs like it always did on android battery wise, except it is noticeably slower when doing demanding things such as video or games.

    Switching to just the performance cores is an interesting idea. But, if it is possible, it might harm the phone. The tech in the performance cores was new at the time and the chip design was not optimal, so the processor gets real hot really fast when those cores are actually put to use. That's what caused the BLOD that ended the phone's success. But, it would be an interesting experiment if it didn't kill the cores.

    On all 8 cores, they seem to be running all the time but maybe with no load on them. They appear to be just sitting there awake. The performance is much better under heavy load, so they do get triggered and used when needed. But what scheme is used to trigger them and send work their way, and what trigger sends them to sleep when not needed. Until that's solved, could be worth giving your idea a try.



  • @rocket2nfinity @Flohack So how should this be tackled then? Should we pinpoint where there is a need for an extra boost? Because you have already nailed two, category games and video files. I guess that you only need 4 cores while using native apps and interface. Is there other categories and files that could be grouped under 8 cores?



  • Would it be easier to activate all 8 cores depending on categories instead of files? The 8 cores should be activated if a game is launched or a video file i played, and they should be running until the game/video is canceled or changed focus to another app that doesn't need 8 cores. Just to figure out what game or what video file that needs 8 cores would take to much time to implement, but going just with categories would make things easier but not optimal. If we look on it from a different perspective, me for example, it is not that often that I play a game or watch a movie on my phone. This means that the 8 cores rarely becomes used in my case.



  • i don't know if it will work or it's possible to control cpu frequency through cpu frequency Governor ?
    at least it will save some battery when you can set the lowest frequency to the 4 big cores.

    https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt


Log in to reply