6.0 KiB
To do (Steam Machine edition)
Open
-
Steamify installer page (2026-09-28, confirmed dead end, next: netinstall). Tested live in the ISO VM (vmisoboot.sh, QMP clicks/screenshots):
packagechooserq(custom QML) does not exist on this Calamares build.cachyos-calamares-nextshipspackagechooserq.confas a vestigial config file, but no.so:/usr/lib/calamares/modules/only haspackagechooser(no q). Calamares refuses to start ("Module ... not found in module search paths"). SoSteamifyPage.qml(app-styled switches) cannot be loaded as a real module on this ISO; don't retry it without first confirming the module is installed (pacman -Ql cachyos-calamares-next | grep viewmodule, orls /usr/lib/calamares/modulesin the live session) before building.packagechooser(the real, installed module),method: legacy, is single-choice regardless ofmode. Testedmode: optionalmultiplelive: renders as "Choose a product from the list. The selected product will be installed." — a single-select list, not checkboxes. This matches the pre-session finding that started this whole redesign (the very first packagechooser-based skip/boot pages had the same single-select bug). So going back to plainpackagechooserfor Steamify's options does not give real multi-select either.netinstallis the one module that genuinely renders checkboxes for multiple simultaneous selections (confirmed live on the Packages step: CachyOS Packages, shell config, base-devel, KDE-Desktop all ticked together, a real QTreeView-with-checkboxes widget). Next attempt: anetinstall-based page for Steamify's options (customnetinstall.yaml/groups data instead of real packages; the choice goes to global storage asnetinstallSelect, whichshellprocess_steamify.confwould read instead ofpackagechooser_steamifypage). Verify the exact global-storage key and whether netinstall's groups mechanism can host non-package items before building anything.- Lesson for next time (the user's point): check a Calamares module
is actually installed/available (
ls /usr/lib/calamares/modules,pacman -Ql cachyos-calamares-next) and test the page live by editing/etc/calamares/settings.conf+ the module's.confin a running live session (pkexec-wrapper calamares -D6, no full ISO rebuild needed) before spending a 13+ minute ISO build on it. - Steamify-side work from this session (kept, still valid once a real
page module is found):
steamify.sh --defaults --list(2.8.0, released) andcalamares-online.sh's newest-steamify.sh-before-install fetch.SteamifyPage.qml/Items.qml/Theme.qmlcopies are dead code until/unlesspackagechooserqbecomes available; left in the tree for now, not referenced by any working settings.conf sequence.
-
Check the live name2. Check the live name (the build tree has it right:
build/x86_64/airootfs/etc/os-release) after the next build: Hello's subtitle should say "Steamify CachyOS, based on CachyOS rolling" (steamify-customize.sh, run by mkarchiso after the packages; the airootfs copy of os-release is overwritten by a package). -
Steamify PR for
feat/defaults-options(2.7.0,c4ec755:--options,--boot; alsosteamify.sh --booton its own and the HDMI-CEC volume fix): pushed and regression-tested in the VM (--fremont), no PR yet; the user merges (never commit to main). 2.6.0 is released. Until 2.7.0 is, build the ISO withsteamify-prepare.sh ~/projects/steamify-cachyos(the branch). -
Build in the test VM instead of on the Steam Machine (steam-machine-iso skill), and install the result unattended with
scripts/vminstall.sh --iso(vm-install skill; the Calamares Steamify step then needssteamify-installrun from the live script). -
Test on the real Steam Machine from a USB stick (gamescope, LEDs, CEC, power-off) before calling the ISO usable.
Done
- Steamify 2.6.0 released (
--defaults, install-time mode). - Live session (VM,
--fremont): Vapor look and layout (Steam Deck wallpaper) at the live login; the power-off module is built for both ISO kernels and loaded at boot, in the VM it returns "No such device" (no AMDI0030 GPIO controller), as designed. Whether it keeps the real Steam Machine off is part of the hardware test. - Regression test 2.6.0 on an existing desktop install (test VM from
ssh-ready,
--fremont): full first run, re-apply, notifications/CEC/theme off and on again. No errors; user units enabled and running, theme applied and restored live, no first-login autostart with a session. - ISO name:
steamify-cachyos-<date>-x86_64.iso(iso_nameinarchiso/profiledef.sh); the volume label staysCOS_<yyyymm>. - VM install from the ISO (2026-09-27,
f42859a): a VM install from the ISO (Hello's Install, no manual fixes) ran Steamify's step: every component OK,exit: 0, SDDM autologin into gamescope. First desktop login (session switched to plasma in the VM) passed too: Vapor layout, the app opened with everything on. The first-login script runs the newest release, so it only works once 2.6.0 is released (in the test it was pointed at the bundle). The VM's text console doesn't show (virgl): read the installed disk withqemu-nbd -r+mount -o ro,rescue=nologreplay,subvol=@(logs in@log).
Later
- Branding: the live session's os-release says "Steamify, based on CachyOS" (Hello's subtitle); Hello's window title and the boot menu still say CachyOS. Check with the CachyOS team.
- Release: a CI job that builds the ISO (privileged container, flags from the steam-machine-iso skill) and hosts it (>2 GB, not a GitHub release asset).
- Drop the Boost 1.91 workaround in
steamify-prepare.shoncecachyos-calamares-nextis rebuilt against the repos' Boost.
Build and test details: the steam-machine-iso skill in steamify-cachyos-dev.