Recovery is reboot → GRUB “snapshots” submenu. snapper rollback does not change what GRUB boots (rootflags=subvol=@). Same wording in README Recovery and docs/hardware.md.
39 lines
1.7 KiB
Markdown
39 lines
1.7 KiB
Markdown
# Hardware and recovery
|
|
|
|
## GPUs
|
|
|
|
BOS ships the generic **Mesa** stack. AMD and Intel work out of the box.
|
|
|
|
**NVIDIA is unsupported.** The proprietary driver is not included, NVIDIA
|
|
firmware is not on the image, and there is no Hyprland NVIDIA env wiring.
|
|
Installing `nvidia` / `nvidia-utils` after the fact is not a product path.
|
|
|
|
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. bos-settings can grow a panel that reads that file later.
|
|
|
|
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 by **reboot → GRUB
|
|
“snapshots” submenu** (grub-btrfs). `snapper rollback` will not change
|
|
what GRUB boots (`rootflags=subvol=@`).
|
|
|
|
`snapper rollback` swaps the default subvolume; the installed `grub.cfg`
|
|
still boots `@`. Pick the grub-btrfs entry so the kernel command line
|
|
matches the snapshot you want.
|
|
|
|
BOS Settings → Snapshots lists snapshot number, date, and description so
|
|
you know which GRUB entry to pick. It does not roll the running root back
|
|
in place. 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.
|