Ubuntu Touch Q&A 97
Pinephone kernel upgrade and Focal Fossa progress


Looking for the Audio-only version

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

button away -->

News and Update

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


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.

Cat-and-Mouse story

Oliv has followed the project for only a few weeks but asked about the practice of playing ‘cat-and-mouse’ with upstream projects like Qt and Ubuntu. Why isn’t more of the time spent doing that put instead towards fixing UT issues and sorting them by priority?

Well it is true that we have just spent a lot of time upgrading Qt and we are now immersed in managing the switch to Focal (20.04). The good news is that once we are out of that tunnel we will be with 20.04 for another four years or so. The really big element of all of this is getting packages into Debian because once that is done it relieves us of a huge amount of work, porting them across ourselves.

We hope that doing this will also enable us to provide an experience on desktop, which is our long term aim. At the moment we are at around the 30% stage with Debian. The next upgrade in Qt will be a lot easier than the move to 5.12 and in fact we have already done a lot of work on the next one, through our Manjaro co-operation. Qt 6 on the other hand is going to be a nightmare, so we are not thinking too much about that right now. Basically ‘cat-and-mouse’ is just the story of software.

PinePhone progress 

GizmoChicken asked about progress with the PinePhone. The project pages say it uses Wayland rather than Miroil to speak to Mir. There has been no update on the Wayland part of the project since July 2020. So do the issues posted there affect the PinePhone or not?
What the page shows is that the work has not yet been done to get it into the main development branch. The main goal is to get the Wayland stuff into the Xenial branch, so it is not strictly just a ‘PinePhone’ page. For the moment it is of course the case that PinePhone is primarily affected by these issues.

Sony Xperia X

Mario.CH had a question about the Xperia X and comments made in Q&A 95 about Halium 9 and fingerprint and NFC support. So what is new with the mainline kernel?

Konrad from the Sony Mainline group is leading the work on the kernel and Alfred is not actively involved with that at present. It is new work and they need to take their time with it to get it right. On the hands free car kit there is also nothing much to report at present. Alfred has looked at the issues around making an SCO connection between the headset and the software that is supposed to talk to it but he has a lot of other projects running at the moment so that one will have to wait a bit.


Aury88 asked about Flutter, which is set to become the default app format for Ubuntu. Will the work being done on that have any consequences for the possibility of getting Flutter functionality on UT?

It is an exciting project, particularly as it would bring cross-platform compatibility. It isn’t yet working right in Linux but these are still early days. Google and Canonical are working on back-ends for Wayland. In principle that should open the door to future working on UT but that is not going to happen soon.

Programming languages

Aury88 also wanted to know something not directly related to UT. He asked which programming language was first for each of the presenters and which their current favourite?

Marius began with javascript. He then used .bat scripts in Windows to make installers for his friends, then [very briefly!] vb.net, then Python. Today, he is happiest with C++. Combined with QML, that is ‘everything’. Dalton started with ‘001 Gamecreator’, which was flowchart based programming – a great discipline for what followed. After that he moved to vb.net, which language made him decide he wanted nothing to do with developing, ever:)

Dalton doesn’t really take to any of the languages although he gets along okay with Python. Alfred began with VisualBasic 6. At school he studied C sharp and Java. From that developed his use of C++, which is the language he likes most now.

Florian used BASIC first because it came with the Commodore 64. In school it was Pascal. VisualBasic, mainframe, micro-controller followed, with a lot of C, then at University Java, Prolog and Ada (which is very beautiful but useless). Day-to-day he uses Csharp and likes it because it is very rich at pointing out errors when you debug it. Marius commented that the same is true of C-lang. All agreed that they don’t like Vala at all.

Pixel 4a 5G coming?

Theb4stl asked if we could confirm the rumor that UT is coming to Pixel 4a 5g? Only Marius had heard that rumor but he had no idea whether it was true. If someone is porting that device, please make yourself known.

ARM Lomiri edition

When is Marius going to give some time to ARM Lomiri edition? It is something he wants to do but he doesn’t have the time at the moment. Focal Fossa (20.04) is the priority right now so realistically no more progress will be made until that project is complete.

Anbox for UT fund

Florian announced some great news. UBports has now launched an official fund to hire a developer to work on Anbox for UT. Rudi and Steve have started a community fund-raising effort at GoFundMe. Look for the Anbox link. They are also taking the lead on looking for a suitable developer or developers.

Development news

In news, what we are trying to do with OTAs is to minimize the delta between images for different devices, especially between Android 5 base, Android 9 base and Mainline. With different code-bases there is of course more work involved. This generates some gains.

We have fixes for thumbnails and media playback on Pixel 3a. Rodney fixed Docviewer app. Jami has got a long way towards fixing charging mode on the Volla phone and that should also benefit other Android 9 based devices that have similar problems. Our CI infrastructure has had a major upgrade, which will assist us a lot in building Focal. In other Android 9/10 stuff, the camera was ‘accidentally’ fixed. OnePlus 1 camera flash is fixed. Oddly, the fix came from the work on Android 9 but it is not clear how. Flash and zoom also now work on the Xperia X and several other devices.

