ferdiOS
About
ferdiOS is a Linux based mobile OS. It is built on musl+mimalloc, has its own package manager, package builder, OS image builder, display protocol, message broker, IPC, and runs Qt6 GUI applications.
- Current release
- Vitosha
- Supported devices
- pixel3a, oneplus6
- Compiler
- clang
- libc
- musl
- Packages
- FPK
- Display
- libvermeer
New userland
ferdiOS distinguishes itself from other Linux mobile phone OS projects by reimagining the userspace - everything is specifically designed for ferdiOS. This means getting rid of e.g. GTK, DBus, GLib, Autotools projects, X11/Wayland, and replacing them with simpler alternatives. We have that luxury because ferdiOS only runs on smartphones, whilst typical Linux userspace software needs to run on many system configurations. This gives us more flexibility, such as refined control over the boot process, custom rendering, seat management, memory usage, [...].
Simple software
ferdiOS (almost) exclusively uses C++, and the CMake build system, and aims to be easy to compile. The goal is simplicity uniformity, and less maintenance burden. Both client applications, and the compositor, are made in one UI framework: Qt6. We will not include the GTK library, or ship Electron applications. Everything will be Qt6, and as a result, every client application will start in 100ms-500ms - making the OS always feel fast.
Package management
Our package manager is inspired by apk - easy-to-use, and performant.
It is a single 5MB static binary that can also compile packages, and produce OS images (given a .yaml definition file). These are typically 3 different tools, we combine that into one. Since we use musl, this binary is usable across multiple Linux distros, so anyone can easily produce a personalized ferdiOS image if one wishes.
Toolchain
LLVM, Clang, musl compiled in a way where mimalloc is automatically included in every binary it produces. This makes it so all binaries, by default, have a faster memory allocator (than stock Musl) - similar to Chimera Linux.
Every ferdiOS installation has this toolchain pre-installed, so users will be able to compile C/C++ programs out of the box.
Display
ferdiOS uses a new display protocol called "vermeer", and can be described as "mini-Wayland". It is similar to Wayland, however the protocol itself is only a few hundred lines of capnproto message schema definitions, making it a simple alternative.
Compositor
ferdiOS compositor is QML based, and uses either EGL or Vulkan on a DRM plane.
Since everything is QML, it is easy to create completely new desktop environments. Each desktop environment is a shared library, loaded at runtime, so that users may build, and share their desktop environments with others.
Our compositor comes with several OpenGL, and Vulkan 2D and 3D engines exposed as custom QML types so that
interesting scenes can be constructed, for example creating a scene in Blender, exporting this as .glb, and
using that as background for a lockscreen.
Init system
ferdiOS uses (a fork of) dinit. It borrows the good parts from both openrc (simplicity), and systemd (advanced configuration).
dinit uses service files, and commands (dinitctl) that are similar to systemd.
Static
ferdiOS prefers compiling software statically when possible, so that software compiled in the past may still works in later iterations of ferdiOS. It is not a complete static-only distribution, but sufficiently so.
-
13.8 billion years ago
Start of the Universe
A rapid expansion of space.
-
2,200 years ago
Antikythera Mechanism
Track the motions of the sun, moon and five planets.
-
1997
The Fat of the Land
The Prodigy releases their third studio album
-
2026
ferdiOS
Next-gen mobile Linux OS
ferdiOS is not a fork, or derivative of an existing distribution. That said, it does share some packages, kernels, and toolchain configuration from other distributions.
Our builds resemble debos (from Debian) while package/image
definitions resemble Void, Alpine, Chimera Linux. Our package manager
resembles apk-tools. Our filesystem layout resembles Ubuntu, and our
cryptographic tooling resembles OpenBSD (signify). Our binary portability resembles
Windows, and our shell resembles Mac OS (zsh).
Banking apps are often an issue on Linux phones, and will likely also be an issue on ferdiOS. We are focussed on building our own ecosystem of applications, and an Android compatibility layer is not planned.
Try it on hardware you already own
Every build ships a flashable image, its checksums and the log that produced it.