News and Update
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.
Cat-and-Mouse story
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
Sony Xperia X
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.
Flutter
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
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?
ARM Lomiri edition
Anbox for UT fund
Development news
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
Focal Fossa update progress
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
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 :-)