The UBports Foundation is not only overseeing development of Ubuntu Touch. We’re also collaborating with developers of other mobile operating systems, because we all have a common goal: more freedom of choice for phones. By working together, we avoid duplication and fragmentation.
This collaboration happens in a couple of projects used by Ubuntu Touch: Halium, Lomiri, the UBports Installer and an open-source VoLTE implementation.
Halium
Halium provides a Hardware Abstraction Layer that allows GNU/Linux to run on mobile devices that come pre-installed with Android. Halium contains the device-specific Linux kernel with drivers, as well as Android services needed to talk to the hardware and the telephony stack oFono.
Thanks to the Halium abstraction layer, Ubuntu Touch, Droidian, LuneOS and other mobile Linux platforms have the same way to use the Android source code, launch Android services and flash images to devices. So Halium makes sure that all these projects are able to boot on a phone. By collaborating on these low-level components, these distributions have a common Linux base. This allows each project to focus on the development of the higher layers, where they differ from each other in their user interfaces.
Lomiri
When the graphical shell Unity was discontinued by Canonical in 2017, the UBports community took over the development of Unity 8. It has since been renamed Lomiri. It’s best known as the user interface of Ubuntu Touch, but other distributions now use the shell as well. For instance, UBports developer Marius Gripsgard has spent a lot of time porting Lomiri to Manjaro and Arch Linux. The UBports Foundation has also sponsored Debian developer Mike Gabriel to package Lomiri in Debian.
UBports is also working on Ayatana Indicators, the successor to the Application Indicators that Canonical developed for the Unity desktop. Ayatana Indicators is a desktop agnostic technology for application indicators. Not only Ubuntu Touch uses it, but it is also available in Debian and Manjaro.
UBports Installer
The UBports Installer was developed as a graphical tool to easily install Ubuntu Touch on a supported phone. Instead of having to follow all kinds of complex instructions, the program guides you through the installation in a simple manner, right from your computer (Windows, Linux or macOS).
But it doesn’t stop there. With the same program, you can also flash other operating systems on your phone, such as VollaOS, Sailfish OS and Droidian. We don’t really care what you install on your phone, as long as it’s an operating system that gives you freedom and privacy.
VoLTE
VoLTE (Voice over LTE) is calling over 4G (LTE or Long Term Evolution). This is only possible if the phone’s operating system, the modem’s firmware and the mobile network operator all support it. Most modern phones have a modem that supports VoLTE instructions. However, there’s currently no open-source implementation of VoLTE for mobile operating systems. This means that in the US, you cannot make calls on T-Mobile’s network with Ubuntu Touch, because it no longer has a 2G and 3G network.
For this reason, the UBports Foundation has hired the German telecom specialist sysmocom to add VoLTE support to Ubuntu Touch. Sysmocom has already carried out an initial investigation of what is needed. The plan is to extend the open-source IMS framework Doubango for proper VoLTE support. Sysmocom is developing this as an open source project in public Git repositories and is contributing the necessary changes to upstream projects. This allows other mobile operating systems to add the developed VoLTE support to their own telephony stack.