News and Update
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.
Besides 20.04 developments
New features with qtwebengine
Basing UT on 20.04 actually has little at all to do with using Wayland. Those are two distinct transitions. 20.04 comes first, then Wayland but over quite a long time-scale. In any event, neither of those is in any way related to whether you will be able to run Flatpak on UT. Flatpak applications use a confinement mode but not the same mode as is used by UT applications.
UT uses apparmor as its security barrier but the kernel module used by Flatpaks is SElinux. It does much the same thing but in both cases the protocols are mediated by the kernel, so the kernel version is critical. UT kernels as used with older builds are pretty ancient and those are going to be difficult to adapt. In summary, packaging format is not a major issue here, the question is the interaction with our APIs and the confinement mechanisms used.
Danqo6 referred to the awesome work being done on Qt 5.12 migration. What will happen with the camera back-ends for PinePhone and devices such as OP3? At the moment they rely on the gstreamer droid fix in order to work. In Halium 7.1 Camera is certainly a problem area. We are looking to make the newer fixes backwards compatible and that is likely a step change for a future OTA – though not in the very short term.
Supported devices maturity
Sponsors were thanked.
Mir and Miroil presentation
Alan opened a presentation on Mir. It showed Mir sitting above the hardware of the device, linked by software. Going off in one direction is a link to newer apps via Wayland. Another branch heads off to Xwayland and then via the X11 toolkit, to legacy applications.
UBports is still using features from proprietary Mir which are not yet available in the latest versions of Wayland. So UBports is still part legacy in that sense. Miroil doesn’t fill that gap completely but it will help with some elements. Some other new fixes for UT will have to be developed alongside Miroil. At the moment, nobody is working on that new ‘stuff’.
Lomiri is one of the things that will run on Mir and it will run on phones, tablets and laptops. At present, it is still much better adapted to running on phones and tablets. It has an additional use in embedded systems, where it manages a screen showing status information.
A German company has started making use of mirrors which run on Ubuntu Kiosk with Mir and Ubuntu Core. They are using a snap which utilizes Mir. A US company is developing something very similar using Mir, in an exercise mirror implementation.
Desktop is coming along quite nicely now, especially with Mate.
One of the key aspects of Mir is that it is designed to cope with a wide range of use cases. Mir is a library, which talks to an array of different servers. It is also designed so that it will work with a range of plugable platforms.
Wayland support for Mir when using Flutter is pretty much complete. Next to be done is providing support for multiple windows.
Miroil is a project which Alan started when he had a few days spare. It is needed for the upgrade from 1.x to 2.0 Mir in Lomiri. It is basically some elements of Qtmir which have been ported across to form ‘Miroil’. It thus provides a stable API.
An important insight which came out of the talk is that Mir is not a special thing just for UT. It has many applications.
There were questions in the live chat about the modifications to allow Flutter to run. It shouldn’t however be assumed that the developments with Mir mean that Flutter will magically begin to work on UT. Those developments might be one part of solving that puzzle but there is no support in Flutter for the Mirclient API, which would be a necessary component.
Marius popped up on audio half way through the broadcast.
On progress towards 20.04, the biggest gap is the lack of developers to see it through, rather than any technical difficulties. Lots of the Manjaro joint work helps us in taking it forward. We know now that the new Qt works nicely. Systemd works fine, although it will present a lot of different device specific issues which we will need to resolve. All the progress we are making with this is shared with Debian and we are ensuring that their repositories update alongside us. That makes the project a little more complicated and we need to balance between the two but there will be big benefits to doing it that way. Mike is doing a great job on that with us.
There are developments in the pipeline which will be very exciting for UT in 2021 but it is too early to talk publicly about those.
Devices in work
Flo is still working on the port for the Nexus 6P but as well as that he has a Pixel 2XL and a OnePlus 5T! The last two devices were made available by members of the community. Marco and Christian facilitated that.
Alfred has made some progress with recording videos on Halium 7.1. It means that a fix for the problems of the OnePlus 3T is not far off.
Power saving on the Xperia X has been improved. Notifications are no longer held back and charging is possible without turning on the screen !?!! Quite a lot of unseen work has gone in to improve stability too.
Call for Miroil development
Alan is looking for people to assist with Miroil. There is no requirement to have a UT capable device in order to do that. In a few weeks there will be some more documentation written by Alan, to help you along.
Call for helping Marius with documentation If there are people out there who have particular skills in writing technical documentation, their assistance would be of immense help to Marius and others. It doesn’t need a deep technical knowledge but it does need some familiarity with the specialist terms used.
Our main page on docs.ubports.com has had translations removed where their coverage was very small. There were only a few words of Romanian and Turkish in a sea of English, so for the moment we will take those out. Volunteers for those two languages could help us get a more or less full translation for each and we can then put them back up. On the plus side, Polish has just hit 100% translation. We also have full coverage for Russian.
On the PinePhone front, we have been very aware of concerns in the community that PinePhone has not been getting a lot of support recently. One of the things which made us particularly excited about PinePhone was the expectation that it would draw in a whole layer of new developers. Well it did but largely to other distributions rather than to UT, so we didn’t get the boost we hoped for. Where we differ is that we are dealing not just with the PinePhone but also with legacy devices, Android 9, and Volla etc etc. Other projects are dealing only with PinePhone and don’t need our more demanding cross-platform approach.
Actually PinePhone didn’t stall completely because it just got the general Qt upgrade and hardware acceleration of the camera. Where it has stalled is in the kernel department.
A final question was whether it will ever be possible to port Csharp apps to UT? Well are there even Qt bindings for Csharp? Alan asked about the graphic stack used with Csharp – what is it? Microsoft developed dotnet core, which is very good for back end services and works natively with Linux. But it has no bindings to a graphics stack. There is some work ongoing which might impact the UI possibilities. Marius confirmed that there are Qt bindings, so potentially there is a way forward. The nice thing about Csharp is that it avoids all the nasty memory leak and memory management problems you can get when working with C++. MultiAppUserInterface (MAUI) is the thing.
Modern UT devices
A repeat (final,final) question was about a ‘more modern UT device’. Notkit has been playing with OnePlus 10 5G, which probably qualifies…
Marius ended with a special shout out to Rachanan for the amazing work he has done with video recording on the PinePhone. It now flies.
See you next time :-)