SkillsMay 20, 2026·3 min read

SerenityOS — Unix-Like Operating System Built from Scratch

SerenityOS is a graphical Unix-like operating system written from scratch in C++ with its own kernel, userland, browser engine, and desktop environment. It serves as a learning platform for systems programming.

Agent ready

This asset can be read and installed directly by agents

TokRepo exposes a universal CLI command, install contract, metadata JSON, adapter-aware plan, and raw content links so agents can judge fit, risk, and next actions.

Native · 98/100Policy: allow
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
SerenityOS Overview
Universal CLI install command
npx tokrepo install 20fcb6f3-5447-11f1-9bc6-00163e2b0d79

Introduction

SerenityOS is a from-scratch Unix-like operating system that includes its own preemptive kernel, graphical desktop environment, web browser, text editor, terminal emulator, and hundreds of other utilities — all written without using third-party code. Started by Andreas Kling in 2018, the project has grown into a large community effort and serves as both a usable hobby OS and an educational resource for systems programming.

What SerenityOS Does

  • Provides a complete graphical desktop environment with a 1990s-inspired aesthetic
  • Runs a custom preemptive multitasking kernel with POSIX compatibility
  • Includes a web browser with its own HTML/CSS rendering and JavaScript engine
  • Ships with development tools: an IDE, debugger, profiler, and SQL database
  • Supports networking, audio, games, and a growing collection of ported applications

Architecture Overview

The SerenityOS kernel is a monolithic kernel written in modern C++ with support for SMP, virtual memory, ext2 and FAT filesystems, and TCP/IP networking. The display server (WindowServer) handles compositing and input routing. LibWeb and LibJS form the browser engine, which evolved into the independent Ladybird browser project. IPC between processes uses a custom serialization protocol over Unix sockets. The entire system builds with a custom cross-compilation toolchain.

Self-Hosting & Configuration

  • Build from source using the included Meta/serenity.sh script on Linux or macOS hosts
  • Run in QEMU, VirtualBox, or on bare-metal x86-64 hardware (experimental)
  • The cross-toolchain build takes 30-60 minutes on first setup
  • Configuration files live in /etc within the SerenityOS filesystem
  • Hack on individual components by editing C++ source and rebuilding incrementally

Key Features

  • Every component is written from scratch with no dependency on external libraries
  • Active contributor community with thousands of merged pull requests
  • The Ladybird browser engine spun off into its own cross-platform project
  • Comprehensive LibC and POSIX compatibility layer for porting Unix software
  • Built-in developer tools including HackStudio IDE and Profiler

Comparison with Similar Tools

  • Linux — production-grade kernel with vast hardware support; SerenityOS prioritizes simplicity and educational value over production use
  • Redox OS — Rust-based microkernel OS; SerenityOS uses a monolithic kernel in C++ with a more complete desktop experience
  • Haiku — continuation of BeOS with similar retro aesthetics; SerenityOS is Unix-like while Haiku follows the BeOS API model
  • MINIX 3 — microkernel OS for education and reliability research; SerenityOS focuses on a full graphical desktop experience

FAQ

Q: Can SerenityOS be used as a daily-driver operating system? A: Not yet. It is a hobby and educational OS that lacks driver support and stability for daily use.

Q: What is the relationship between SerenityOS and Ladybird? A: Ladybird started as the SerenityOS browser and became an independent cross-platform browser project using the same LibWeb engine.

Q: What programming language is SerenityOS written in? A: Modern C++ (C++23) with no third-party runtime dependencies.

Q: Can I run SerenityOS on real hardware? A: Experimental bare-metal support exists for x86-64, but QEMU is the recommended way to run it.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets