With Canonical's Mir Display Server for future releases of Ubuntu Linux, they are supporting Android's graphics layer and drivers rather than inventing their own solution, trying to push X.Org drivers, or demanding mobile graphics drivers modelled after the desktop Linux graphics stack. Why did they do this? Here's an explanation.
Kevin DuBois of Canonical, one of the developers working on Mir, has written about Mir and Android GPUs
. In his post he covers the Android graphics driver components and their level of openness. For those not up to speed on the Android display stack, it's a bit similar to Linux in coming down to a kernel driver, a kernel-to-user-space library / HAL, and the user-space OpenGL ES / EGL library. These generally aren't DRM, libdrm, and Mesa components, respectively. The drivers on Android generally aren't open-source but the important areas are covered by liberally-licensed header files.
The reasons they are piggy-backing on top of Android GPU drivers is reportedly for stability, performance, and power. With all of these hardware drivers already being out there and working on Android and in compliance with an industry API, they don't need to come up with their own HAL or have all of the mobile hardware vendors support a new API.
DuBois writes, "With this, we pick up a lot of the goodness that comes with out-of-the box Android drivers, like great power management, performance, and stability. Mir can use android drivers as they come from the driver vendor, and we’re using them in a well-known way. Drivers and hardware support are the foundation of a well performing, amazing computing experience. With Mir and Ubuntu Next, we’re not building our house upon sand, we’re building it upon rock!"
Last week on Phoronix I posted a video of Unity Next running on Mir from a Google Nexus 4
, also highlighted by Kevin's post today.
Aside from Mir supporting the Android GPU drivers, on the desktop side it will also work with the standard open-source Linux graphics drivers with EGL and Mesa. The Mesa support for Mir, however, has yet to be merged. NVIDIA and AMD are also working in the direction of supporting Mir by their proprietary Linux graphics drivers, but there's nothing new on that front to report at this time.