Ubuntu Touch Q&A 119
Mir on desktop and Lomiri on phones, OTA-23 release day

 
 
 
 
 

Looking for the Audio-only version

of the Q&A?  You're just one big orange

button away -->

News and Update

Ubports Q&A 119 on 25 June 2022

Florian and Alfred presented and their guest this week was Alan from the Mir project. And Marius was there!

This edition is specifically about Mir on desktop, with Marius contributing some information about Lomiri on phones.


Q&A sessions

The frequency of the Q&A broadcasts has reduced sharply but that doesn’t at all mean that activity has ceased.

First to NEWS

Starting on 11 July, any contribution in Prs and MRs for 16.04 version of UT must have a corresponding submission for 20.04. If you don’t submit for both, your 16.04 related change will be rejected. The main branch is now Focal. If you make a submission for that, please make a backport where applicable. The same arrangements are in place for core apps. Their maintainers probably already know this.

OTA-23 will be out on 28 June. You can read about all the changes in the blog post.

Clickable Docker images are being made available to app developers. There are still some package issues to resolve, particularly around the Samba client.

More apps are getting adapted to Focal now, including Calendar, FileManager. They are being moved to the Lomiri toolkit. Some are more easily built as Debian packages.

Multiple SSH sessions now remain intact. Some of the changes will be obvious to everyone but some improvements will mostly be noticed by developers, as support and function are refined.

Alfred’s impression is that apps already launch significantly more quickly using Systemd than they do at present with Upstart.

Alfred has been looking at Waydroid. In particular he wants to get it working on a multi-window basis, integrated at system level with UT. There is no timeline for that, it is just an eventual objective. Mir will be key to that, for example in the proper stacking of surfaces.

GTK in Wayland on Xenial is still a thing to be explored. Alfred is looking at a GTK3/Electron hybrid for use as a UT app and hopefully as an encouragement to others to see what they can build in a similar way.

Mir, Miroil and Upstream sources

Alan Griffiths gave a presentation on Mir, which is a set of libraries which are designed to make it easy to build on a range of compositors. It has now migrated to Wayland, which is becoming the Linux standard.

The original idea was to build Unity8 for use on phones, tablets and desktops. As a proof of concept Alan built EGMTE, a very simple Mir desktop shell. It works but the hope is that Lomiri will eventually provide a much more sophisticated desktop based on Mir.

Kugiigi asked whether we are likely to see multi-monitor support any time soon? Actually, as soon as you upgrade to Focal, you automatically get it because it is included in the source. It was part complete under Canonical but Marius has taken it further. For example, you can now plug in two monitors and drag windows between them. It is not without bugs and has had no testing in the real world but the basics are there and work.

At the moment there is no support for having staged mode on the device, while showing windowed mode on the desktop. In Lomiri as it is now, each monitor has its own ‘shell’, so in theory there is an opening for manual mode selection. At the moment there is no practical implementation of the necessary steps though.

Florian asked whether we could have a scenario where a connected UT phone would simply have a blank screen, rather than act as a touchpad? Marius replied that we have necessary things in place to allow that but at the moment it hasn’t been implemented.

UT has a very limited configuration system at the moment. Alan commented that the same is true of Mir. It functions but very little configuration is possible. The aim is to change that. One classic illustration is that with a large screen attached and the laptop closed, the laptop screen stays lit!

Alfred spoke about Jingpad which is designed to switch to a desktop mode when the keyboard is added. The same works with the PineTab.

ixsvf asked about Ubports’ plan to make use of upstream sources as much as possible. Is that actually going to happen? Well yes, to give the small example of the indicators, they have already been switched and will be updated from the upstream. The policy is a matter of necessity because we just don’t have the resources to handle everything ourselves.

If we take Mir as an example, we are still patching an older version and that approach is messy and time consuming, We want to jump to version 2.0 as soon as we can. Marius has started moving Miroil code into Qtmir. That is a step to full integration and getting rid of the legacy structure.

Miroil is a project which takes some of the libraries which depended on Mir. Mirserver has been moved from being an external library component to being a core part of the Mir structure, hence the need to move Qtmir capabilities across.

Fuseteam asked what Qtmir is? It is a Qt based compositor for  Mir, but as it has grown is had evolved into a workspace manager, session manager etc.

If Mir didn’t exist, the challenges facing us in taking UT forward would be hugely greater, so we owe Alan and his team a great debt. At the same time, it is not a one way street. We co-operate and it is fair to say that our efforts have helped the Mir project.

The mirserver.io website contains a lot of information for those who want to delve deeper. From a Canonical point of view the main function of Mir is to operated in an embedded environment, such as the screens on control machinery. One niche function is to drive smart exercise mirrors. There is a postal pickup system in Turkey which uses it.

