Thursday, September 15, 2016

Huawei P9 Lite: And so it begins.

Recently I was contacted by "The Marionette@XDA" who asked me If, I'd work on the Huawei P9 Lite. I really enjoy working on devices, especially if they do not have any official support from CyanogenMod or Google. The reason being that there is no real challenge if the already have support. However, It's nearly impossible to develop for a device without out actually having the device to test on/work. So the Huawei P9 Lite community generously donated the funds necessary for me to order the device. I would like to thank:

  1.  Tommi N.    [Red-Killer@XDA](TOP DONOR)
  2. Jakov Gudec             [The Marionette@XDA]
  3. Dominik Hopf           [Senaxo@XDA]
  4. Ayse Guduz               [ndroid1562@XDA]
  5. Michael Pottker
  6. Krzysztof Mikulski  [lsander@XDA]
  7. Malcom Rigg

I like to do something special for my "sponsors". Not sure what that will be but you guys put your money where your mouth is and I wont forget that. Perhaps you can be my testers during development.

My Huawei P9 Lite VNS-21 is expected to arrive either Saturday or Monday but I am eager to get started. So, I'm working "The Marionette's" on the existing device and vendor trees today. I may not end up using them but working on them will help me familiarize myself with the configs. I hope to have a build ready by the time the device gets here but I have a lot to do before I begin testing. Although I am a developer, every device is different and it takes a little while for me to become comfortable with the device. Being over-confident might cause me to brick the device and nobody wants that. My first initial tasks will be:

  1. Unlock the bootloader.
  2. Flash twrp
  3. Use dd to dump (and backup) every partition.
  4. Use the dump of the system partition to verify device and vendor trees.
  5. Study hardware configuration and look for quirks.

I will be developing CyanogenMod 13. If I find that it is more advantageous to switch to AOSP then I will but I'd rather build CM 13 because I am already familiar with it; having just brought up cm 13 for codinalte. I have a few ideas for how to workaround hwcomposer issues.

As soon as I have a booting build I'll start a DEV thread @ XDA

Codinalte/Venturi community:
Bringing up this new device will be taking up most of my time so bug reports will be "noted" but not worked on for sometime; perhaps not till next year but do not worry. I will get to them.

Both codinalte and venturi need kernel bring up's to at least 3.1. for marshmallow. Codinalte already has marshmallow but, you'll notice that battery stats do not report battery consumption for apps. Also bandwith quotas on network interfaces is not working. This is because of a deficiency in the kernel UID_CPU_TIME and it's dependent subsystems are not in the 3.0 kernel and that's why we need a bring up. Time permitting, I intend to start on this spring next year: and yes it is my intention to bring up MM for venturi but for now the focus is on the P9 Lite.