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.
42 lines
1.8 KiB
Markdown
42 lines
1.8 KiB
Markdown
# 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.
|