feat: Fake BIOS version for testing the BIOS update item

- run.sh: BIOS_VERSION=... reports that BIOS version to the guest (SMBIOS type 0).
- Skill: testing the BIOS item with WIZARD_BIOS_DRY_RUN=1, and the wizard's menu loop.
This commit is contained in:
theupriser committed 2026-09-24 10:40:36 +02:00
1 parent 3733f9400a
commit 3cdf2e11d8
3 files changed
+23 -2

No files matched your search

@@ -224,6 +224,19 @@ autologin, then (all passed last run; `scripts/vmstate.sh` after every step):
8. Conversion off: single user auto-unticked, plasmalogin `[Autologin]` back to CachyOS's `Session=plasma`, journals empty.
9. Remove the test autologin file, reboot: normal login screen.
## BIOS update item
Only shown with `--fremont`, and only tickable when the guest's BIOS version
differs from Valve's newest. Fake an older one with
`BIOS_VERSION=F7F0107 ./run.sh --fremont` (SMBIOS type 0; `vmreset.sh` passes
the environment through). fwupd correctly refuses the firmware in the VM
("not for this machine's hardware"), so walk the whole flow with
`WIZARD_BIOS_DRY_RUN=1` (skips only that check, never flashes). Scripted:
`printf '6\n\ny\ny\nUPDATE\n\nq\n' | WIZARD_BIOS_DRY_RUN=1 /mnt/setup-gamescope-boot.sh`.
The wizard loops back to the menu after every run (Enter, or `m`/`r` when a
restart is needed) until `q`; scripted input that runs out ends it like `q`.
## Visual checks
`scripts/vmshot.sh <out.png>` does the below. Starting `spectacle` straight
+6 -1
View File
@@ -24,7 +24,12 @@ Watchable test runs and the lessons from testing cachyos-gamescope-boot 0.7.0
the conversion/single-user coupling, the repo mount lost on reboot,
re-applying the conversion resets the session to gamescope, the new
theme and LED checks in the test matrix, and the broken mirror workaround.
- **docs: Changelog**
- `3733f94` **docs: Changelog**
- **feat: Fake BIOS version for testing the BIOS update item**
- `BIOS_VERSION=F7F0107 ./run.sh ...` makes the guest report that BIOS
version (SMBIOS type 0), so the wizard offers the update.
- Skill: testing the BIOS item with `WIZARD_BIOS_DRY_RUN=1`, and the
wizard's menu loop.
## 0.1.1 - 2026-09-23
+4 -1
View File
@@ -6,6 +6,8 @@
# --vulkan expose Vulkan to the guest (venus; needed by gamescope, can be unstable)
# --fremont report the Valve Steam Machine's DMI data (for testing the wizard)
# REPO defaults to $HOME/projects/cachyos-gamescope-boot.
# BIOS_VERSION=F7F0107 makes the guest report that BIOS version (DMI), e.g.
# to test the wizard's BIOS update item; the firmware itself doesn't change.
# The repo is shared into the guest; mount it there with:
# sudo mount -t 9p -o trans=virtio,version=9p2000.L repo /mnt
# First-time SSH setup, inside the guest:
@@ -17,13 +19,14 @@ repo="${REPO:-$HOME/projects/cachyos-gamescope-boot}"
cdrom=()
smbios=()
gpu=virtio-vga-gl,xres=1920,yres=1080
[[ -n "${BIOS_VERSION:-}" ]] && smbios+=(-smbios "type=0,version=$BIOS_VERSION")
for arg in "$@"; do
case "$arg" in
install) cdrom=(-cdrom cachyos.iso -boot d) ;;
--nvidia) export __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia \
__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/10_nvidia.json ;;
--vulkan) gpu+=,hostmem=4G,blob=true,venus=true ;;
--fremont) smbios=(-smbios type=1,manufacturer=Valve,product=Fremont -smbios type=2,manufacturer=Valve,product=Fremont) ;;
--fremont) smbios+=(-smbios type=1,manufacturer=Valve,product=Fremont -smbios type=2,manufacturer=Valve,product=Fremont) ;;
*) echo "unknown argument: $arg" >&2; exit 1 ;;
esac
done