axle is a hobby microkernel and userspace built around message-passing. Everything used within axle is implemented from the ground up, from the bootloader, to the window manager, to the assembler. axle runs on bare metal. axle provides a desktop environment via an efficient compositor and a homegrown GUI toolkit library.
Assembler demo (click to view video)
Window animations (click to view video)
Screenshots
Features (2021)
- Compositing window manager with animations, alpha blending, and window clipping
- TCP/IP stack
- HTML/CSS rendering engine
- Home-grown x86_64 ELF assembler
- Userspace games like Snake, Breakout, DOOM (ported), and 2048
- Userspace applications like a web browser supporting HTTP
- MLFQ scheduler
- GUI toolkit
- Rust support
- Crash reporting
- Message-based IPC
- Driver interface
- ELF loader
- RTL8139 driver
- AHCI driver
- Task visualizer
- Newlib port
- Many supporting features (paging, ring3, syscalls, PCI, etc.)
Old graphics for nostalgia (up to 2018)
VGA graphics
Circles | Rectangles | Triangles |
---|---|---|
Julia set | Mandelbrot set |
---|---|
Old window manager (2018)
Running
axle's Github CI action serves as documentation for setting up an environment from scratch. axle uses QEMU as its standard emulator and runs on the real hardware I've tested.
License
MIT License