An Open-Source Graphics Driver For Snapdragon
There is another new open-source Linux graphics driver entering development and it has already showed signs of success with basic 2D acceleration working. This new open-source driver is for Qualcomm's Snapdragon / Adreno and who is leading the development of this driver is also quite interesting.
This new open-source Snapdragon graphics driver is the open-source GPU news I was hinting at earlier in the week. This driver now joins the Lima Project (the effort for an open-source ARM Mali GPU driver) as being a reverse-engineered Linux graphics driver for an ARM-based SoC. There's also the open-source Texas Instruments OMAP and Samsung Exynos open-source drivers, but while those are backed by their respective companies, they don't offer up accelerated support and are not fully open-source stacks.
The Qualcomm MDP MSM8660 is one of the devices that could potentially benefit from this open-source "Freedreno" driver initiative. [Though not this particular phone, it suffered an untimely death during some tortuous benchmarking.]
What also makes this Snapdragon project interesting is who is the lead developer: Rob Clark. If the name does not ring a bell, you are not up-to-date on your Phoronix reading, but he is one of Texas Instruments' ARM developers. He is the one that is in large part responsible for the Texas Instruments OMAP DRM driver and through his involvement with Linaro has been taking part in DMA-BUF, extending DRI2, and other efforts. While Texas Instruments' OMAP competes with Qualcomm's Snapdragon in the ARM space, he's decided to work on reverse-engineering his competitor's graphics core in his free time.
In his communication with me this week, Rob Clark made it quite clear that this is solely his personal project and that he has just been doing this reverse engineering and driver writing during his free time outside of work. Linaro or Texas Instruments hasn't endorsed this work nor are they even aware of it up until likely reading this article right now as he's just pushing the Git repositories for this work today.
He ended up working on the Snapdragon as he is a fan of open-source graphics drivers, but beyond what TI has already done for their OMAP driver, his hands are tied. "I'd love nothing more than to be working on an [open source] and upstream driver for the SGX GPU on OMAP platforms. But due to what I know and have access to about the inner workings of the IMGtech GPU's, that would not be possible without IMG's approval. I hope someday they warm up to the open source community, but for now I am forced to look elsewhere to contribute."
He also was not sure if he would be able to contribute to the Lima/Mali driver project because ARM is a member company of Linaro, so there might be a conflict of interest there too. "Well, with ARM as a member company of linaro, and coming into contact with ARM folks working on mali, as well as engineers from other linaro member companies who use mali, it seemed like direct contribution to the lima project might be a bit of a gray area. I don't think I really know any internal [secrets] of how mali works (and certainly not more than the lima guys have already figured out)."