You can now run Android on top of a regular Linux graphics stack. This was not the case before, and according to Robert Foss, a Linux graphic stack contributor and Software Engineer at Collabora, this is hugely empowering. In his upcoming talk at Embedded Linux Conference Europe, Foss will cover recent developments in this area and discuss how these changes allow you to take advantage of new features and improvements in kernels.
In this article, Foss explains more and offers a preview of his talk.
Linux.com: Can you please tell us a bit about the graphics stack you’re talking about?
Foss: Traditional Linux graphics systems (like X11) mostly did not use planes. But modern graphics systems like Android and Wayland can take full advantage of it.
Android has the most mature implementation of plane support in HWComposer, and its graphics stack is a bit different from the usual Linux desktop graphics stack. On desktops, the typical compositor just uses the GPU for all composition, because this is the only thing that exists on the desktop.
Most embedded and mobile chips have specialized 2D composition hardware that Android is designed around. The way this is done is by dividing the things that are displayed into layers, and then intelligently feeding the layers to hardware that is optimized to handle layers. This frees up the GPU to work on the things you actually care about, while at the same time, it lets hardware that is more efficient do what it does best.
Linux.com: When you say Android, do you mean the Android Open Source Project (the AOSP)?
Foss: The Android Open Source Project (the AOSP), is the base upon which many Android products is built, and there’s not much of a distinction between AOSP and Android.
Specifically, my work has been done in the AOSP realm, but nothing is preventing this work from being pulled into a shipped Android product.