chore: The wizard's script is now steamify.sh

vmrun.sh, vmwatch.sh, the skill and the README run /mnt/steamify.sh.
This commit is contained in:
theupriser committed 2026-09-24 12:33:51 +02:00
1 parent c6abfd2ea8
commit 8c48858f54
6 files changed
+14 -12

No files matched your search

+6 -6
View File
@@ -1,11 +1,11 @@
--- ---
name: cachyos-vm-testing name: cachyos-vm-testing
description: Use when testing Steamify CachyOS (repo steamify-cachyos, setup-gamescope-boot.sh) changes in the CachyOS QEMU test VM - starting/stopping the VM, restoring snapshots, running the wizard over SSH with scripted menu input, checking each component's state, reboot checks and screenshots. description: Use when testing Steamify CachyOS (repo steamify-cachyos, steamify.sh) changes in the CachyOS QEMU test VM - starting/stopping the VM, restoring snapshots, running the wizard over SSH with scripted menu input, checking each component's state, reboot checks and screenshots.
--- ---
# Testing Steamify CachyOS in the CachyOS VM # Testing Steamify CachyOS in the CachyOS VM
The wizard (`setup-gamescope-boot.sh` + `lib/*.sh`) opens a menu that detects The wizard (`steamify.sh` + `lib/*.sh`) opens a menu that detects
which components are on and toggles them to match the user's choice. Menu order: which components are on and toggles them to match the user's choice. Menu order:
1. SteamOS conversion (boot into gaming mode via autologin, Return to Gaming Mode shortcut, Steam desktop autostart) 1. SteamOS conversion (boot into gaming mode via autologin, Return to Gaming Mode shortcut, Steam desktop autostart)
@@ -88,7 +88,7 @@ sudoers rule for the test user.
## Mounting the project repo ## Mounting the project repo
The mount is lost on every reboot (unless the fstab line below was added). The mount is lost on every reboot (unless the fstab line below was added).
Without it the wizard fails with `/mnt/setup-gamescope-boot.sh: No such file Without it the wizard fails with `/mnt/steamify.sh: No such file
or directory`, which is easy to miss in filtered output. Remount after each reboot. or directory`, which is easy to miss in filtered output. Remount after each reboot.
The repo (`REPO`, default `~/projects/cachyos-gamescope-boot`) is shared The repo (`REPO`, default `~/projects/cachyos-gamescope-boot`) is shared
@@ -134,7 +134,7 @@ guest). Manually, in the guest:
```bash ```bash
export XDG_RUNTIME_DIR=/run/user/1000 WAYLAND_DISPLAY=wayland-0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus export XDG_RUNTIME_DIR=/run/user/1000 WAYLAND_DISPLAY=wayland-0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
printf '\ny\nn\n' | /mnt/setup-gamescope-boot.sh printf '\ny\nn\n' | /mnt/steamify.sh
``` ```
Menu input: a number toggles a component, an empty line continues, `a` Menu input: a number toggles a component, an empty line continues, `a`
@@ -232,7 +232,7 @@ differs from Valve's newest. Fake an older one with
the environment through). fwupd correctly refuses the firmware in the VM the environment through). fwupd correctly refuses the firmware in the VM
("not for this machine's hardware"), so walk the whole flow with ("not for this machine's hardware"), so walk the whole flow with
`WIZARD_BIOS_DRY_RUN=1` (skips only that check, never flashes). Scripted: `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`. `printf '6\n\ny\ny\nUPDATE\n\nq\n' | WIZARD_BIOS_DRY_RUN=1 /mnt/steamify.sh`.
The wizard loops back to the menu after every run (Enter, or `m`/`r` when a 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`. restart is needed) until `q`; scripted input that runs out ends it like `q`.
@@ -267,7 +267,7 @@ them with `systemd-run --user <app>`.
- The guest's `/tmp` is cleared on reboot; keep baselines elsewhere. - The guest's `/tmp` is cleared on reboot; keep baselines elsewhere.
- The fake Fremont DMI makes leds-valve load 17 LED nodes, but there is no real hardware. - The fake Fremont DMI makes leds-valve load 17 LED nodes, but there is no real hardware.
- shellcheck: `sudo pacman -S shellcheck`, then in `/mnt`: - shellcheck: `sudo pacman -S shellcheck`, then in `/mnt`:
`shellcheck -S warning -x setup-gamescope-boot.sh lib/*.sh` `shellcheck -S warning -x steamify.sh lib/*.sh`
(SC2154/SC2034 cross-file warnings are false positives). (SC2154/SC2034 cross-file warnings are false positives).
- This repo's `.gitignore` is an allowlist: it ignores everything and - This repo's `.gitignore` is an allowlist: it ignores everything and
un-ignores only the tracked scripts/docs. Add any new tracked file to it un-ignores only the tracked scripts/docs. Add any new tracked file to it
+3 -1
View File
@@ -30,10 +30,12 @@ Watchable test runs and the lessons from testing cachyos-gamescope-boot 0.7.0
version (SMBIOS type 0), so the wizard offers the update. version (SMBIOS type 0), so the wizard offers the update.
- Skill: testing the BIOS item with `WIZARD_BIOS_DRY_RUN=1`, and the - Skill: testing the BIOS item with `WIZARD_BIOS_DRY_RUN=1`, and the
wizard's menu loop. wizard's menu loop.
- **docs: Renamed to steamify-cachyos-dev, for Steamify CachyOS** - `c6abfd2` **docs: Renamed to steamify-cachyos-dev, for Steamify CachyOS**
- README and skill point to `github.com/theupriser/steamify-cachyos`; the - README and skill point to `github.com/theupriser/steamify-cachyos`; the
local clone's default path (`REPO`) and the guest's state directory keep local clone's default path (`REPO`) and the guest's state directory keep
their old names. their old names.
- **chore: The wizard's script is now steamify.sh**
- `vmrun.sh`, `vmwatch.sh`, the skill and the README run `/mnt/steamify.sh`.
## 0.1.1 - 2026-09-23 ## 0.1.1 - 2026-09-23
+1 -1
View File
@@ -1,4 +1,4 @@
# CachyOS test VM for setup-gamescope-boot.sh -- Windows version. # CachyOS test VM for steamify.sh -- Windows version.
# .\run.ps1 [-Install] # .\run.ps1 [-Install]
# Needs QEMU for Windows (https://qemu.weilnetz.de/w64/) and the Windows # Needs QEMU for Windows (https://qemu.weilnetz.de/w64/) and the Windows
# feature "Windows Hypervisor Platform" (for -accel whpx). # feature "Windows Hypervisor Platform" (for -accel whpx).
+1 -1
View File
@@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
# CachyOS test VM for setup-gamescope-boot.sh. # CachyOS test VM for steamify.sh.
# [REPO=/path/to/cachyos-gamescope-boot] ./run.sh [install] [--nvidia] [--vulkan] [--fremont] # [REPO=/path/to/cachyos-gamescope-boot] ./run.sh [install] [--nvidia] [--vulkan] [--fremont]
# install boot the installer ISO # install boot the installer ISO
# --nvidia render the guest's virtio-gpu (virgl) on the host NVIDIA dGPU # --nvidia render the guest's virtio-gpu (virgl) on the host NVIDIA dGPU
+1 -1
View File
@@ -15,7 +15,7 @@ GUEST_UID="${GUEST_UID:-1000}"
export XDG_RUNTIME_DIR=/run/user/$uid WAYLAND_DISPLAY=wayland-0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus export XDG_RUNTIME_DIR=/run/user/$uid WAYLAND_DISPLAY=wayland-0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus
log=/tmp/wizard.log log=/tmp/wizard.log
# shellcheck disable=SC2059 # shellcheck disable=SC2059
printf "$input" | "$repo/setup-gamescope-boot.sh" > "$log" 2>&1; echo "exit=$?" >> "$log" printf "$input" | "$repo/steamify.sh" > "$log" 2>&1; echo "exit=$?" >> "$log"
cat "$log" cat "$log"
REMOTE REMOTE
} | vm_ssh bash -s 2>&1 | sed 's/\x1b\[[0-9;]*m//g' } | vm_ssh bash -s 2>&1 | sed 's/\x1b\[[0-9;]*m//g'
+2 -2
View File
@@ -13,13 +13,13 @@ label="${2:-Running the wizard}"
{ printf 'input=%q label=%q repo=%q uid=%q wait=%q\n' "$input" "$label" "${GUEST_REPO:-/mnt}" \ { printf 'input=%q label=%q repo=%q uid=%q wait=%q\n' "$input" "$label" "${GUEST_REPO:-/mnt}" \
"${GUEST_UID:-1000}" "${WAIT:-1800}"; cat << 'REMOTE' "${GUEST_UID:-1000}" "${WAIT:-1800}"; cat << 'REMOTE'
export XDG_RUNTIME_DIR=/run/user/$uid DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus export XDG_RUNTIME_DIR=/run/user/$uid DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus
[ -x "$repo/setup-gamescope-boot.sh" ] || { echo "$repo/setup-gamescope-boot.sh missing: mount the repo (lost after a reboot)" >&2; exit 1; } [ -x "$repo/steamify.sh" ] || { echo "$repo/steamify.sh missing: mount the repo (lost after a reboot)" >&2; exit 1; }
rm -f /tmp/wizard.done rm -f /tmp/wizard.done
{ {
echo '#!/bin/bash' echo '#!/bin/bash'
printf 'echo %q; echo %q; sleep 3\n' ">>> $label" ">>> menu input: $input" printf 'echo %q; echo %q; sleep 3\n' ">>> $label" ">>> menu input: $input"
# shellcheck disable=SC2016 # shellcheck disable=SC2016
printf 'printf %q | %q 2>&1 | tee /tmp/wizard.log\n' "$input" "$repo/setup-gamescope-boot.sh" printf 'printf %q | %q 2>&1 | tee /tmp/wizard.log\n' "$input" "$repo/steamify.sh"
echo 'touch /tmp/wizard.done' echo 'touch /tmp/wizard.done'
} > /tmp/vmwatch-run.sh } > /tmp/vmwatch-run.sh
chmod +x /tmp/vmwatch-run.sh chmod +x /tmp/vmwatch-run.sh