I'm trying to disect https://github.com/vampirefo/android_vendor_blu_p6601/tree/master/proprietary and figure out exactly how the Lineage rom was built using this device tree. There is just one commit on there 'first commit' and it doesn't tell me any meaning to why any of that is actually there and why it is being overlayed instead of being compiled with the actual lineage sources. This is most likely the biggest part of the problem. I'm wondering at this point if the Wiko U Feel device has a working 7.x rom if it wouldn't be easier to just do a quick port, as the device is identical as mentioned above. The region of the device being set in software is the only difference. It would be a lot easier to start off by disecting the working wiko u feel update.zip making the appropriate changes to the build.prop and flashing it to the p6601/r1hd. What I'm seeing the problem as mostly is that the lineage rom we have is built from source, yet its still using a device overlay or was built with an incorrect overlay perhaps. I'd like to see a github commit history on the actual device overlay from its original sources instead of the one supplied by vampirefo. I know these guys have done a great job, and not throwing off on their work at all, but some of this would be a lot easier to troubleshoot and get working if the commits were more detailed OR if we had the actual device/vendor overlay from BLU. Of all the git sources I see for this device, none of them are actually documented. If Blu provided android_vendor_blu_p6601 as a .zip to someone this would explain.
It doesn't happen a lot that we get actual commits from the vendors, but I'd really like to see the commit history of the xda-developers at least on the roms that worked VS the ones that didn't.
This probably don't even make sense to most people, its really hard to explain these things in words. But that device overlay if it was during build as it is on the site makes complete sense why the camera is broken. Everything in the proprietary directory is basically overwriting the lineage equivalents that are located in /system/* So after the lineage rom is built, instead of using the files that everything else was built against, its using those in the overlay (and there is a lot of them) This would all SCREAM to me that there is ABI mismatch.
I've noticed that the only apk in the overlay is the Camera.apk but there is a plethora of libs and binary files that I wouldn't think needs to be in an overlay.
It would really help to know how this vendor/device overlay got implemented during the build of Lineage. Did this originate from Blu or was it from another device and modified to work with the R1HD? That information isn't available with the sources I have seen so far.
All that said, if this was official Blu overlay that I'm looking at (by vampirefo) then if Lineage was built with this overlay being used, and its what Blu used in 6.x everything should work. But its a bit odd that the only thing not working is the Camera, yet the only apk in that large list of files in the overlay just happens to be Camera.apk.
I really feel like I'm talking in circles though so I am going to have to obtain the untouched p6601 device overlay from Blu if someone can't show me the link to the official p6601 device overlay. At that point I'll have to completely rebuild lineage and start testing my own work. It's very very difficult to troubleshoot someone elses work with little documentation to go on (or possibly I'm looking in the wrong location).
Sorry if tldr guys and don't mean to confuse anyone.
**Edit: Can someone supply the md5sum of any or all of the /system/app/Camera*.apk in the lineage rom. I just went over mrmazak's logcat output again and think I found some relevant info in the components of the camera service relating to a few lines in the java code. I'd really like to think this is part of the problem. I'm starting to think that the proprietary vendor files that were compiled to work with 6.0 are getting copied during the build of the lineage rom and the camera is one thing that has changed enough to fail upon execution in 7.x while using the 6.0 app. Really we have about covered all our bases with permissions and libs (which it still relates to) but if the actual camera service wasn't compiled for 7.x it is making calls to the libs in which the routine has changed in some of the framework. Hopefully something as simple as switching out an apk or two is still along the lines of a fix.
You have to remember I don't have this 8 yr old laptop setup for cross-compiling ARM source code, I really don't want to have to set it up but its starting to look like I may have to in order to get this all working right. Screwing around with ports is not something I'd consider 'clean' and if I had developed this lineage rom personally I wouldn't have ported anything unless it was broken. What I can gather of this lineage rom we are trying to fix is that it isn't a full blown port and isn't full blown rom, seems to be what could be called a hybrid.
If it gets to the point where I indeed have to build a ROM I'm wondering if I wouldn't rather just use AOSP instead of lineage or I suppose I could do both if it does come to that.
It doesn't happen a lot that we get actual commits from the vendors, but I'd really like to see the commit history of the xda-developers at least on the roms that worked VS the ones that didn't.
This probably don't even make sense to most people, its really hard to explain these things in words. But that device overlay if it was during build as it is on the site makes complete sense why the camera is broken. Everything in the proprietary directory is basically overwriting the lineage equivalents that are located in /system/* So after the lineage rom is built, instead of using the files that everything else was built against, its using those in the overlay (and there is a lot of them) This would all SCREAM to me that there is ABI mismatch.
I've noticed that the only apk in the overlay is the Camera.apk but there is a plethora of libs and binary files that I wouldn't think needs to be in an overlay.
It would really help to know how this vendor/device overlay got implemented during the build of Lineage. Did this originate from Blu or was it from another device and modified to work with the R1HD? That information isn't available with the sources I have seen so far.
All that said, if this was official Blu overlay that I'm looking at (by vampirefo) then if Lineage was built with this overlay being used, and its what Blu used in 6.x everything should work. But its a bit odd that the only thing not working is the Camera, yet the only apk in that large list of files in the overlay just happens to be Camera.apk.
I really feel like I'm talking in circles though so I am going to have to obtain the untouched p6601 device overlay from Blu if someone can't show me the link to the official p6601 device overlay. At that point I'll have to completely rebuild lineage and start testing my own work. It's very very difficult to troubleshoot someone elses work with little documentation to go on (or possibly I'm looking in the wrong location).
Sorry if tldr guys and don't mean to confuse anyone.
**Edit: Can someone supply the md5sum of any or all of the /system/app/Camera*.apk in the lineage rom. I just went over mrmazak's logcat output again and think I found some relevant info in the components of the camera service relating to a few lines in the java code. I'd really like to think this is part of the problem. I'm starting to think that the proprietary vendor files that were compiled to work with 6.0 are getting copied during the build of the lineage rom and the camera is one thing that has changed enough to fail upon execution in 7.x while using the 6.0 app. Really we have about covered all our bases with permissions and libs (which it still relates to) but if the actual camera service wasn't compiled for 7.x it is making calls to the libs in which the routine has changed in some of the framework. Hopefully something as simple as switching out an apk or two is still along the lines of a fix.
You have to remember I don't have this 8 yr old laptop setup for cross-compiling ARM source code, I really don't want to have to set it up but its starting to look like I may have to in order to get this all working right. Screwing around with ports is not something I'd consider 'clean' and if I had developed this lineage rom personally I wouldn't have ported anything unless it was broken. What I can gather of this lineage rom we are trying to fix is that it isn't a full blown port and isn't full blown rom, seems to be what could be called a hybrid.
If it gets to the point where I indeed have to build a ROM I'm wondering if I wouldn't rather just use AOSP instead of lineage or I suppose I could do both if it does come to that.
Last edited: