2021-05-17 Status update
The past few months have been quieter than usual regarding Mobian development, but that’s not to say we didn’t make progress! Actually, even though user-visible changes are few, we kept working on improving both the stability of our distribution and our tooling, so that new developments can be better tested, and reach users faster than they used to.
Mobian CE reception and outcomes
The Mobian Community Edition PinePhone has been a great success for us, with of course a few hiccups, but the feedback we received so far has been extremely positive. We’d like to take this opportunity to thank Pine64 once again for allowing us to be part of this amazing journey!
As you probably know, Pine64 generously donated 10$ per device to the Mobian project, which we received early last month. Out of this amount, we chose to donate 5000€ back to the Debian project (which provides the foundation for all of our work on Mobian), and invested about the same amount into our own infrastructure (workstation, build servers…). Finally, we purchased a few additional mobile devices we considered interesting targets and started porting Mobian to those.
New supported devices
Let’s play with Android phones!
Until recently, Mobian supported only Pine64’s PinePhone, PineTab and Purism’s Librem 5. This is partly related to our choice of only using mainline kernels, instead of vendor-provided Android kernels: those use a number of non-standard interfaces, and require additional software, such as Halium, in order to be used with a “standard” Linux userspace. In addition, vendor kernels are generally outdated and very rarely updated to newer kernel releases, which is obviously a concern for long-term maintenance.
Fortunately, our friends at postmarketOS have committed to mainlining devices for quite some time now, and by encouraging such development have reached great results so far! Based on their initiative, and more specifically thanks to @calebccff’s and @Joel’s work on the SDM845 kernel, we have been able to port Mobian to 2 new devices.
We can therefore formally announce official Mobian support for the Pocophone F1 and OnePlus 6 and 6T! Be aware, though, that work on these devices has only recently started, and they’re still far from being usable as daily drivers: while most of the basic features (display, touchscreen, hardware buttons, GPU acceleration, WiFi/BT) is already functional, the modem and audio don’t work at the moment, neither do the cameras. They do, however, give a good idea of Mobian’s performance on recent mobile hardware.
You should also keep in mind that, although such smartphones benefit from a drastic performance boost when compared to Linux-only phones, they don’t offer the same level of privacy one can expect from the PinePhone or Librem 5: there are no hardware killswitches, a whole lot of closed-source binary blobs are required (firmwares for the GPU, WiFi adapter, modem…), and the baseband modem is part of the main SoC, with physical access to the system’s memory bus. Anyway, if you own one of these devices you can test-drive Mobian by following the instructions on our wiki.
If it runs Windows, then it should run Linux, right?
Although smartphones usually get the most attention, being essential devices for many people, tablets are another family of devices which can benefit from Linux support and can be better suited than phones for a range of use-cases, mainly thanks to their larger displays. In this regard, the PineTab is a really fine and capable device, but you can easily imagine the potential of such a device with an even larger display and more processing power (wouldn’t a PineTab Pro be awesome?).
This is what prompted us to work on supporting the Microsoft Surface Pro 3 tablet: this device is pretty much a standard x86 computer in a tablet form-factor, so it can run a fully mainline kernel without any additional patch. As a matter of fact, this is the first device we support which doesn’t require a custom kernel and/or bootloader, but relies on upstream GRUB and Debian’s amd64 kernel. And yet, every internal peripherals are supported out of the box (yes, including the cameras)!
This image has only been tested on the Surface Pro 3 for now, but it might work as-is with every Surface Go and Surface Pro tablet (and maybe other x86/UEFI tablets), although touchscreen support for the Surface Pro 4 and later will probably be missing. If you have the opportunity to test it on x86 tablets other than the Surface Pro 3, feel free to let us know how it went, so we know which devices could use some more work, and to which extent.
Mobian can be installed on the Surface Pro 3 by following the installation instructions for x86-based devices.
CI is coming
These past few weeks, @undef bootstrapped and paved the way for enabling CI on our repos, which will greatly help improve our development process. By re-using most of the CI pipeline used by Debian, and making the few required adjustments to include software from Mobian, we will soon be able to unleash the power of CI, resulting in less burden for developers, easier installation and testing of development version packages, and overall a more solid development infrastructure.
An interesting part of this effort are CI-generated
available from Gitlab’s registry. These images will be used by our CI pipelines,
but they also can be used to easily create a clean Mobian environment for
building packages. If your distro supports
binfmt and you have
qemu-user-static installed, you can even
use the arm64 images
on your x86 machine for building packages you can directly install and run on
Ongoing baseline work and new images
Most of the distro is currently frozen/in a somewhat stable state. This has of course lots to do with the Debian bullseye freeze, but we kept updating a few user-facing applications so we can still benefit from the latest improvements. These past few weeks, we updated Geary to the latest upstream version (which is now fully adaptive without requiring any additional patch), as well as evince (PDF viewer), gedit and gnome-control-center (all by applying the latest patches from Purism). We also imported new versions for Megapixels, wake-mobile and portfolio.
However, as a growing number of applications move forward to adopting GTK4, the current version of Mobian will be lagging behind, as GTK4 won’t be included in Debian bullseye. We’d rather avoid maintaining a forked GTK4 package targetting bullseye as it’s a big and complex piece of software, so there are applications we won’t be able to update anymore, such as Megapixels. Once bullseye is released, the current Mobian repo will keep tracking this version and will only receive updates for security-related reasons and core software (phoc, phosh, squeekboard and the default applications), as long as it doesn’t require backporting new library versions from bookworm. We’ll then create a new “testing” repository tracking Debian bookworm, and base all future builds on this repo.
Regarding the default kernel for Pine64 devices, even though 5.11 has been
available in our repo for a while, we’re still shipping with 5.10 for now: our
current 5.11 kernel exhibits occasional issues with USB-C and breaks suspend on
the PineTab, meaning we can’t switch to this version as the default yet. If you
don’t mind the drawbacks, switching to 5.11 is of course only an
apt install linux-image-5.11-sunxi64 away!
As a final note, for the first time, our reference images are signed with the project’s GPG key, which can be downloaded from our server or using the following command:
gpg --keyserver keyserver.ubuntu.com --search-keys email@example.com
We are releasing new versions of the PinePhone and PineTab installer today, as well as new reference images for the PinePhone and PineTab.