FreeLinX is an independent Linux distribution with a NetBSD userland, the musl C library and an LLVM toolchain. Nothing in it is built by GCC or linked against glibc — every image and every package is checked for that before it is published.
It boots to a light Openbox desktop with a Firefox-based browser, installs to disk from a graphical installer, and keeps itself up to date with its own package manager.
Documentation: https://freelinx.github.io/FreeLinX/ (what FreeLinX is, how it works, installing, building from source, command reference). FreeLinX base, the console edition: https://github.com/FreeLinX/FreeLinX-base.
FreeLinX 1.0.7 (x86_64 ISO)
— about 500 MB, BIOS and UEFI, boots from USB or DVD. Check it against
SHA256SUMS on the release page.
Write it to a USB stick (this erases the stick):
dd if=freelinx-1.0.7-x86_64.iso of=/dev/sdX bs=4M conv=fsync status=progressor try it in a virtual machine:
qemu-system-x86_64 -enable-kvm -m 4096 -cdrom freelinx-1.0.7-x86_64.isoThe live system runs from RAM: 2 GB is the minimum, 4 GB is comfortable.
- Openbox desktop: panel with launchers, window list and clock; right-click menu; works on any GPU, with OpenGL acceleration on Intel, AMD (radeonsi) and NVIDIA (nouveau), and hardware video decoding (VA-API).
- FreeLinX Web (Firefox ESR 153): the full modern web, H.264/AAC video. Dillo, Links and w3m as light browsers.
- Graphical installer: language, keyboard, time zone, users, WiFi, disk — a BIOS + UEFI bootable system in a few minutes.
- Packages and
xpkg: about 400 packages from a signed repository — including the desktop itself, soxpkg upgradeupdates Xorg, Mesa, GTK and the browser too. - Hardware: Intel, Qualcomm, Realtek, MediaTek and Broadcom WiFi; Bluetooth; Intel SOF / SoundWire laptop audio, HDA and USB audio; NVMe; webcams; SD cards; touchpads; USB4/Thunderbolt; game pads.
- Terminal, file manager, PDF viewer, media player, vim, git, and the NetBSD command line.
![]() |
![]() |
![]() |
| Layer | Component |
|---|---|
| Kernel | Linux 6.18 LTS (6.18.54), built with clang/LLD |
| C library | musl 1.2.5 |
| Compiler / C++ runtime | LLVM 21 (clang, LLD, libc++, libunwind) |
| Userland | NetBSD 10.1 tools, NetBSD curses, toybox for the Linux-specific ones |
| Init | runit + mdevd |
| Desktop | Xorg 21.1, Mesa 24.0 + LLVM 18, GTK 3.24, Openbox, tint2 |
| Login | greetd + tuigreet, Linux-PAM |
| Packages | xpkg 1.0.1: Ed25519-signed indexes, atomic installs, SQLite database |
xpkg search editor # find software
doas xpkg install vim # install it (and what it needs)
doas xpkg upgrade # update everything
xpkg list -e # what you installedDetails: docs/PACKAGES.md. The repository is mirrored at huggingface.co/datasets/FreeLinX/packages.
See docs/INSTALL.md.
FreeLinX is built from these repositories:
| Repository | Contents |
|---|---|
| FreeLinX-desk | the desktop image: stack build, rootfs, installer, ISO |
| xpkg | the package manager and repository tools |
| ports | NetBSD userland and other ports, built with the FreeLinX toolchain |
| toolchain | clang/LLD and the musl sysroot |
| kernel | kernel configuration |
| src | base system integration |
How they fit together: docs/BUILDING.md.
1.0 is the first release. It has been tested in QEMU/KVM end to end (live boot, install, login, browser, WiFi via a simulated radio, Bluetooth, packages). Reports from real hardware are very welcome: open an issue.
Known limitations are listed in the release notes.
"Developed by Denis Gulmammadov and Kanan Majidzada"
FreeLinX's own code is under the BSD 2-Clause license (LICENSE). Every package keeps its upstream license.



