New TI OMAP4 GPU Drivers to Possibly Aid KitKat Development for the Galaxy Nexus
When it was discovered that the Samsung Galaxy Nexus would not be getting an official build of Android 4.4 KitKat, many of the device’s loyal users were understandably upset. After all, the Galaxy Nexus is still a competent device today, almost two years after its November 17, 2011 release date.
Despite Google’s claims that the Galaxy Nexus fell outside of the typical 18-month support window, many were quick to attribute the missing update path to TI’s exit from the mobile SoC market, and the subsequent absence of drivers for the latest version of Android. This very issue has been the source of various graphical glitches seen with early, unofficial builds for the GSM and Verizon variants of the device. However, this may be less of an issue going forward, as XDA Recognized Developer aosp has located a new commit to the GPU drivers on OMAPZoom by TI employee Eric Luong that may be able to aid the porting process.
Not all is entirely rosy, however, as XDA Recognized Developer Hashcode later points out:
Q: THESE PVR BINARIES LOOK AMAZING! WON’T THEY HELP WITH 4.4 DEVELOPMENT?
A: Maybe.. Maybe not. In reality these binaries posted by @aosp are a bit “odd” when it comes to the build. The newest OMAP4 PVR binaries from TI are DDK 1.9 @ 2291151. They were found on the review website and never actually posted into the proprietary git. The actual “standard” JellyBean TI PVR binaries are around DDK 1.9 @ 2166536. You can see from the image that the binaries posted above are DDK 1.8(?).
In the end, the main goal is to be compatible w/ the current surfaceflinger/hwcomposer implementations so that no major hacks are needed to get the GPU functioning. EGL support for GL_OES_EGL_image was key for ICS when it first came out. In JellyBean you needed hwcomposer API 1.0 with a 3.0.31+ omap kernel. For hwcomposer 1.1 API (as implemented by TI) you would need a 3.4 kernel complete with android platform framebuffer patches / extended hwcomposer API.
GNex *could* use the newer TI PVR binaries. But might need to have it’s 3.0 kernel’s dss/dsscomp/gralloc files edited to be closer to the end of the p-android-omap-3.0-dev kernel’s sources. And of course the pvr kernel modules need to match as well.
Q: WHAT ABOUT THE GRAPHIC ISSUES?
A: There could be a variety of reasons why the graphics suffer on the latest builds for the GNex. I don’t know all of the details why as I have never dev’d on the GNex, but I’m sure more knowledgable devs have more info. New PVR bins would certainly help with compatibility, but not necessarily solve performance issues.
Ultimately, these updated binaries (that appear to be intended for Jelly Bean as stated in patches abef31d and 9ecd6e0) may be of some use. But as stated by Hashcode, they may not be the end-all-be-all for all the currently seen graphical and performance issues.