[Nexus 4 Original Android Development] MontAlbert:
This may end up getting me flamed but I kind of hate the direction cm is taking. Their kernels have recently been very different (obviously moving towards increased security and cm Inc.)(eg. Their unwillingness to allow kernel modules such as those required for touch control app) and now these latest changes, which nearly all custom roms have applied seem to have screwed everything up for now. Same thing happened with my nexus 7.they used the same commits and blue screen with custom kernel. Hate to say it but it seems cm really isn't here for us minority, the people who want to flash and hack etc.

Will aokp be reverting this commit or will custom kernels somehow have to bastardise their kernels to suit cm?

---------- Post added at 07:01 AM ---------- Previous post was at 06:52 AM ----------

From faux :

Geek Talk Below:

CAF == Qualcomm's open source branch.

CAF's kernel sources are 100% open as required by GPL. Their libraries, however, are under Apache which means you can use them as you see fit, but not all are open (some are strictly as proprietary lib files).

For ALL NON-Nexus Qualcomm devices, CAF's kernel + libraries will be the closest to AOSP experience (Even Google's AOSP still depends heavily on these proprietary libraries from various vendors including Qualcom/CAF).

Historically, Qualcomm often creates a separate less optimized version of their proprietary libraries for Google to use on Nexus devices (I guess because Google didn't pay them to be their premium partners like Samsung, HTC and LG), but this didn't stop Google from turning these basic libraries and create amazing experiences on their Nexus devices (HTC's Nexus One, Google's Nexus 4, Google's Nexus 7 2013 and the upcoming Nexus 5).

So now you know there are two distinct branches of libraries, AOSP and CAF's own version. Although both were created by CAF, but there exist some differences between the two (These differences are what creates bugs when you mix match the libraries and kernel source).

For reasons unknown, CM has decided to ditch the less optimized libraries and opted for CAF's own libraries for Nexus 7 2013... This created a massive headaches for many novice users and developers. If you load the AOSP kernel on CM ROM, you now have a mismatching kernel / library combination which led to video glitches and broken Slimport on Nexus 7 2013.

It looks like for Nexus 4, they are slowly doing the same thing by replacing the AOSP libraries with CAF versions... over time, the AOSP kernel will no longer be 100% compatible with CAF based ROM... This will eventually lead to fragmentation of Nexus kernels (just like Nexus 7 2013 ￼ )

I am HIGHLY AGAINST this move towards CAF for pure Nexus devices. Nexus devices already work quite well with what's given, and it enjoyed wide compatibility with ALL AOSP derived ROMs. By moving towards using CAF libraries on Nexus devices creates unnecessary FRAGMENTATION and incompatibilities within a Nexus device family!

Also I am not sure about the legality of using CAF libraries... Basically if you build a ROM based from it, you are redistributing the Qualcomm proprietary blobs and Qualcomm has EXTREMELY strict redistribution clause with their binary blobs (basically they need to grant you explicit permissions) where as AOSP it is less stringent than Qualcomm. Whenever you deal with proprietary libraries in general, you are in the gray area of legality and you have to tread very carefully. (This legal issue was what kept Nexus 7 2013 from releasing their factory images for a while between Qualcomm and Google. This is also what eventually led to JBQ leaving Google).