drm_hwcomposer: Allowing Mainline Linux Graphics Drivers To Work On Android

Written by Michael Larabel in Linux Kernel on 29 March 2017 at 10:46 AM EDT. 28 Comments
LINUX KERNEL
Thanks to collaboration between Collabora and Google's Chrome OS team, Android is now able to interface with the mainline Linux graphics stack.

Android doesn't use DRM APIs for communicating with graphics hardware but rather their own Hardware Composer (HWC) API. But there is now a working "drm_hwcomposer" shim for interface with the mainline Linux graphics stack through Mesa and libdrm.

This new drm_hwcomposer shim paired with recent advancements to Linux DRM drivers around fencing support in Linux 4.10+, Android is able to run with the mainline graphics drivers with SurfaceFlinger still using the HWC API. The fence support has allowed them to now support the HWC2 API too, which is used by Android 7.0+.

This allows Android to now boot using the Freedreno driver stack, but should also work for other mainline kernel graphics stacks. The drm_hwcomposer code is staged in the Chromium OS tree.

More details on this progress for using mainline Linux drivers with Android can be found via this blog post by Collabora's Robert Foss.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week