Repolode
SerenityOS

SerenityOS/serenity

A graphical Unix-like operating system with its own kernel, browser, and desktop apps, written from scratch for x86, Arm, and RISC-V.

Stars
33,948
Forks
3,491
Open issues
746
Last commit
7 hours ago

What is it?

SerenityOS is a graphical, Unix-like operating system built around a custom 64-bit kernel with pre-emptive multi-threading. It targets x86, Arm, and RISC-V machines and aims for a late-1990s desktop aesthetic combined with the power-user conventions of late-2000s *nix systems. Most components, including the browser, libraries, and utilities, live in the same repository.

The system includes a web browser with JavaScript and WebAssembly support, a set of system services such as WindowServer and LoginServer, and a POSIX-style userland with a shell and standard Unix utilities. It also provides POSIX-like virtual file systems, an IPv4/TCP/UDP network stack, and built-in developer tools such as the HackStudio IDE and a crash reporter. Ladybird, the browser project derived from this codebase, can be built on Linux, macOS, and WSL2 or on SerenityOS itself.

The project is aimed at developers who want to study or hack on a complete operating system end to end. Its build system cross-compiles from common hosts and launches the OS in QEMU, and the project also maintains a catalog of over three hundred ported open-source programs.

Key features

  • 01Custom 64-bit kernel with pre-emptive multi-threading
  • 02Built-in browser with JavaScript and WebAssembly support
  • 03Security features including pledge, unveil, and ASLR
  • 04Network stack with IPv4, TCP, UDP, DNS, and HTTP
  • 05POSIX-style userland with shell and standard Unix utilities
  • 06Developer tools including the HackStudio IDE and crash reporter

Use cases

  • Studying how a complete operating system is structured from kernel to GUI
  • Hacking on OS internals or experimenting with kernel and userland changes
  • Developing and testing software in a self-contained Unix-like environment under QEMU
  • Contributing to the Ladybird browser project built from this codebase

Quick start

  1. 1

    Read the SerenityOS build instructions linked in the README

  2. 2

    Build on Linux, macOS, or Windows with WSL2 as described in the build instructions

  3. 3

    Run the default build system command, which launches the OS in a QEMU instance

Things to know

  • Windows is supported only through WSL2.
  • The default run path launches the OS inside QEMU rather than on bare hardware.

Topics

FAQ

What is serenity?
A graphical Unix-like operating system with its own kernel, browser, and desktop apps, written from scratch for x86, Arm, and RISC-V. SerenityOS is a graphical, Unix-like operating system built around a custom 64-bit kernel with pre-emptive multi-threading. It targets x86, Arm, and RISC-V machines and aims for a late-1990s desktop aesthetic combined with the power-user conventions of late-2000s *nix systems. Most components, including the browser, libraries, and utilities, live in the same repository.
Is serenity free to use? What license does it have?
serenity is open source under the BSD-2-Clause license. Check the license terms before using it in commercial products.
Is serenity still maintained?
Actively maintained. The last commit to serenity was on Nov 7, 2026.
What can I use serenity for?
Studying how a complete operating system is structured from kernel to GUI Hacking on OS internals or experimenting with kernel and userland changes Developing and testing software in a self-contained Unix-like environment under QEMU Contributing to the Ladybird browser project built from this codebase
How do I install serenity?
Read the SerenityOS build instructions linked in the README Build on Linux, macOS, or Windows with WSL2 as described in the build instructions Run the default build system command, which launches the OS in a QEMU instance
Where can I get serenity?
The source code and installation instructions are on GitHub: https://github.com/SerenityOS/serenity

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects

An open-source, Alpha-stage operating system that aims for binary compatibility with Windows NT-family applications and drivers.

Other#operating-system#kernel#windows-compatibility
18.5K+38 this week2.3KCGPL-2.0Well maintainedUpdated 9 hours ago