Skip to content

codyd51/axle

Repository files navigation

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)

Assembler demo

Window animations (click to view video)

2021 desktop environment

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
Circles Rectangles Triangles
Julia set Mandelbrot set
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