An independent operating system

NoovexOS

A fast, Unix-like operating system built from scratch for running and building software.

THE SYSTEM

An OS with its own foundations.

A Unix-like kernel and userspace written in C and x86 assembly, not a Linux distribution. The desktop, tools, and package format are part of the same project.

NoovexOS desktop with its native windowed interface
01

From scratch

Independent kernel and userspace, built without Linux or BSD.

02

Native software

Signed .nvx packages, ELF applications, and built-in development tools.

03

Made for the desktop

Native compositor, file tools, terminal, and ELF applications.

NOOVEXOS 64 · USERLAND

Unix-like beyond the terminal.

NoovexOS 64 has its own Unix-like userland, not just a familiar-looking shell. Programs can start child processes, work with directories and files, and use C libraries built for the system — including mlibc, musl, and ported glibc.

Processes & shell

fork, exec, clone, and waitpid; pthreads, signals, pipes, and job control; real musl and ported glibc with a Linux syscall ABI; multi-core bring-up.

Files & permissions

A nested directory tree persisted with NVXFS, familiar commands like ls and mkdir, and enforced Unix-style read, write, and execute bits.

Build native software

A hand-written C library with file streams, memory allocation, math, signals, and sockets — plus real musl and ported glibc libraries. Compile ELF64 programs and run them on NoovexOS 64.

NoovexOS 64 is a hobby OS, not POSIX-certified. Its C library is a broad subset and its user model is minimal. Realtek RTL8821CE Wi-Fi now works end to end on real hardware—an exceptionally difficult achievement for a hobby operating system. Explore the documentation.

NOOVEXOS 64 · PACKAGES & PYTHON

Real packages. Real Python.

C libraries — mlibc, musl, and ported glibc — alongside working sudo and apt install and real Debian .deb packages, running on the from-scratch NoovexOS kernel. CPython 3.13 includes Tkinter and the real IDLE editor, with Tk windows appearing directly on the desktop.

Python IDLE and multiple Tkinter windows running on the NoovexOS 64 desktop
CPython, IDLE, and Tkinter on NoovexOS 64 v9.28.

apt resolves dependencies, verifies package SHA-256 checksums, and installs .deb files from Debian mirrors. Read the package and Python reference.

Download packages. Compatibility varies.

You can download software packages with apt, but not every program will run on NoovexOS. Firefox ESR does: after installing it with sudo apt install firefox-esr, Firefox opens and draws its own window on the NoovexOS desktop.

Below, Firefox ESR and its dependencies are being installed with sudo apt install firefox-esr, then Firefox itself runs with its window drawn on the desktop.

NoovexOS terminal downloading and unpacking dependencies during a Firefox ESR package installation
Firefox ESR package installation on NoovexOS 64.
Firefox ESR running on NoovexOS with its own window drawn on the desktop
Firefox ESR running on NoovexOS 64, drawing its window on the desktop.

NOOVEXOS 64 · SOURCE LAYOUT

What is inside the system.

The kernel is organised by subsystem and compiled as 153 separate C and C++ units with shared interface headers, from bootloader to userland.

source/v10.00
NoovexOS-64-bit/

The complete NoovexOS 64 source tree.

├── boot/

myboot: BIOS stages, UEFI loader, ISO and hybrid image tools

├── arch/x86_64/

64-bit startup, interrupts, SMP, timers and user mode

├── core/

kernel core: init, processes, panic, power, build signature

├── mem/

physical frames, page tables, heap and slab allocator

├── fs/

VFS, NVXFS, FAT, NTFS and packages

├── drivers/

ACPI, PCI, input, storage, USB, Ethernet, Wi-Fi, sound, Intel and NVIDIA video, VirtIO

├── graphics/

the desktop: theme, window manager, compositor, input

├── apps/

built-in apps: system, office, internet, media, games, X11

├── web/

web engine: HTML, CSS, layout, painting and the QuickJS bridge

├── net/

TCP/IP stack, HTTP and TLS, Wi-Fi security, printing

├── sys/

system-call layers: Linux ABI and native

├── shell/

terminal and the nsh shell

├── lib/

kernel libraries: base, crypto, compression, images, C++, JavaScript

├── lang/

Rune code built into the kernel

├── usr/

user space: libc, musl, glibc, programs, modules, packages, X11

├── include/

interface headers under nvx/

├── assets/

fonts, wallpapers, firmware and game data

├── third_party/

musl, BearSSL, Lua, QuickJS, SQLite, DOOM, Quake, ntfs-3g, FFmpeg and more

├── tools/

host-side build and test helpers

├── docs/

architecture reference sources

├── kernel64.c

kernel entry

├── build.sh

build script

└── units.list

the list of C units in the kernel

Browse the source on GitHub.

