Skip to content

SAPHIRA LINUX

It's so Simple it Hurts.

A small, focused Linux distribution built from scratch with musl and APK — choose OpenRC or systemd.

Agent-friendly by design. OpenCode, Codex, Claude Code and the wider agent family are welcome here — and pip lets you do what you want.

Saphira, the royal-blue dragon mascot of Saphira Linux
Native CPU inference · 30 August 2026bitnet-cpp · Hatchling

Native BitNet is now shipped in the Hatchling repository

bitnet-cpp installs as a native musl/x86-64-v3 package. CPU inference is proven on Hatchling without CUDA, Conda, or a Python virtual environment.

The normal tools are llama-cli, llama-server and llama-quantize; BitNet helper Python tooling is system-wide and works with Saphira Python 3.14. Models are available separately rather than bundled in the APK; official I2_S GGUF files run directly without setup_env.py.

On Hatchling's 7-vCPU test VM, the reference model observed roughly 160–190 t/s prompt processing and 25–27 t/s generation. Those are recorded test figures, not general performance claims. The 2B reference model is deliberately small and does not represent larger or smarter models.

Read the BitNet package and model guidance →

Repository staging · 30 August 2026nvidia-open 610.57.04

NVIDIA Open kernel modules are now in hatchling

nvidia-open 610.57.04 is available from the hatchling repository, with the matching GSP firmware on the pure-musl Saphira host.

Milestone 1 is proven on Hatchling without a GPU: the module loads, NVRM initialises, PCI probing correctly reports no NVIDIA device, and the driver unwinds cleanly.

The prepared USB-safe RTX 3060 / GA106 test on Homer is still pending. CUDA and NVIDIA proprietary userspace are planned only inside a glibc systemd-nspawn container — the proposed N-Spawn of Saphira — with an exact release match and the required /dev/nvidia* device nodes passed through. That container design is not tested yet.

Read the NVIDIA Open host and N-Spawn design →

Kernel release · 29 August 2026saphira-kernel

7.1.5 and 7.2.2: two new Saphira kernels are live in the hatchling repository

Both kernels are built and signed by Saphira and published to the hatchling package stream — where every package in every stream is signed, without exception. The hardware net widens well beyond the virtual machine.

Support now reaches Intel Coffee Lake, the N100 and the i9-13900K, alongside the existing KVM/VirtIO target. The config work behind that: USB UAS, Intel igc ethernet, WLAN, PPPoE, IPVS and HTB, with IOMMUFD and PSAMPLE enabled.

Intel Coffee Lake

igc ethernet and the platform pieces this generation needs.

Intel N100

Alder Lake-N boards gain the same ethernet and platform support.

i9-13900K

Raptor Lake — the development host's own silicon, proven by building on it.

KVM / VirtIO

The original tested target remains first-class.

Wireless arrives properly: iw and wireless-tools ship in the repository, and the wireless regulatory database is signed with Saphira's own key, alongside Saphira-signed kernel modules. Trust is ours, not borrowed.

hostapd is not packaged yet — that is the next brick in the wireless wall. The 7.1.5 kernel already boots Saphira on the hatched machine in 3.4 seconds, with no initramfs.

Follow the kernel and hardware work →

Boot proof · 24 August 2026Saphira-d

Saphira-d has booted systemd

Boot proof is in: the non-usr-merged Saphira Linux systemd sibling booted successfully today on homer, the i9 development machine, from a UAS USB NVMe device.

systemd-nspawn booted the image, reached multi-user.target and graphical.target, and presented a Saphira Linux 0.1 login prompt. systemd-logind failed during this first nspawn boot; that is expected cleanup for this stage and did not prevent the system reaching its targets.

The systemd packages are in the repository awaiting signing. The next step is a simple apk install systemd path cleanup to remove the remaining old OpenRC pieces, followed by images later today.

Read the Saphira-d boot report →

Saphira-d systemd boot proof
In development

Saphira-d is in development

Saphira now has a systemd sibling. Not a replacement — a question.

Saphira-d is not OpenRC's retirement notice. We did not decide OpenRC was wrong, we are not converting Saphira to systemd, and this is not 'the next version'. OpenRC Saphira remains the distribution people already know and run. The experiment is narrower and more interesting: take the same source-built, musl-based, deliberately understandable Saphira philosophy and find out whether its character survives when the init and service layer is systemd instead of OpenRC.

