Updates on Mir and OTA-8 (and watch out, Edge channel users)

  • Hey everyone,

    I wanted to give you an update from the developer team in case you aren't following the development of Ubuntu Touch very closely. To get to it quickly, it seems like we won't be able to deliver an update to Mir 1.0 or higher in Ubuntu Touch OTA-8.

    Edit: Most of the problems listed here have been resolved. See https://github.com/orgs/ubports/projects/10 for more details on what's blocking the merge of unity8+Mir1.1 into the normal cadence.

    Apps failing to display

    There's a bit to unpack for this one. The best technical explanation can be gained from others on the team, but you're going to get me for this one. 😛

    The big problems

    Apps rarely display

    The most glaring issue is that apps are rarely able to display anything on the screen. They start correctly and can almost always be interacted with, but only a black box is displayed. Resizing windows in desktop mode leads to many fun effects.

    Apps doing weird things in desktop mode

    To paraphrase, it seems like there is a race condition in Mir getting a display surface (a box which the app uses to draw stuff) from Android before it has to pass it to the app.

    This problem is mainly exhibited on devices with Qualcomm chipsets.

    Poor performance

    Some actions are extremely slow. When apps display correctly, they have a very low framerate. Pulling out the dock and the app launcher is painful. There really is no excuse for this, newer versions of Mir are much more efficient than our current 0.24.

    Interestingly, the performance of the indicators is almost perfect. They feel way better to use than they do under Mir 0.24. In fact, the lowered input latency of Mir >0.26 is noticeable when scrolling around the indicators. This shows us that the failures are within Unity8 itself -- Mir is functioning perfectly.

    We should have known

    These challenges aren't entirely unexpected. The Android->Hybris->Mir->QtMir->Unity8->QtUbuntu pipeline can't be expected to be perfectly stable when several parts of that stack change all at once. We were over-optimistic when estimating how long it'd take to solve the problems upgrading Mir and Unity8 at the same time would bring.

    What's next?

    I'll change gears and focus on delivering some more fixes to OTA-8 before wrapping up. Marius will continue working on Mir and other intense low-level issues.

    This cycle has included a lot of behind-the-scenes fixes as we've been fixing up automated tests on many components (especially the Ubuntu UI Toolkit -- Thank you Rodney!), allowing us to bring on new code. I've been merging in some rather old PRs (sorry for the wait, everyone who opened those) and I hope to continue to clear the queue for this release.

    Tomorrow we'll merge the changes from our xenial_-_edge_-_mir branch into xenial_-_edge. This will cause any Qualcomm devices on the edge channel to experience the problems I listed above (and could cause general instability on other devices). It will be difficult to update Qualcomm devices without having developer mode enabled (which I hope you have anyway, you're on the edge channel). If you are using the edge channel and are not tolerant to these issues (I question how you got on edge in the first place 😛 ), please move to rc or stable using the options in System Settings.

    If you're not sure whether you're using the edge channel or not, you probably are not. The current release channel is listed in "System Settings -> Updates -> Update settings, 'Channels'"

  • Has the merge been done? I want to test this on my bq E5.
    So far I've installed edge but the new mir and Unity 8 doesn't seem to be installed.
    Installing xenial_-edge-_mir also gives not found errors

  • Yes, but it didn't build 😅

  • I was wondering what's the best place to write about this and maybe more people will see this here.

    It relates to Meizu MX4 (arale) and it seems I am unfortunately not able to run the latest edge releases on my phone.
    I can use any of the following two commands but it always end up with my phone being not bootable as on power-on it always gets stuck at the boot logo:

    system-image-cli --switch ubports-touch/16.04/edge --progress dots
    ubuntu-device-flash --server=http://system-image.ubports.com touch --device=arale --channel=ubports-touch/16.04/edge

    Do I by any chance need to do a full wipe first? But I doubt that's it.

    Edit: And if I do:
    system-image-cli --switch ubports-touch/16.04/edge --progress dots -r 22 for instance
    the system seems to boot just fine. But nothing newer boots 😞

    Edit 2: So I've tried to wipe my phone completely and am still stuck on boot logo even with the latest revision (27). But it is apparently not affected by the latest Mir and Unity8 changes since 1. it is stuck right at the start, 2. revision 23 is much older, from "2019-01-02", and still doesn't work, even though rev 22 from "2019-01-01" does.

    Actual report: https://github.com/ubports/ubuntu-touch/issues/1052

  • @zubozrout, hmm, looks like the MX4 is the only one with this problem. That's weird.

  • @UniSuperBox Yup :(, but it is not the first time I've experienced something like that. Last year when Xenial was still pretty much testing it (devel) also didn't work on arale for some time.

    Edit: Oh, it was something else: https://forums.ubports.com/topic/901/xenial-ui-constantly-freezing-at-least-on-mx4 + https://github.com/ubports/ubuntu-touch/issues/434
    In that case this is a new thing for me 🙂

  • In case anyone is only following along here, we've got the issue listed in the main post mostly solved (there's still some noticeable stutter). If you bring your Qualcomm device to the Edge channel, you'll get to experience the new Unity8 and Mir!

  • @UniSuperBox said in Updates on Mir and OTA-8 (and watch out, Edge channel users):

    In case anyone is only following along here

    Of course we are ! Thanks

  • @UniSuperBox Every step gone through is a good news. Congratulation.

  • someone try on FP2?

  • @UniSuperBox

    I'm amazed to be able to switch between edge and devel channel in 5 minutes... hop hop a small trial and bug reporting for 30 minutes then prior to sleep i switch back to devel for the next day.
    I've the same feeling than when clickable got launched 😃

  • I don't get updates on my bq E5 anymore for days already but I get them on my Nexus 5. Is that intentional?

  • Which channel? I'm on rc and I got an update last Wednesday (preOTA8).

  • @kugiigi probably you know it but just in case, you can see what's available at http://system-image.ubports.com/ubports-touch/16.04/

  • @advocatux Thanks. Confirms that no image builds for vegetahd since 27.02.
    I wonder why though. Looks like only Nexus 5, FP2 and OPO has builds since that date.

Log in to reply