Ubuntu Touch Q&A 108
Wireguard VPN, Focal developement, OTA-19 RC, Miracast support


Looking for the Audio-only version

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

button away -->

News and Update

UBports Q&A 108 on 11 September 2021

Presenting this time were Marius, Florian and Alfred.
Go to devices.ubuntu-touch.io for info about whether your device is supported. The documentation to help people port devices to UT has been greatly expanded and improved, so make sure to check it out.

Apps news

There was a brief discussion about the UT GSI (Generic System Image), since that gets confused with other things. A name with Halium in it might be clearer?

Matteo has as usual looked at new or improved apps appearing in OpenStore. There are two things courtesy of David Ventura, one of them Wireguard VPN and the other is an app which can read Keypass keys from a file. You can also store a password to file.

Focal development

It has been another busy couple of weeks with Focal. A lot of attention has been given to system settings and all the components around that. There have been some minor re-writes and even some adjustments to get the components to build. Indicators are now working well and Alfred pointed out that they are working in the development environment too, allowing them to be tested. Try out the PDK if you would like to help in the testing. For much of our development work PDK is now the method of choice because it is so much simpler.

OTA-19 rc and OTA-20 

The next OTA to arrive will be OTA-19. We didn’t want to put bug fixes and improvements in 16.04 on hold while we work on 20.04. We have been addressing quite a lot of regressions. Trust prompts stopped asking for permissions correctly and after switching to 2G internet speeds for some reason collapsed. Auto-brightness has been got back to a usable state again. The final rc (which is the basis of the OTA-19 stable release) has already been published to the channel. The call for testing will go up on the forum shortly. Basically, we need to get all of the items in the QA column into the ‘done’ column and then we will be able to run with stable. To be reliable, we really need multiple independent verification's for each test. We should be able to go by 20th September at the latest.

OTA-20 is already under discussion and a few items have already been added to its homepage. The headline issue there is that the trust-store is not able to handle child processes properly. So in the browser for example a request to allow access to the microphone as part of some wider action is not recognized. Rachanan is working on some patches that look promising. Notifications with vibrations are still missing from all the devices using Halium 9 and 10. We are aiming to get a patch for that into OTA-20. We also hope to get the notifications and charging layers properly integrated into those devices next time around.

One thing which has been pending for a long time is the ability to import pre-configured VPN settings, so that setup is no longer fully manual. It should be possible to generate a config file on your computer for a particular service and then transfer that to your phone, to get a VPN service running. We are hoping that this too will be in OTA-20.

Some people have problems with Google logins while others do not. Some patches to ease that should also find their way into OTA-20.

Miracast support 

Alfred has been continuing his experimentation's, this time around Miracast support. This is a wireless mirroring capability, either to a TV display or to a computer monitor. The test device was a Pixel 3a running Halium 9. The same principles could apply to Android 7.1. For 64 bit there are currently some issues.

Alfred tried building two different coder intermediaries, one through droidmedia and the other through the backend. One uses gstreamer and the other uses droidmedia directly. The bugs that we have in our system now were still visible with the droidmedia setup. It has illuminated what has been going wrong though and Alfred is currently working on a fix, based on those insights. Alfred relies very heavily on mirroring so he is very keen to get it done! There is a mismatch between the 64bit rootfs and and the 32bit media process on the Halium side. If anybody out there has a particular insight into the detail of that handover and would like to help, please get in touch with Alfred. There is no timescale for the fix but the strong hope is that it will be done earlier than than the move to  20.04.

With the shift to home working, it has become especially important to be able to do at least a few things by projecting the phone onto a large screen in desktop mode. Aside from that, being able to do presentations to a group on a large screen from your phone would be awesome.

Marius and Florian works 

Marius has meanwhile been doing a bit of work on convergence. Just to be clear what we mean by that, it is the ability to run an app with its data on screens of greatly different sizes, with some UI transformations which take place automatically to make it usable at that scale. LiberaOffice is not ‘convergent’ because although it can technically be displayed on a mobile screen, it is still scaled for a desktop and therefore unreadable. The UI does not transform.

