Advertisment

Search

Thursday, November 10, 2016

NEW BUILD! CyanogenMod 13 for the Huawei P9 Lite...

Camera and GPS are the big two that are left. There are also some smaller issues and some might say, "Hey what about the gyroscope." Well, further research has revealed that there is no "hardware" gyroscope. Huawei has some sort of emulated gyroscope on stock. As I have been saying for awhile now, it is my intention to create a standard sensors library and perhaps at that time, I can figure out how to "emulate" gyroscope data using data from the existing sensors but for now, it goes to the back burner. NFC also needs attention but not a high priority.


In this build, I've implemented some, rather hacky, fixes to prop up the Camera. Personally, I don't like these hacks but for now, they make the camera much more use-able. The issues with the camera are 2 fold. Fold 1, perfhub. Perfhub is a daemon that the Camera daemon "HwCamCfgSvr" communicates with for "copybit" operations. Both of these daemons are proprietary blobs and getting in the middle of them to correct issues is difficult. Perfhub often crashes when attempting to close copybit. Closing copybit happens when switching between the back and front camera, closing the camera, after photosnaps; at the end of almost all camera operations. First I tried to reverse shim the function that crashes. The result was pretty good. The camera was stable. Photo-snap worked on both cameras but video recording did not. So, it was an improvement and it was clean ( no crashing ) but, no video recording. So, then I thought well, if perfhub is going to crash, init is going to automatically restart it because its a non-oneshot service. So why doesn't the camera work after perfhub restarts? Well, it seems that communication between perhub, media, and HwCamCfgSvr is broken and does not reinitialize if just perfhub is restarted. Solution: restart them all if perfhub restarts. It's not the best solution but it sorta works. Hopefully, I'll come up with something better soon. Fold 2: copybit operations parameters seem to be off at high resolutions. Miraculously, copybit does not fail at high resolutions, but it creates an image that is the wrong resolution and a much lower resolution. I'm not quite sure why this happens.



I've also added a bunch of minor fixes and features. Check the download page for a complete list.

Download available on the download page as always...