Upgrading to latest Mir

  • This is meant to be a small report on some of the development efforts happening around the mir source code within the Ubports community.

    Current Situation of mir usage
    The upcoming xenial rootfs for ubports uses mir 0.24. The version of mir was released back in september 2016. In the process of enabling Ubuntu Touch on newer devices, the ubports team fixed a handful of problems in mir. To also support android 7 system images on qualcomm devices a more substantial change was done on mir 0.24. A second android platform driver was added, because the hardware composer abstraction for those devices use a different incompatible ABI.

    The future
    Meanwhile upstream mir moves on. There is a long list of fixes and improvements and a growing list of big changes.

    It saw the addition of wayland as a supported client protocol and XDG-shell window management protocols. Ongoing improvement and the integration of the miral library. There is still ongoing work to support Nvidias EGLStreams proposal....

    Of course we should move to the current version of mir to benefit from the ongoing support and improvements, but there are also problems ahead.
    The mir team had to drop the android platform. The term platform in the context of mir means server and client side abstraction, in this case abstraction of graphics. The other platforms in mir are mesa+kms(graphics) mesa+x11 (graphics and input) eglstream+kms(graphics), nested(graphics and input) and evdev(input).

    Resurrection and second death
    Right after the android platform removal the ubports team resurrected the android graphics platform into a separate repository and proposed a few changes to upstream mir to support building and running a 3rd party platform outside of the source tree of mir. The repository can be found here. After that the source code of the android platform started to rot since ubports did not need to move to a newer version of mir (prior to switching to xenial). Now the platform source no longer builds against upstream mir. So the source died twice.

    Finally with some free time on my hands I returned to the UBports effort and will pick up the lose ends around the android platform. Getting it to run and integrating the fixes should be simple task. But there are also interesting things ahead like supporting the new hardware composer interface in android 7 and later.

  • Hi @Andreas-Pokorny, I know you've made some progress updating the hybris/android platform. Could you post an update?