Systemd is not a novelty we are chasing. A great deal of current Linux software assumes or integrates with it, and that is a real part of the expectations a modern distribution has to meet. Rather than bolt systemd into the existing Saphira tree and quietly redefine what 'Saphira' means, we built a separate sibling path with its own build tree.

Keeping the two separate is the whole point. It lets us change the init and service stack without silently redefining the OpenRC distribution people already rely on, and it lets the two eventually be compared against the same broad philosophy instead of argued about.

Saphira

musl + OpenRC — the distribution people already know and run

Saphira-d

musl + systemd — the same philosophy, a different init and service layer

What we are trying to learn

  • what systemd genuinely requires to build and run on musl;
  • the extra dependency chain it pulls in;
  • the functionality it returns in exchange;
  • what happens to image size and system complexity;
  • how current systemd behaves on musl in practice;
  • whether the result stays understandable from toolchain to boot to service start;
  • which differences are inherent and which are merely conventional wisdom.

OpenRC does not have to lose for Saphira-d to succeed, and systemd does not have to lose for Saphira to remain worthwhile. We are building both so the differences can be observed rather than asserted. Saphira-d is not a complete distribution yet — no proven full build and first boot — but the source-built three-stage path is being built now.

See the Saphira-d roadmap →

Original Saphira · OpenRC15 August 2026

The original Saphira Linux

The Saphira Linux people already know and run: a small, source-built musl distribution with OpenRC and APK.

This is the original Saphira Linux release line. It keeps the service management simple and inspectable with OpenRC, while the systemd work continues separately in Saphira-d as an experiment rather than a replacement.

Saphira Linux remains the practical OpenRC edition for focused servers: traditional init, a familiar Linux layout, and packages built for the system you are actually running.

See Saphira Linux downloads →

Saphira Linux OpenRC release proof

Architecture direction

Saphira defaults to x86-64-v3 today, and that choice is deliberate: modern hardware should be allowed to compile against a modern instruction set instead of being held back to the oldest common denominator. But 'modern default' is not the same as 'only thing we will ever build'. Older x86-64 machines have not stopped being useful, and some of them — Sandy Bridge, Ivy Bridge, even Nehalem-era boxes — are still perfectly good at focused server jobs. We still have those machines here, so this is a plan we can actually test rather than a processor-history footnote.

So the builder is being designed around selectable compiler baselines, not a single monolithic target. x86-64-v1, v2, v3 and v4 are build/compiler profiles, not separate distributions and not identical binaries with different labels. A Sandy Bridge machine gets a build suited to Sandy Bridge; an x86-64-v3 server stays an x86-64-v3 build; future v4 hardware can use v4 without dragging everyone else along. Supporting older hardware does not mean holding newer hardware back, and vice versa.

The same idea reaches backwards into 32-bit and forwards off x86 entirely. i686 is coming back, and a genuine i586 userspace baseline is now being developed — not i686 quietly requiring SSE and calling itself i586. It reaches into ARM: AArch64 is the first step that proves the source-built model is not secretly welded to x86, starting with real Raspberry Pi hardware.

Modern x86 by default. Older hardware remembered. ARM starts with Raspberry Pi 4.

One honest caveat: the builder is intended to know about x86-64-v4, but we do not yet have v4 hardware here to validate native builds and runtime behaviour. Builder capability and tested images are different states — we would rather say 'not tested here yet' than turn a compiler flag into a support claim. Suitable hardware donations are, of course, politely welcome.

View architecture profiles and machine targets →

Release telemetry

Numbers from the repository and release API. No vanity counters.

APK packages
481
Earlybird downloads
Total downloads
Current release
Earlybird
Build toolchain
GCC 16.1.0
Repository status
Live
This site runs on Saphira

Yes. Saphira is hosting Saphira.

This website is served from a Saphira Linux virtual machine running a real Node.js SSR application on musl, managed by OpenRC, installed from the same APK repository you can use. It is not a demonstration environment. It is the distribution doing a real job.

What is Saphira?

A from-scratch Linux distribution. Not a respin of Debian, Ubuntu, Alpine or Arch.

musl libc

core
A small, strict, standards-focused C library. Predictable behaviour, small binaries.

OpenRC

init
Service management you can read. Scripts, dependencies, and no hidden state machine.

APK

packages
Fast package management with strong package boundaries and signed indexes.

Linux + GRUB

boot
An ordinary kernel and an ordinary bootloader, configured in ways you can inspect.

x86-64-v3

baseline
Built for CPUs from roughly 2015 onwards (AVX2 class). Not for every ancient x86-64 chip.

GCC 16.2.0