Alfred has been doing some more work with NFC. That involves importing NFCD from Sailfish OS, which has just been upgraded to a new version. Alfred and Erfan have been working together on that, including packaging. The NFC settings panel has been merged, along with writable pad integration. When you toggle the switch you can save the states across reboots. You can switch NFC off or on there too. Inclusion in the system image may happen fairly soon if there is enough confidence in it. Alfred has been working on the writing function for the new version. Qt APIs can be used to write to tags now. That aspect has not been merged yet but is intended for OTA-17.

Matteo Salta provided a lot of the necessary input for the writing function. Alfred demonstrated the storage of a tag on his Pixel and showed the notification working. NFC form number 2 is the type supported. Only single record writes are supported for now but that is already feature parity with Android, as they have a limit of one.

Work on NFC peer-to-peer communication is also ongoing. The main barrier at the moment is finding a way to relax the Apparmor rules without compromising security. If we can fix that it would enable registering to servers. Hopefully that will make it to OTA-17.

Sponsors were thanked.

PinePhone news

Dalton has been working to put together a new Stable release for the PinePhone.The kernel upgrades you will be able to get through Settings and you will be redirected back to Devel when done.There is a problem with all distributions for the PinePhone, where the modem acts flaky. Dalton has made a small change, to restart ofono any time the service collapses. That isn't a fix for the problem but it is a workaround for the worst effects. It doesn't stop the crashes but it does make it more likely that you will be able to receive texts and calls. Bhushan has spent two days already trying to figure out what triggers the crashes. All of the projects working with the PinePhone have the same issue. Dalton has fixed auto-brightness on the PinePhone and a consequence of that is the same fix for Android 9 based devices. Another unexpected happy accident. The camera is working again, after it broke with a kernel upgrade. It still only utilizes 2.1 megapixels but it 'works' !The 'volume down' button doesn't stick now every time the device wakes up. Our thanks to Samuel for fixing that one. A big shout out also to Andre who is leading the work on the kernel upgrades that we are all using, [including the USB-C bridge driver]. There is a big group effort going on, with too many to mention. The PinePhone now always wakes up when you plug it into power.

Focal Fossa update progress

Marius provided an update on what has been happening with Focal. Apparmor fixes are in, Click is implemented. Then NCIcore, FCD, NFC stuff, libutil, libQtbinder, libQtbinder radio, ofono and related stacks. Lomiri UI toolkit has been moved into Gitlab. Rachanan worked with Marius on these. All of the Qtmir dependencies are built. Qtmir is actually in Focal. Rachanan has been creating a Devel recipe for building Focal images. Bear in mind those are minimal builds and do nothing but they enable you to start a session. This will be useful for anyone who wants to build for the platform and provides them with a new building tool.

The Debian packaging work is proceeding well. Libdeviceinfo is now in the queue for new stuff in Debian. It is a library which detects which device is operating and has a specification for what each is capable of. That includes automatic detection of scaling for example. Beyond that, it can tell the difference between a Halium device and a Mainine device and switches drivers automatically. That in turn makes it possible to have one root-file system for all our devices.

The process of building for Focal Fossa is forcing a tidy up of the ugly hacks we made across a range of devices over the past four years, so there are spin-off benefits already. That is in addition to making a lot of our work available to other distributions. It has greatly improved the discipline over our release schedule because we have to now co-ordinate closely with Debian. Our branches no longer look a mess. Or at least the stuff on Gitlab looks tidy now. The same cannot be said for Github. Our fixes for systemD developed in our joint project with Manjaro are finding direct application in all of this. In essence, we are learning to behave like an upstream. An exception is tests. We are still weak on that. It doesn't mean we will stop working with Manjaro. The Focal work reflects back into that, so we get both. Not only Manjaro but at some point Fedora too....

One Plus 5T

Florian spoke about porting OnePlus 5/5T. Although a lot of things are working, some strange things have been going on with recovery. After a couple of hours looking at it closely, Florian seems to have found an answer and it will now be possible to start testing with system images and the installer. It is expected that those devices will go into beta testing soon. It won't be available for daily use yet but once we get it into the installer, it should run sufficiently that average users can help with testing on it.

Battery indicator, Bluetooth back-porting, UT performance

Some devices have strange behavior around indications of charging state, failure of the charging history graph, not turning on or off etc. Florian has found some indications of what is going on with that but there are no fixes yet. Basically, Android 9 introduced a variety of 'virtual batteries' and the system is mistakenly looking at those and therefore not seeing the real battery. The software itself works but it is looking at a 'battery' which of course never charges... This poses a challenge because as an upstream serving desktops and Mainline devices, we don't want to embed fixes that are only relevant for Android 9. 

Florian worked with Aury88 last week on some Bluetooth back-porting. A live-stream was made on YouTube, showing the terminal doing kernel patching. Live hacking sessions like that may be interesting for a few people in future. It went well.

Marius has been finding time to make performance better. He hasn't found any glaring underlying problems yet but he has identified that QML handling is an area where we could do even better, in particular by improving memory handling and CPU usage. That doesn't mean any instant fixes but Marius will be working over coming months to build in more refinement. At the moment QML is binding more than is desirable.

A lot of the things described above are quite new and all adding improvements together, so we are on a bit of a roll. Dalton tries to pick out themes from our forum and groups, to identify topics to discuss in more detail in Q&A sessions but if you feel that something is being missed and you would like it talked about, please flag that up with him.

See you next time :-)

Ubuntu Touch Q&A 96
OTA-16 coming. Dalton´s thanks to great people working on UT