Call for testing: Google/Huawei Nexus 6P (angler) owners
-
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....
-
@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.
-
@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
-
Unfortunately it is not so easy to tell Linux "go switch cores Im gonna play a game". But what I was looking into that was to use the cpufreq governor which was made for this device: https://cateee.net/lkddb/web-lkddb/ARM_BIG_LITTLE_CPUFREQ.html basically its a cpufreq governor that maps requested cpu frequency when the load goes higher to enabling not just all 4 big cores but single cores as needed. That would just allow spikes to be fully utilizing the bigger cores.
Then we do not need to change much except in-kernel stuff
-
Good News! Nexus 6P is now finally installable with the UBports Installer!
Well after we fix a small thing - but its just a matter of a few days. With that you will be onboarding the OTA update channels and can finally keep up with latest changes without halium-install. Another goodie: It will install everything to the system partition, making more free space on data. Not that angler users need more space but who knows ^^
-
@Flohack
Will there be any checkbox to choose whether to install 4 cores or 8 cores boot image ?
or it will be manual ? -
@HMZ47 Theoretically we can have 2 devices listed but that is a problem for the final solution since it needs to duplicate everything just because of a different kernel cmdline. I will discuss with the guys what we can do here.
-
Iβm thinking of grabbing my brothers nexus 6p should. This is awesome.