Android Can Now Boot with a Full Open Source Graphics Stack on NXP i.MX6 Boards

While the Android operating systems is itself open source, it still relies on proprietary binary files to leverage GPU acceleration, VPU hardware decoding, wireless connectivity, and so on. It’s been possible to run Android with an open source software graphics stack, but it’s normally terribly slow and barely usable. But Collabora has announced it could now boot Android with a full-graphics stack on iMX6 platforms using no proprietary blobs at all.

To do so, they leveraged the work done on Etnaviv open source drivers for Vivante GPUs, and adding the different formats used for  graphical buffers in Android and Mesa library using modifiers representing different properties of buffers. They further explain:

Support was added in two places; Mesa and gbm_gralloc. Mesa has had support added to many of the buffer allocation functions and to GBM (which is the API provided by Mesa, that gbm_gralloc uses).

gbm_gralloc in turn had support added for using a new GBM API call, GBM_BO_IMPORT_FD_MODIFIER, which imports a buffer object as well as accompanying information like modifier used by the buffer object in question

The changes will be upstreamed, but in the meantime you could try it yourself by following the instructions on memcpy.io for iMX6 Sabrelite, Sabre Lite, or RDU2 boards. A boot with Android 7.1 using the full open source graphics stack is demonstrated in the video below on RDU2 board.

Via Phoronix

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

Radxa Orion O6 Armv9 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
3 Comments
oldest
newest
Boardcon CM3588 Rockchip RK3588 System-on-Module designed for AI and IoT applications