How NoovexOS was built from scratch — follow the system from bootloader to desktop.

INSIDE NOOVEXOS

See it for yourself.

Explore the gallery
File Manager with the right-click menu and Properties
File Manager with the right-click menu and Properties
Classic Settings with the Background page and wallpapers
Classic Settings with the Background page and wallpapers

NOOVEXOS 64 · NATIVE BROWSER

The web, rendered natively.

NoovexOS 64 ships its own browser, with the ported QuickJS engine for JavaScript and a nearly complete layout engine of its own — so real websites render and run directly on the OS.

The NoovexOS website rendered in the NoovexOS browser
The NoovexOS website rendered in the NoovexOS browser
Google rendered in the NoovexOS browser
Google rendered in the NoovexOS browser
ChatGPT rendered in the NoovexOS browser
ChatGPT rendered in the NoovexOS browser

NOOVEXOS 64 v9.67 · DRIVERS

Supported hardware.

43 driver source files and 5,697 lines of code under source/kernel/drivers/, supporting 42 named chipsets and devices.

CategoryChipset / modelDriver
USB controllerxHCI (USB 3.0+), alla moderna PCIe-controllersxhci.c
EthernetIntel 82540EM (e1000)e1000.c
EthernetIntel 82545EMe1000.c
EthernetIntel 82574Le1000.c
EthernetAMD PCnet-FAST IIInic.c
EthernetRealtek RTL8139rtl8139.c
EthernetRealtek RTL8169 / RTL8111rtl8169.c
EthernetVirtIO-net (QEMU)virtio_net.c
Wi-FiRealtek RTL8821CE (802.11ac)rtw8821ce.c + rtw_sec.c + rtw_efuse.c
StorageIDE ATA (legacy)ata.c
StorageSATA AHCI 1.0-1.3.1ahci.c
StorageSATA RAID-mode (class 01:04, Intel RST)ahci.c
StorageNVMe 1.0+nvme.c
StorageIntel VMD (9A0B / 467F / A77F / 7D0B / AD0B)nvme.c
StorageVirtIO-blkvirtio_blk.c
StorageUSB mass storagexhci.c
GPU (Intel)Sandy Bridge (gen 6)igpu.c
GPU (Intel)Ivy Bridge (gen 7)igpu.c
GPU (Intel)Haswell (gen 7.5)igpu.c
GPU (Intel)Broadwell (gen 8)igpu.c
GPU (Intel)Skylake / Kaby Lake / Coffee Lake / Comet Lake (gen 9)igpu.c (blitter: ok, render: Stage 1)
GPU (Intel)Apollo Lake / Gemini Lake (gen 9 LP)igpu.c + private PAT
GPU (Intel)Ice Lake / Tiger Lake / Alder Lake / Meteor Lakeigpu.c
GPU (NVIDIA)GeForce 400+ (Fermi and newer)nvgpu.c + nvdisp.c + nvmon.c
AudioAC'97ac97.c
AudioIntel HD Audio (HDA)hda.c
TouchpadSynaptics PS/2 (absolute mode with W)syn_ps2.c
TouchpadELAN PS/2elan_ps2.c
TouchpadELAN I2C (ELAN06xx)elan_i2c.c
TouchpadHID-over-I2C (precision touchpads)i2c_hid.c + tp_hid.c
Pointing (VM)VMware vmmouse (VMware/VBox absolute pointer)vmmouse.c
I2C controllerIntel LPSSdw_i2c.c
I2C controllerAMD AMDI0010 / AMDI0510 / AMD0010dw_i2c.c
GPIO (Intel SoC)Sunrise Point / Kaby Lake (INT344B)tp_igpio.c
GPIO (Intel SoC)Apollo Lake (INT3452)tp_igpio.c
GPIO (Intel SoC)Gemini Lake (INT3453)tp_igpio.c
ACPIAML byte-code (methods, _CRS, _DSM, _PS0, _PR0)aml.c + aml_scan.c + acpi_dev.c
Laptop extrasLenovo ThinkPad (HKEY LEN0068 / IBM0068 / LEN0268)laptop.c
Laptop extrasLenovo IdeaPad (VPC2004)laptop.c
Laptop extrasASUS (WMI ATK / ATK0100)laptop.c
RTCPC CMOS RTCcmos.c
BusPCI / PCIe (config via 0xCF8/0xCFC)pci.c

OPEN DEVELOPMENT

Built in the open.

NoovexOS is an independent project maintained by volunteers. Follow the work, explore the source, or get involved.

Kernel
C and x86 assembly
Filesystems
FAT16, FAT32, NTFS, or NVXFS — chosen in the installer
Minimum RAM
64 MB
Applications
ELF userspace

Ready to try NoovexOS?

Get an image for your machine or read the installation guide.