About

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.


History
  • 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

FAQ

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.

No, but it does boot.

None, if you care about these things, this project is not for you.

ferdiOS is still in early alpha, and contributions are closed while we work on various internals.

We do not know yet. The package manager is 0BSD. Other software may be licensed differently. Most code is still in private repos.

Try it on hardware you already own

Every build ships a flashable image, its checksums and the log that produced it.