// overview

Visor Boot Manager

A minimal, fast, graphical UEFI boot manager written in C.

Visor draws an icon-based boot menu that boots Linux (EFI-stub kernels and Unified Kernel Images), chainloads any EFI executable (including the Windows Boot Manager), and stays intentionally small.

Visor menu screenshot Visor menu screenshot

Highlights

Graphical menu

Double-buffered, flicker-free rendering via GOP, with fluid animations, mouse/touch support, blur effects, and full theming.

Zero-config boot

No boot.conf? Visor auto-detects Windows, UKIs, plain kernels, and distro loaders — and derives a working kernel cmdline on its own.

Live USB hotplug

Plug a bootable stick in while the menu is open and it animates into the menu. Unplug it and it slides back out.

Encryption

Kernels and initrds can live on the ESP as authenticated encrypted containers; one password can also unlock a LUKS root.

Snapshots

Browse and one-shot boot btrfs snapshots (snapper, Timeshift, plain layouts) straight from the menu.

Accent colors

A Material-You palette is extracted from your wallpaper — in fixed-point integer math, inside firmware.

Cross-platform

x86_64 and AArch64 UEFI from one tree, with an architecture-neutral GUI core.

Debuggable

Self-pruning boot.log with a descriptive line at every step, and a recovery console on boot failure.

Quick start

curl -fsSL https://raw.githubusercontent.com/IO-ZetZor/Visor-BootManager/main/get.sh | sh

That installs build dependencies for your distro, clones the source, builds visor_x64.efi, and installs it to your EFI System Partition. See Install & Run for manual and advanced installs.

How it works, in one paragraph

Firmware loads \EFI\visor\visor_x64.efi. Visor initializes graphics, parses \EFI\visor\boot.conf (or auto-detects boot entries if it is missing), and draws the menu. When you pick an entry it loads the kernel or loader — decrypting, verifying, and patching in LUKS keys as configured — and hands over control via LoadImage/StartImage (PE images) or the Linux EFI handover protocol (raw kernels). Every step is logged to boot.log, and a failed boot drops into a recovery console instead of a black screen. The full picture is in Architecture.

Project facts

LanguageC (freestanding, gnu-efi), fixed-point math only — no float, no libm
Targetsx86_64 UEFI (visor_x64.efi), AArch64 UEFI (visor_aa64.efi)
LicenseBSD 2-Clause
AuthorIO-ZetZor
Repositorygithub.com/IO-ZetZor/Visor-BootManager — 500+ stars in its first six weeks
Latest releasev1.3 (2026-07-26) — see Versions