bos/docs/hardware.md
Breadway 48d795da54 iso: add bos-nvidia-setup for optional proprietary NVIDIA
Click-to-install path for machines first-boot already offers. Installs
nvidia + nvidia-utils (never cuda), writes ~/.config/hypr/nvidia.lua,
and hyprland.lua dofiles that file only if it exists. Mesa stays
unchanged. Not on the ISO. Reboot after.
2026-08-16 00:54:40 +08:00

1.8 KiB

Hardware and recovery

GPUs

BOS ships the generic Mesa stack. AMD and Intel work out of the box.

The proprietary NVIDIA driver is not on the ISO. NVIDIA firmware is not on the image either (linux-firmware-nvidia stays commented out in packages.x86_64). Default Hyprland env is vendor-neutral.

On first graphical login, bos-first-boot probes lspci / /proc and, if an NVIDIA GPU is present, writes ~/.local/state/bos/nvidia-offer.json and notifies that the proprietary driver is not on the ISO. It does not install anything.

The optional proprietary path is bos-nvidia-setup or the Settings → Updates NVIDIA button. That installs nvidia + nvidia-utils (never cuda) and writes ~/.config/hypr/nvidia.lua. hyprland.lua dofiles that drop-in only if the file exists, so Mesa machines stay unchanged. Reboot after. Installing the packages by hand without the drop-in is not enough for a working Hyprland session.

The same probe leaves a HiDPI hint at ~/.local/state/bos/hidpi-hint.json when scale > 1 or the panel is dense; it never rewrites monitors.json. A VM without /dev/dri gets a notification only.

Recovery

An update that breaks the system is recovered from the GRUB "snapshots" submenu (grub-btrfs), not snapper rollback.

BOS GRUB pins rootflags=subvol=@. snapper rollback swaps the default subvolume; the installed grub.cfg will still boot @. Pick the grub-btrfs entry so the kernel command line matches the snapshot you want. Bakery desktop apps live under /usr/local on @, so those same snapshots include them.

If the system will not boot (lost EFI entry / broken GRUB), boot the live ISO and run sudo bos-rescue. It mounts @ + the ESP and offers the same grub-install NVRAM + --removable sequence as post-install.sh.

A/B root swapping is not implemented. See the README Recovery section.