uefi-ui

uefi_ui

A no_std + alloc immediate-mode UI library targeting UEFI firmware, with a pixel-perfect Bedrock-style visual system (3D bevels, teal desktop, navy title bars).

If you like this thing i made, please visit my website and consider donating some to power me with coffee, thanx :-)


What it is


Build & Run

Static screenshots (no dependencies)

cargo run -p uefi_ui_prototype --bin showcase
# Writes docs/screenshots/*.png

Library tests (host, no UEFI required)

cargo test -p uefi_ui
# 105 tests: widgets, file picker, editor settings, layout, framebuffer

Live SDL2 window (requires libsdl2-dev)

cargo run -p uefi_ui_prototype --features sdl             # widget gallery
cargo run -p uefi_ui_prototype --bin editor --features sdl # text editor

skriver – bootable text editor

make build-skriver   # cross-compile for x86_64-unknown-uefi
make iso-skriver     # produce target/skriver.iso (needs mtools, xorriso, dosfstools)
# Boot in QEMU:
qemu-system-x86_64 -machine q35 -m 256M \
  -drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE_4M.fd \
  -drive file=target/skriver.iso,format=raw,if=none,id=cd \
  -device ide-cd,drive=cd,bus=ide.1
make build-uefi   # cross-compile uefi_ui_test
make qemu         # boots in QEMU with OVMF + FAT ESP
make iso          # bootable ISO at target/uefi_ui_demo.iso

Documentation

Document Contents
Design Manual Visual language, color palette, spacing rules, full widget gallery with screenshots
Theming Guide How to use Theme, BedrockBevel, and bedrock_controls to build or customize the look

Screenshots

Widgets

bevel styles buttons checkbox radio buttons toggle slider progress tabs combo box list box scrollbar tree view file picker

Editor

editor empty editor with text editor menu editor find editor file picker editor large font

Decorative

groupbox separators status bar tooltip hatched background graph