Ubuntu Touch Q&A 95
OTA-16 has gone to rc for testing. Fingerprint and Halium AL

 
 
 

Looking for the Audio-only version

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

button away -->

News and Update

This time, Alfred, Marius and Dalton presented.
Go to devices.ubuntu-touch.io for info about whether your device is supported.
Questions were taken first this time round.

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.

Enterprise UT

Cristian asked whether there is potential for something like an Enterprise UT, so that companies can offer custom UT devices to their employees? It could raise funds for the project? The big picture is that the foundation maintains UT and it is therefore potentially available to companies. We don’t want to sell anything to an end consumer but we could work with a business which does. That is a pretty long term prospect but we have the legal status to enable it. We don’t have much infrastructure for providing a customer support function ourselves. Volla for example have developers who are able to work with UT on devices destined for end consumers. As far as individual users are concerned, the relationship with them and the support which we provide will not be changed by any commercial alliances we might build.

Plasma Mobile with Manjaro 

Aury88 commented that Pine64 plans to ship Plasma Mobile with Manjaro ARM base. Are you surprised about that? Manjaro and KDE were able to devote considerable resources to work on the PinePhone, exclusively. We don’t have that luxury because we are involved in a variety of related projects, of which PinePhone is just one. It was suggested that while we are friends with their project, there is always a benefit to some healthy competition. Well it depends what you mean by competition. There is a large pool of people interested in open source mobile. We certainly don’t need or want to poach from any other project.

Lomiri Manjaro

Gizmochicken asked about Lomiri and Manjaro and what the main obstacle to further progress is? The answer is simply time. It isn’t about a few very big tasks but a multitude of small ones. The daily build is on Github. The Gitlab instance of Manjaro has the bug report.

Morph CPU acceleration and Notifications

Povoq asked whether there has been any progress with GPU acceleration in the browser, as mentioned in the last Q&A? The answer is that it works amazingly well on some devices but is useless on others. Basically it is the older devices that are broken in terms of that feature. It is all to do with driver support.

He also asked whether web notification support has been merged into Morph. It is a very big PR so it didn’t make OTA-16.

Anbox in OTA-16

Keneda asked about the inclusion of Anbox in OTA-16 for supported devices. MX4 was pretty much there thanks to Marius and there was hope for it to be included with the release. Just to be clear (and btw Anbox doesn’t run in a satisfactory way on any device) it isn’t Anbox itself which comes pre-installed. The installer for Anbox comes pre-installed. Just the binary is provided but not the container. Basically this lays the groundwork for later development. Anbox is quite resource intensive so under any circumstance it is likely to struggle on the MX4, which is under-powered. A new Anbox display driver may assist but it isn’t clear how much. Depending on Wayland progress, implementation of the driver in Mir might not even happen, instead moving straight to Wayland.

Fuesteam asked what is needed before Anbox can run on Arm64 devices? Technically it can be done but we need to document the process to build the container images.

VoLTE

Rik asked about the fact that there has been a lot of discussion around VoLTE, especially for the USA where it is due to become the norm. Is it only the USA moving towards that? If the protocol is very closed it will make it difficult for UT to work? If more than one region is affected, the chances of success are greater? India has actually had the problem for a very long time. In most of Europe, 2G is likely to be around for some time. 3G is shutting down in Europe in many places and for many carriers but 2G can still carry voice. The 2G network will mainly remain there as an IoT carrier but it will still be available.

In the US, T-Mobile merged with Sprint and put off their plans to cease 3G support until 2022. AT&T say they are going to do it in April 2022. Red Pocket Mobile runs on both of the major networks. They know nothing definite at the moment about an end to 3G and all are still accepting new phones which are not VoLTE enabled onto their networks. There have been some experiments in the community. One approach is to reverse engineer the java bits that talk to the radio daemon on Android. That would be no fun though, as every device category would need its own tailored solution. So Qualcomm, Mediatek, Samsung, possibly Xiaomi, etc. Another conjecture is that although the daemons which run the radio daemon are proprietary and java they are command line only or binder interface java programs, which means they don’t need the full java runtime in order to run. So possibly they might run on the Android side. Some HALs are beginning to allow the operation of Java HALs, so this may be necessary development whether it works for VoLTE or not. [see around 25:00 for the convo]

Reverting to earlier UT versions option