Marius has been working on XDG Decoration. It is controversial, with Canonical saying no and everyone else saying yes. It is a protocol for allowing the server to make a client-side decoration or a server-side decoration. UBports and Lomiri uses server-side decoration. This is because we want a consistent look from the core, rather than a fragmented appearance. Gnome does not support it but there is a PR up to implement it but it has been stuck there for a while without implementation. Gnome does however still support an earlier implementation of something similar. The client has to obey the rules that the compositor sets. The KDE variant says basically “I want you to do this but you can do it differently if you want. If for example Gedit is installed on UT it will look out of place because it has a header bar and shadow which ignore our UI rules. So Marius has been looking at how to resolve that difference of mechanism, to get us a step closer to compatibility.

He has also been working with Qtmir, cleaning up the Mir 2.0 implementation. Marius is using Lomiri as his daily driver on desktop now, not because it is perfect but because it prompts him to fix issues to overcome the pain it causes. Getting annoyed by bugs is a very good way of getting the motivation to fix them.

Florian has been playing around with a big screen and Libertine and getting better results than he expected, for instance with chromium. Aaron gave him a startup file which does get it going but at the moment it doesn’t accept any inputs, including mouse or keyboard.

Sponsors were thanked.


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.

BQ devices future

Domubpkm asked to clarify what the future is for BQ smartphones like the 4.5 and tablets like the M10, once we reach 20.04? The problem with those early devices is they were ported by Canonical but the source code to the Android side remained with the vendors. We need to move media handling and sensor drivers for devices as we move to 20.04. We do have an absence of tablets in our line-up and that is something we probably need to look at, now that we have the GSI to make that easier. Moving to systemd in our rootfs will not play with the kernels of those older devices. Even if we could rebuild the kernel (which would be possible but would take a great deal of effort) we still would not have access to the Android tree.

As Marius said, we have a very small development team and we have to choose between maintaining how we are and moving forward to the future. We have decided to move forward by embracing 20.04 and that means we will have to leave some things behind.

UBP 5.1 is a slightly different case as it came after Canonical but it still lacks a lot of what we need. Where possible we can take devices forward to the Halium based 7.1 [thinking Nexus 5 and Oneplus One here] but if that turns out not to be possible those will also have to be dropped. If there are people in the community who want to keep the old stuff and are able to maintain it, they are welcome to do that but the core team does not have enough resources to do that.

The supply of working BQ devices [not meaning the Uplus…] is practically zero, so this is not about new entrants, only legacy. We know that the Volla phone has the number two place on our push server stats. That happened because you could buy it new from a store with UT pre-installed. Volla X is moving up fast for the same reason. Buying used you risk hardware problems and a tired battery.

We will not hurry to shut down server support for those stuck on 16.04 on older devices but we repeat what we have said before: it is time to get on the Android 9/10 train if you possibly can [and yes, we need some ported tablets…] 16.04 has some nasty security weaknesses, especially on the Bluetooth side. We really don’t want our user base to be open to those exploits but on those outdated phones we are in practice unable to protect you. Please move forward with us.

With Halium 9 (and even with Halium 7 to an extent) we were able to get improvements by swapping out droidmedia for example. With the adoption of systemd, we have kernel needs which cannot be satisfied by the old devices. Halium can evolve, while with old devices it was always about applying workarounds to get a fixed, unchangeable system to work. We have borrowed a lot from Sailfish and they have borrowed a lot from us. That is hugely beneficial but again we cannot get anything productive out of the redundant devices.

Android itself is a very fast moving target. If we fall too far behind we will find ourselves locked out. We must move forward all the time. Remember that we have supported these devices long after the manufacturer lost interest in them. The absence of LTE and 4G capability in the hardware [wifi bands too] is gradually making a lot of the older devices useless. When 3G switches off there will only be 2G, which is hopeless for most use cases. We need to be taking 5G seriously. It isn’t urgent yet but it is much better to get ready before it becomes urgent. “We don’t jump up the stairs, we walk up the stairs”.

Thousandtopics asked what UBports would do with €1 billion?

Well Marius would buy a Tesla and port it to UT just for fun:) But seriously, that money would hire a big team of developers and they would work to fix stability beautifully and then add a load of new functions. Florian argued that with big money, hardware development is really where the important changes can be made but that really does burn up money. A station dock would of course be very high up on the new hardware list.

Top asks apps development votes? 