Florian suggested that a car with Mir in its operating system, in tandem with a UT phone, would be great.

Sponsors were thanked. We are truly grateful for every donation. And making a donation is very easy to do. Select one of our options.

Questions


The News section of our Forum is the best place to post questions for the Q&A. YouTube live chat,Telegram and Matrix are other places to post a question.

If you didn't know, the Forum questions get priority.

Lomiri on desktop in Debian repository

Once we get onto it, what are the features which it would be nice to see as part of Lomiri? Will inclusion in the Debian repository make a difference?

In the short term, there will be no visible impact of the Debian work. It is part of a very stable system so there would be no dramatic effects but the gradual movement into other operating systems. As with anything, the real movement will come when bugs start to emerge, which in turn will lead to them being fixed.

Rather than the issue being about how to improve Lomiri we are at a more basic stage where the aim is to get it working and in use. 

Lomiri is not a development of other desktop environments. It is very new and different. At the moment, Lomiri runs on a phone so for anyone thinking about becoming a Lomiri developer, it is a very unfamiliar way of working. The setting process alone is very messy and frustrating. When we finally have it on a standard desktop environment, it will just run and people will be able to play with it. The barrier to trying it out will be removed.

There is a difficult balancing act. We want to stay true to our roots as developers of a mobile OS but by extending to desktop we will get a lot of gains which will feed back to mobile.

Alfred was arguing the uniqueness of UT because of its mobile nature, expressed in things like sandboxing of apps. Alan then said that the gap is narrowing because desktops are adopting some of those characteristics and becoming more like phones. Increasing demands for security and driving development in a direction similar to that mapped out by Canonical and brought together in the UT phone. 

With a conventional desktop setup you are forced to update globally, even for functions which you never use. Contained apps and packaged app updates give a much better sense of what you have on your device and allow you to make choices about what you upgrade.

We don’t communicate this very well. The default idea that people have is ‘Ubuntu on a phone’ and that really doesn’t describe what it is about. Ours is not a ‘traditional’ approach but for that we have Libertine containers, where you can operate to some extent in a traditional Linux desktop way.

Mir upgrade

On Aury88’s question about what a Mir upgrade will bring, that isn’t directly relevant at the moment because with Focal we will stick with Mir 1.8.2 initially. One big change is enough and we don’t want to complicate it by a major upgrade of two elements at the same time.

When we do get around to upgrading to the latest Mir version there will be better support for some Wayland protocols but that may not be very visible. For developers, the newer version means fewer bugs, which is obviously great.

There was a question about whether it will run on the Raspberry Pi 4. Yes, it does already. The older version that UT is still using may have some problems though. Some applications have problems with the EGL on the Pi 4.

Focal upgrade

How much of the good stuff put into Xenial by Alfred and others can be ported into Focal when we upgrade? The answer is pretty much all of them. The work which has been done on Xenial has been designed so that it will fit seamlessly into Focal. Some of the directories already in use benefit from the upstream so they are in good shape.

Ofono is something we should discuss. We are using a very tired old version. We have patched it so that it now can use cell broadcasts (that is emergency and Covid stuff etc). We need to sort out a UI and a push notification mechanism. We ended up using Sailfish as an upstream because Mir is a bit slow accepting Prs. On the plus side, Marius reported that this problem of flow into the upstream has been addressed so well that it is really only Ofono where we are still lagging behind.

A quick note

Tiling does not work on the Pi 4 and that is a known Mir bug. Marius has cooked a channel which includes Mir 2.0. It is a very hacky build still but someone could test it on Pi 4 and report back?

20.04 transition and changes for porters

Matthew asked how much work the 20.04 transition will impose on porters? Files are overlaid differently on top of the rootfile system. We have organised it in a special way to ease the upgrade process, rather than just for the functioning of the new system.

The debugging process will be different. You can now use SSH and ADB for debugging. We have used USB ModeB from Sailfish.

The differences are not massive but there are changes which will have to be learned.

Non GSI images for Halium

Ruben asked about non_GSI images for Halium 10 and 11. Well you can make an individual image for Halium 10 and 11. The Pixel 3a does not use the generic approach. The generic approach assumes that the vendor partition is perfect. That actually may not be a safe assumption at all. Both approaches have advantages and disadvantages.

We have a great number of interesting areas where developers can engage with our system. You are very welcome to contact us if you would like to know how to get started with that.

Q&A sessions

Finally, we would like to throw open an invitation to someone to lead on getting out Q&A sessions, so if you would like to be a presenter, let us know. A once a month slot might be better than the fortnightly session we used to have. Bring your ideas too.

See you next time :-)

UBports Training Update 5 aka 0101: Found a way to push data from the phone to the WebViewer!