UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Upgrading to latest Mir

    Scheduled Pinned Locked Moved OS
    bionicmirxenial
    2 Posts 2 Posters 1.1k Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • A Offline
        Andreas Pokorny
        last edited by Andreas Pokorny

        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....

        Obstacles
        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.

        1 Reply Last reply Reply Quote 8
        • alan_gA Offline
          alan_g
          last edited by

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

          1 Reply Last reply Reply Quote 1
          • First post
            Last post