If you are an Android enthusiast who has also explored beyond the world of purely Android-based custom ROMs, you have probably heard of projects such as Ubuntu Touch, Sailfish OS, and the like.
These have been ambitious, often long-running non-Android, GNU/Linux-based mobile operating systems. However, fragmentation is making development and user adoption quite difficult for these alternative operating systems… but that is where Project Halium comes in.
This open-source project is trying to pool developers from Ubuntu Touch ports, Sailfish OS community developers, the open webOS Lune OS project, and KDE Plasma Mobile contributors, among other developers (Jolla, we suspect) to put an end to the fragmentation seen in their respective project’s lower-level base. Currently, Ubuntu Touch, Sailfish OS/Mer, Plasma Mobile, and others use different Android source trees and methods for differently-built stacks. This leads to a lot of fragmentation among the most popular non-Android, GNU/Linux-based mobile OS projects in their use of the Android source tree, how the Android init is started, and how images are flashed to the device. Many of these projects essentially do the same job, but in a different way.
Ideally, these parts shouldn’t need to be separate, as all of these OSes have the same goal in the end – to boot while using Android binary drivers. Thus, the goal of Halium is to work towards a common Linux base, which can then be used by all of these different projects to boot on their respective handsets. This means standardizing the Linux kernel build and the Android HAL (Hardware Abstraction Layer), libhybris for Android driver support, and then having a standard set of user-space components. After that, high-level interface decisions are left up to the individual projects themselves, but the lower-level base would be shared.
This approach has a fair share of benefits that would help all non-Android, GNU/Linux-based mobile OS projects. The shared porting effort would arrive at a streamlined HAL, and other distributions would have an easier time running on mobile devices. Once the foundation is set, there would be a “common ground” for communication between various projects as well. This is an ambitious project with several stages, starting with initial development for libhybris, then getting the hardware enabled (getting it ready), and finally device enablement (expanding and including new devices beyond the reference Google Nexus 5, OnePlus One and Google Nexus 5X).
If you would like to learn more or take part in this project, there are various ways you can reach out. You can join #halium for discussion through freenode IRC; you can visit the Halium Telegram supergroup; or finally you can chat using Matrix (#halium:dishroot.org or #halium:matrix.org). While it’s still in early phases, the project is still worth checking out. We’ll definitely keep an eye on it to see how it progresses, and hopefully how it ends up benefiting these mobile OS alternatives!