Tuesday, October 11, 2016

NEW BUILD: CyanogenMod 13 for the Huawei P9 Lite

I decided it was time to rebuild everything and workout any issues with the build system and as it turns out there weren't any issues so... awesome. I also made several changes to help out battery life/performance.

My Huawei P9 Lite with a Samsung style theme...

  1.  Got the 2nd set of cores (4 - 7) scaling; before it was pegged out over 2ghz.
  2.  Set the minimum frequency of the gpu so it can scale. Before, I had manually set it at max for testing...
  3. Set the minimum frequency of the ram (ddr) so it can scale.
  4. Set the default ddr scaling frequency to "mali_ondemand". This takes care of most of the "tearing" on the screen.
NOTE: If you have any experience with "governors" and frequencies and want to experiment you can adjust frequencies for the ddr and gpu here:

and the cpu here:

I also decided to go through framework/res overlay and add anything that might be useful for this device.

  1. Enabled adaptive brightness
  2. Enabled all tethering
    1. Wifi hotspot
    2. USB
    3. Bluetooth
  3. Disabled hardware button configs
I had a chance to test the sensors and it seems that the lux,prox,acc and orientation sensors are all functioning while the gryo,airpressure and thermal sensor are not working. However the thermal-daemon is up and running and it is reporting temperatures. I'm planning to write a standard sensors lib for all the sensors but I checked on the gyro sensor and even when turned on, it's not reporting data. In fact it hangs while trying to get_data. So, I'll need to hunt it down in the kernel and see what's stalling it out.

Also, although I have not tested it. The issue with wifi not saving passwords is most likely fixed in this build. If it is not please let me know.

I have looked at the "deep sleep" issue closely. It seems that during the resume process "local_enable_irq" hangs starting here:

I've tried to re-arrange the resume process to bypass the hang but to no avail. When I first started this project, I wanted to download the kernel directly from the Huawei but all the links I tried failed so I used a repo that someone had already modified. The next thing I'll try is to revert those changes and see if it helps.

Download on the download page as always...