An open-source, Alpha-stage operating system that aims for binary compatibility with Windows NT-family applications and drivers.
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
Read the SerenityOS build instructions linked in the README
- 2
Build on Linux, macOS, or Windows with WSL2 as described in the build instructions
- 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
A Windows-style desktop environment that runs entirely in the web browser, with File Explorer, windows, a terminal, and bundled apps and games.
A teaching operating system with about 2,000 lines of C and RISC-V assembly, designed so students can read all of its code.
A custom Fedora Atomic Linux image focused on gaming, with variants for desktops, Steam Deck, handhelds and home theater PCs.
A free Debian-based GNU/Linux desktop distribution with its own C Wayland compositor, React-based UI engine, and privacy-focused native apps.
A Rust operating system with a built-in voice agent that carries out actions in applications on the user's behalf.