News and Updates
Marius, Florian and Jan are present this week.
Jan gave a foundation update. Documents are being signed and the bank account is being set up etc. ‘Christmas in June’. The foundation will soon be fully functioning.
Alan Griffiths – who by the way is the project lead for Mir - replied to another question, concerning Unity8 and Mir, in their new versions. We get lots of questions about all of that and we have never really explained it properly or said why it is so important.
This is a good time to explain how some of these things fit together. A new Mir version; a new version of Unity 8 which will work together with Xwayland (which will replace Xmir); enabling apps with a toolkit that supports Wayland; migrating existing apps to Wayland; migrating compositor components to Wayland. This is by no means a complete list of all the things that need to be done but those are the core things.
Marius explained that these things have to be done in in a set order and Alan has very helpfully listed them in that order.
Marius is actually using Unity 8 on his daily driver device, which is a pain still but nevertheless does work. It is already fairly stable (not as in stable release!) and it is fast. The keyboard crashes though and memory is messed up.
Unity 8 has to be developed in tandem with Mir. They are dependent on each other and have evolved together. Canonical did some work with the new version of Unity, so of course they did work on Mir to match that. Together, they bring performance improvements, such as with events. They also bring stability improvements.
Having said all that, the new Unity 8 was being developed mostly for desktop, early on. So it is actually more stable on desktop than on phone at the moment because that is where it started. Rotation issues are an example of issues that really only affect phones.
The development work then was around the time of 16.04 and 17.04.
Canonical’s main focus was to deliver new things. Our focus is different because for us, stability is absolutely central. We need to make it usable for everyday users, not just on the desktop but of course most importantly on phones.
Along with the stability, it will bring new design, including a new drawer. There will be a whole new desktop mode. The global menu will arrive. A lot of stuff is in there to be used but has not yet been enabled.
Another important aspect is that it fits with our overall policy of reducing to a minimum the components that we have to maintain entirely by ourselves, by tying into the work of other project teams. For example, Canonical is still developing Mir 1.2, the version which we are integrating now.
As a next step, we are switching out Xmir for Xwayland. Xmir is the windows server that (most of the time) only runs under Libertine. It provides legacy app support. For example, LibreOffice connects to Xmir, which connects to Mir, which delivers what you see on the screen. Xwayland on the other hand is still under development and includes improved scaling support and proper free-floating window support. At the start, Xmir was way in advance of Xwayland but now it is the other way round. Xwayland has now been accepted into the Xserver upstream.
The Next Steps
So the next big thing is that instead of running legacy apps, we will be able to run Wayland enabled apps directly within Ubuntu Touch i.e. without Libertine.
Actually before that we need to check that Wayland is capable of running on Android devices. (“A mere technical detail”…) We have also to make sure that QtWayland is properly installed and can be used.
So what we are talking about is GTK apps that use Wayland. Or apps which natively run using QtWayland. Without any conversion stage.
The step after that is to take the apps which we already have on UT and convert those so that they will run on Wayland. Some from Mir + QtUbuntu to Wayland. It will affect Media, GPS and a load of other things.
We maintain QtUbuntu, also known as Ubuntu Mir Client. It provides for platform-specific integration in UT. It is working okay and there are no emergency aspects to its use but it does lack a lot of things which are available in the alternative, which In this case will be the Qt project. This will take over the entirety of our platform abstraction (eg camera, video playback etc).
Just to be clear, this doesn’t mean that we will just lean on the hard work of others. We can and will contribute to those upstream projects, which will in turn benefit others. We will be able to spend more time working with the KDE team too.
In the next release, we will not of course be completing all of the stages described above. We will deliver just the updated Mir and the updated Unity 8.
Where we end up is migrating Unity 8 to Wayland. At the moment, Unity 8 is its own display server. (Yes, it gets complicated! Don’t worry about it. It is a struggle for developers too…)
We will stop using the client part of the Mir abstraction layer and start using Wayland entirely. In terms of timescale, these later stages will be in the relatively far future, probably some time next year.
Those other teams we spoke about – including Canonical – are actually very pleased to have something out there which is finding a practical application on devices, for development which they are currently conducting at more of an abstract level. It expands their testing pool, which is valuable.
Sponsors were thanked.
Is Click packaging system going to be maintained?
The answer is yes, at least for now. It works, it is stable and it doesn’t need the core team to maintain it. Of course Flatpak, Snap and Appimage are very interesting. Historically, Snap was a product of early UT development at Canonical, so that might be a promising choice for the future. Click is probably not the long term future for our apps but for now it is fine and there is no hurry to change it. For an OpenStore function we would probably have to standardize on a single format.
On the related question of whether Snap development is taking place at the moment, the answer is no because we have all the important work above to tackle.
How about dark variants of some boot logos that have been seen?
These are a bit more complicated than they appear because they are stored on a partition. Unfortunately, it is a different partition for each and every phone manufacturer. So you can see that for changing such a small feature, in extreme cases you might actually brick your device! Nexus 5 is complicated. OnePlusOne is even higher risk. Jan messed up one of his phones trying to do it. Florian succeeded with his and didn’t know the risk until afterwards! Incidentally Ruben Carneiro has prepared dark and light version of the artwork for all of our devices. We just have to work out how to install them safely.
Marius and Jan bricked their phones because they were experimenting with the idea even before any artwork was ready. If we offer a manual upgrade option it could expose users to risk. Furthermore, if you are working with a Qualcomm device, you have to manage the flash screen installation with Windows. There is no other way. Not very convenient for the majority of our users!
Jan mentioned that it would be possible to arrange the switch through the installer. Doing that would then remove the risk of bricking the device. You could run the installer without wiping data and end up with the new intro screen.
Since the installer has Fastboot, it can double check that the processor is the expected one, prior to the data being flashed. The flash screen comes before Recovery, so if things go wrong you can have a device which simply will not boot at all.
Has any work been done updating Unity 8 and Mir in UT, there might be more time available to get Unity 8 running fully on desktop?
The answer is yes and no, since the two things will not be done in stages. Mobile and desktop will be worked on simultaneously throughout, which of course will boost convergence since both will use the same code base. Stability improvements made on the phone will also translate into stability improvements on desktop.
What's the purpose of Halium? We only hear about UT and Halium but what else is it for?
Plasma and Lune OS are both working on it. There are others too, all in that same community. Actually, those various communities are also clustered with us around the Pinephone project. Every project has to do its own specific integration work with Halium though, as it doesn’t solve every problem.
Can we get clarification about potential problems with using systemd, which Dalton referred to in Q&A 50?
After all, most projects are switching to systemd. Do we have to follow? Marius explained that one of the key problems is that it just doesn’t work with older kernels. To use it we need to make some kernel changes on our devices and we also have to make some changes to the system. We are quite deeply integrated with Upstart at this point. How difficult it will be to change that will depend on the device. It is possible that we won’t succeed with some of our phones or at least that we will have to struggle to get them to work.
Login, the greeter and just starting any app use those tools, which is why we will have to modify the system. At the moment we use Ubuntu Applaunch 2 but we are moving to Ubuntu Applaunch 3, which will help.
How can we get more users?
The next question was from MATV1. The other day he realized that he hasn’t seen the operating system crashes (which were at least a weekly occurrence) for months. At the same time, he noted that the highly regarded Phoronix website stated that UT is one of the most viable and furthest along the way Open Source mobile operating systems out there. Despite this, the best estimates still have us at well under 10,000 users using UT as a daily driver, worldwide.
Jan responded that there are a number of things we need to do to get adoption by ‘normal’ people! The need to install is one block. For wide adoption you need to be on shelves in stores. Next, we need to support way more devices, among them recent devices. Our phones are three to five years old. We need to fix the minor bugs which interfere with expected smooth, seamless operation. We have a lot of great native apps but we need more and even better. So Dekko2 in particular needs to reach a point where it is awesome. Finally, we need Anbox working well because there will always be a few proprietary or institutional things which will just never work natively in UT. Actually, we have already got a long way down the road and all of the supporters of the platform can go out and sell the benefits of UT to their friends and contacts, with what we have now.
Marius echoed the frustration that we have so few supported devices. Florian commented that some of blocks with devices running 7.1 are now being resolved, after a lot of great action in the community. Quite a lot of additional devices are well advanced and now have just a few outstanding issues with the port to UT. So we are getting closer. These are still ‘old’ devices but there will be quite a lot of them.
Are there any plans to move some of the dark theme tools which are currently in UTtweaktool into system settings?
Dalton started by noting that Gnome community have sent out an open letter saying “please don’t theme our apps”. Elementary OS have pushed for dark themes to be a preferred option, rather than a forced option. At the moment, UT Tweak Tool enforces dark theme rules, if selected. ‘Preferred’ allows apps to make their own settings, consistent with the dark theme request. That avoids, for example, black text on black background…
Marius was cautious but agreed that we need to find a balance between the wishes of users and the design intentions of developers. A general point is that nobody anywhere has yet got close to really good theme support.
So the answer to the original question is no – not for the moment.
Are Marius and Jan are coming to FOSStalk-live?
It is in Kings Cross, UK on 8 June. The answer was no (but hey, free advertising). On a serious note, the foundation needs a decent amount of notice of up-coming events because we have to use any money we have wisely and flights are very expensive if you book them at the last minute.
A visit to London is a good idea sometime though and a chance for a community get together. We need sponsorship from an airline! KLM would do!