Cela asked about rolling back to an earlier release. They had expected Anbox to become available with OTA-16 and wanted the option to revert if something they don't like appears in Ubuntu Touch in the future.

You can revert using an image from the server without affecting your user data but you can’t do that with the installer. Many apps of course update to the latest software version so you may find that they stop working for you if you run an old version of the OS.



Sponsors were thanked.

OTA-16 has gone to rc for testing

There is a blog about that and we would welcome your help with carrying out some simple checks. A reminder that if you are an app developer with an app that relies on Oxide, time is running out fast for you to upgrade it. Specifically, your app may stop working for users who upgrade, from 10th March. Morph browser gets a revamped download UI, which is a huge improvement.

Sony Xperia X

The Xperia X has been tested with Halium 9. The aim of that was to see if NFC support and the fingerprint reader would work better with it. Unfortunately it didn’t work, so Alfred switched towards what the Sony Mainline guys are doing, especially Marijn and Konrad from AOSP. Not a lot works out of that xperiment but these are very early days. A start needs to be made with stability, then performance. CPU and GPU scaling are not implemented as yet. The Sony community's Mainline kernel is currently at 5.3 and the next target is 5.12.

Fingerprint and Halium HAL

Marius has also been working on fingerprint support and with Halium AL and Linux HIDL. Halium is an abstraction layer which sits on top of Android. It is possible with it to talk to Android via a bridge. Marius has the fingerprint working,as well as audio and vibration. LEDs  work. The point of all this is to make some stuff work on the Android side without needing access to the source code. We could simply add a plugin to the Android side and the Halium side will pick it up and make it work. Alternatively, it may be possible to augment Halium HAL itself. The switching part of Mir is interacting with this setup quite well already but the rest needs work.

Android Treble has a vendor partition and a system partition. They talk to each other via a binder, which is a messaging service in the kernel. That doesn’t need any libhybris translation. We can make a user-space library in UT which talks to the vendor library without going through the Android side. That doesn’t remove the need for libhybris completely but it removes the need for it for some things. We can modify the kernel to work with UT and boot it. What is special about Linux HIDL is that it copies what Android does with GlibC then talks directly through the same API call to the same binary interface as Android.

On Android 9 we have three basic ways of doing things at the moment. There is the libhybris way, which is what Mir does, we have the Gbinder stuff, then we have the third thing (as used e.g. by fingerprint) which involves a plugin on the Android side, which then bridges across. Halium AL does automatic switching between those three mechanisms. So, to finish up, you can have one Mir implementation talking to masses of Android functions. [see time stamps around 44:00 to try to make sense of this :) ]

Development insight

Marius has also been doing some stuff with Device-info. There are two big changes. Some stuff was moved over to a yaml based config file, which makes reading and implementation easier. It also allows easy default for different vendors etc. A load of tests have also been added to it.

We are in a semi-quiet period waiting for OTA-16 to finalize. Ratchanan has been working to clean up Lomiri’s UI toolkit mess ready for Debian stable and 20.04. Nikita has been looking at the binder bug, which is responsible for the Volla phone dropping its carrier and refusing to reconnect without a reboot. A hack has been pushed to the kernel, not as a final fix but it should help for the time being.

Some of the development strategies for 20.04 are being rethought. Our software needs to be released in a way appropriate for downstream.

Porting obstacles

Simon asked why each device requires such a different porting strategy? The basic answer is that in Android land, nobody follows any standards whatsoever. That is until Google started imposing some with Android 9 because they want to make it fit for Fuchsia. So it is a bit easier for us with that release.

Pixel 3A

Alfred has done a bit more with the Pixel 3A. There was a regression which meant that video with audio in it would not play back. NFC works and the hope is to integrate that into the rootfs itself, in OTA-17. This should enable app developers to make use of reading and writing tags, as well as peer-to-peer communication. Generalizing from the Pixel will be for Android 9 only, so Xperia X will have to wait until we can re-base it. NFC does however work on the Volla phone.

OTA-17

Our aim is to release OTA-17 in six weeks from now.

Pixel 4a

Franco asked if there is any chance of a port to Pixel 4a or other ‘mini’  devices? That was a good ‘in’ to a reminder about our porting links...

https://docs.ubports.com/en/latest/porting/

See you next time :-)

Call for Testing: Ubuntu Touch OTA-16