toolchain (dev)
The current development toolchain, with broader native language support and musl-specific compatibility work. The released Earlybird Beta and Bootstrap images shipped on GCC 16.1.0; the 16.2.0 migration is in progress across the native compiler stack.

Why simple?

Linux does not have to become more complicated every year.

Simplicity here is an engineering constraint, not a shortage of features. Fewer layers means fewer places for a failure to hide, a boot sequence you can follow end to end, and a package set you can actually account for. Simple does not mean incapable.

Read the longer argument →

Built in stages, from source

  1. Stage0

    Bootstrap toolchain

  2. Stage1

    Native toolchain

  3. Stage2

    Root filesystem

  4. Stage3

    Base build image

  5. Stage4 packages

    Profiled APK builds

  6. Stage4 image

    Image generation

  7. Image

    Validated & bootable

Package repository

481 packages for x86_64, served over TLS.

# /etc/apk/repositories
https://packages.akadata.ltd/saphira/main

apk update
apk search nginx
apk add nginx

Browse the package index →View Stage4 build profiles →Open the raw repository →

Virtualisation

KVM/QEMU is the primary tested target. Other compatible virtualisation platforms are expected to work as support is broadened.

KVM/QEMU

primary
The development and test target. VirtIO disk and network throughout.

Xen

expected
Expected to work where VirtIO devices are available. Not yet formally tested.

VMware

expected
Should work with compatible device models. Broader testing is on the roadmap.

VirtualBox

expected
Usable with VirtIO controllers selected. Not certified.

Bare metal is not the initial target. The Earlybird image is designed and tested for virtual machines. That remains true for Earlybird; physical x86-64, WRAP and Raspberry Pi hardware is an active roadmap direction — see the architecture roadmap.

Current release and known issues

Saphira works. That does not mean every corner has stopped biting.

  • First-boot setup

    Working

    The Earlybird image includes guided setup for the root password, normal user, full name, user password, IPv4 and IPv6 addresses with gateways, DNS selection, an optional search domain, and APK repository configuration.

    • DNS providers: Quad9, Cloudflare, OpenDNS / Cisco Umbrella, or custom DNS.
    • The setup applies the configuration, updates the repository file, copies /etc/skel profile files into root and the new user's home, and drops to a shell ready for apk use.
  • Package quality fixes

    In progress

    Earlybird is a real beta release and package-level issues are still being corrected through actual use.

    • Examples include runtime dependency fixes, package split corrections, service script fixes, library SONAME corrections, and configuration packaging fixes.
    • A current example is PHP SQLite support: when a dependency is missing, runtime symbols usually identify what needs to be added with apk add.
    • The packaging is fixed where possible rather than documenting permanent workarounds.
  • GCC 16.2.0 toolchain migration

    In progress

    The development tree is migrating to GCC 16.2.0 with broader native language support and musl-specific compatibility work. The released Earlybird Beta and Bootstrap images shipped on GCC 16.1.0.

    • Once the native compiler and toolchain are proven, the full distribution will be rebuilt cleanly from the beginning.
  • Installation tooling

    In progress

    The current image can already be imported into a hypervisor and configured through the guided first-boot setup.

    • A more complete TUI installation path for installing Saphira onto target disks is planned.
  • Desktop support

    Not planned

    Saphira is a server operating system. There are no project plans for X11, Wayland, Plasma, or graphical installation.

    • Nothing prevents users from packaging or building those themselves.
  • NVIDIA Open kernel modules

    Staged for testing

    nvidia-open 610.57.04 and matching GSP firmware are staged in hatchling for the pure-musl host. The no-GPU Hatchling load, initialisation, no-device PCI probe, and clean unwind are proven; real RTX 3060 / GA106 testing on Homer remains pending.

    • Saphira does not install CUDA, glibc, or NVIDIA proprietary userspace on the host.
    • The planned CUDA route is a glibc systemd-nspawn container with NVIDIA userspace exactly matching the host module release and required /dev/nvidia* nodes passed through. It is not yet tested.

Toolchain roadmap

GCC 16.2.0

in progress (dev)
The development tree is migrating to GCC 16.2.0 with broader native language support and musl-specific compatibility work. Once the native compiler is proven, the full distribution will be rebuilt cleanly from the beginning. The released Earlybird Beta and Bootstrap images shipped on GCC 16.1.0.

Full roadmap →

Found a problem?

Beta software benefits from people who write things down. Report bugs, ask compatibility questions, or tell us what broke on your hypervisor.