// guides
Visor Studio
The official visual boot.conf configurator.
Visor Studio is a companion project (not the bootloader): a browser app that edits, validates, previews, and exports a Visor configuration without the reboot-and-check loop. It is built by Farid, is BSD-2-Clause licensed, and lives in its own repository: Versedcamel153/visor-studio.
What it does
- Visor-aware parser for
entry {},linux {}andwindows {}blocks - Schema-driven controls from Visor’s upstream
boot.conf.schema.json - Diagnostics for malformed syntax, unknown keys, duplicate keys, risky values, and unclosed blocks
- Safe auto-fix for aliases and hex-colour comment hazards; unknown keys are preserved, not dropped
- Live boot-menu preview using bundled Visor defaults and assets
- Entry wizard with Linux, UKI, Windows, and custom EFI presets; automatic icon suggestions
- Drag-and-drop boot-entry reordering; raw/generated/diff views with syntax highlighting
- Export bundle:
EFI/visor/boot.conf, staged assets, and install instructions
Running it
For real installs use the Visor CLI, which clones the Studio repo and runs it
locally on localhost — your config and assets never leave the machine:
| Command | What it does |
|---|---|
visor studio | Clone (once) and run Visor Studio locally. |
visor studio --update | Pull the latest Studio before running. |
visor studio --port PORT | Backend port (default 8000). |
visor studio --docker | Require the Docker runtime. |
visor studio --detach | Run in the background and return immediately. |
Docker is used when available — a single container serving the UI and API on
http://127.0.0.1:8000. Otherwise it falls back to
python3+node: a venv with pip install -e .[test],
uvicorn main:app for the backend port, and the Vite frontend dev
server on http://127.0.0.1:5173. The checkout lives at
~/.cache/visor-studio (or $VISOR_STUDIO_DIR).
Limits
- The preview is a browser approximation of Visor’s EFI renderer, not pixel-identical.
- It cannot verify that kernel/initrd/EFI/logo/background/icon/font paths exist on your ESP.
- Uploaded files are staged for export; the bundle must still be copied to the EFI location.
- Theme-file loading is not fully simulated, and browser fonts differ from EFI text rendering.
Why a separate repo
Keeping Studio as its own official companion lets it iterate quickly on the
web UI, backend, Docker/deployment, screenshots, and releases, while Visor stays
a single small EFI binary. Visor remains the source of truth for the parser,
defaults, assets, and the published boot.conf.schema.json (gated by
tools/check_config_keys.py); Studio consumes a self-contained
snapshot of that schema so its schema-driven controls stay aligned.