Second question was whether we have plans for a vote on which type of app users most want to see. Purism has a ‘fund your app’ page. Well we probably won’t ask because we can practically guarantee that the top asks will be Whatsapp and Snapchat and without the co-operation of those companies we simply cannot deliver. Also high on any list would be Firefox. That is a lot more realistic to be honest and we will eventually get there but in our own time. Signal is bound to be a top ask and of course we already have Axolotl but a fully featured version of Signal is not possible without Signal’s help and they are not interested.

Our big hope is that Waydroid will pull us out of this mud by delivering all of those applications in their native form.

If funding is available to help with app development, it should go to the developers who are working on them (such as nanu-c with Axolotl) rather than coming to UBports itself. The core developers don’t want to be the lead on app development. Providing the platform is their role.

Sharing apps across system distributions!

Final question from thousandtopics: we have links with many groups such as KDE, Manjaro, postmarketos etc etc. Where is the potential for sharing apps across those system boundaries? Well we have already made progress. PureMaps is already working nicely on UT. We work together a lot because we have similar issues on mobile. There are some complications. We have a very open view on Qt but others take a more severe view and don’t want any Qt on their system. There are also other differences. We insist on our trust-prompt integration but that is completely absent in other systems. Taking Elementary OS on desktop as an example, they see themselves as mainly free-standing and independent, with their own way of doing things. The advantage of their approach is that everything looks the same and feels the same in their UI. There is something to be said for that pursuit of consistency and actually our approach is very similar to theirs.

Linux provides lots of freedom but the result of that is lots of fragmentation unlike Mac OS and Windows, which are highly consistent but also completely rigid.

If we want to use upstream for apps, our problem is that if we adapt for one system, we become more closed for another. So we are a victim of the divergence. But having said that, Plasma uses the UT keyboard. Cooperation is real.

In the real world, we take care that the core apps follow our UX guidelines but even if we wanted to we don’t have the resources to monitor or enforce design guidelines on apps in the OpenStore. Even in Windows these days there is a lot of UX divergence. We want to provide a good user experience but at the same time we don’t want to remove your freedom to run whatever you want. Somewhere between the extremes of Android and Apple is probably about right. We respect the basic daily driver user and we respect the crazy experimenter [though we don’t offer support to the latter!] We try to provide for both but stability for the daily driver user always comes first.

Getting Wayland working well on Lomiri is being worked on and we will reach better compatibility as a result of that.

UBports Trustee applications status?

Bolly asked about applications for trustee status with UBports Foundation and the voting rights which go with that. If there has been no reply to an email after two weeks should we be concerned? No, not at all. We are working through those. We are still in late summer holiday season.

Volla X phone and Volla phone

Guergana asked about progress with Volla and whether X is really very different from Classic? The differences are fairly small but the X has a much bigger battery and has a more rugged construction. There is very little difference between them, in terms of what works and what doesn’t work. The devices page has now been updated with Volla X so you can check on it there.

Wireless Display and SlimPort

Ruben asked about Wireless Display and SlimPort and the regression around that. FP2 and Oneplus One have not been affected by changes in the 16.04 transition so it does still work for them. See Alfred’s comments above to see how his experiments with Miracast aim to get this functionality back for Android 9 and 10 devices.

Convergence and Waydroid

Luke asked about the likely benefits for convergence and Waydroid from the re-basing to 20.04? Is there a feature we should look forward to? Wayland support needs a lot of fixes so that is the major issue. That will obviously bring the ability to run Wayland apps. That is not ‘convergence’ specifically. But running Firefox when you are connected to a big display will be a benefit. Systemd support will be nice but we shouldn’t forget about all the stability and security benefits that we will achieve. What you should not expect is anything magical and noticeable in the user experience. The improvements will not be particularly obvious to the average user.

One of the big issues we have is with handling application activity in the background and systemd has the ability to help a lot with that. It can balance conserving battery with some background services. It will enable cpu scheduling and an app priority system, so there will be some visible improvements to function.

UBports device web-page

Finally, just to briefly point out that Capsia has done some amazing work on the devices page. Functions which really matter now get more points than marginal functions, so the overall scores give a much more real world impression of how devices compare.

See you next time :-)

Ubuntu Touch OTA-19 Call for Testing