mirror of
https://github.com/theupriser/steamify-cachyos-live-iso.git
synced 2026-10-02 15:10:26 +02:00
88 lines
5.3 KiB
Markdown
88 lines
5.3 KiB
Markdown
# To do (Steam Machine edition)
|
|
|
|
## Open
|
|
|
|
1. **Steamify installer page** (2026-09-28, working end to end; see
|
|
`AGENTS.md` for the module/build/testing details and gotchas behind
|
|
this). `packagechooserq` (custom QML) is built with each ISO by
|
|
`build-calamares-modules.sh` into `archiso/airootfs/usr/lib/calamares/modules/packagechooserq/`.
|
|
`netinstall` (checkbox tree) stays as a manually-swappable fallback
|
|
(`steamify-cachyos-dev/share/sn.sh` + `nisteamify.conf`) for when the
|
|
module can't load, but isn't wired into `calamares-online.sh`
|
|
automatically yet.
|
|
- **Still open**:
|
|
- A Python job (e.g. `steamifychoice`, before `packages@online`) to
|
|
normalize either page's choice (packagechooserq's
|
|
`packagechooser_steamifypage` GS key, or netinstall's
|
|
packageOperations markers) into one `steamifyChoice` GS key, so
|
|
`shellprocess_steamify.conf` doesn't need to know which page ran.
|
|
|
|
2. **Names**: only the installer says Steamify ("CachyOS with Steamify
|
|
Installer", productName set by calamares-online.sh); the live session,
|
|
Hello and About this System keep CachyOS's own names (legal clarity). The
|
|
ISO file is named by the day, like CachyOS: `steamify-cachyos-<version>-[dev-]<YYMMDD>-x86_64.iso`.
|
|
3. **Check the names** after the next build: installer title, Hello and
|
|
About this System say CachyOS.
|
|
4. ~~Steamify PR for `feat/defaults-options`~~ — done: 2.7.0 (`--options`,
|
|
`--boot`, `steamify.sh --boot` standalone) and 2.8.0
|
|
(`--defaults --list`, what the Steamify page's rows come from) are both
|
|
released. **The ISO builder is up to date with this**: no checkout
|
|
argument needed, `steamify-prepare.sh` (no args) and `calamares-online.sh`
|
|
at boot both just fetch the newest release, so the ISO always has 2.8.0+
|
|
without a rebuild for a Steamify-side change alone. A build of an *unreleased* Steamify change passes it as the input
|
|
`steamify_ref` of `iso-1-github-tag.yml` (a release branch does this by itself);
|
|
by hand: `steamify-prepare.sh <checkout>` / `vmisobuild.sh --steamify <path>`.
|
|
5. ~~Build in the test VM~~ — done: the ISO is built on the Gitea mirror's runner by `iso-2-gitea-build.yml` (see the
|
|
`steamify-iso-release` skill in steamify-cachyos-dev); test the result locally with `scripts/vmtest.sh --install`.
|
|
6. **Test on the real Steam Machine** from a USB stick (gamescope, LEDs, CEC,
|
|
power-off) before calling the ISO usable.
|
|
|
|
## Done
|
|
|
|
- **Full ISO install with the Steamify page** (2026-09-28, ISO VM,
|
|
`--fremont`, Start in: desktop): Summary listed the choices, the
|
|
install step ran Steamify 2.8.0 with every item OK, `--boot desktop`
|
|
applied, `exit: 0`; the installed system boots into the desktop.
|
|
- **Steamify Summary** (2026-09-28, ISO VM): an unordered list of the chosen
|
|
items' names plus "Starts in gaming mode/the desktop"
|
|
(`patches/packagechooserq-steamify-summary.patch`), with `items.json`
|
|
written by the launcher (its `$sdir` bug fixed, `0cc7367`).
|
|
- **packagechooserq built with the ISO** (2026-09-28):
|
|
`build-calamares-modules.sh` builds it in the build container/VM from
|
|
CachyOS's Calamares source against the current `cachyos-calamares-next`
|
|
(no prebuilt `.so` in git), with `built-for`; `calamares-online.sh` leaves
|
|
the Steamify page out when the Calamares it runs differs (the step then
|
|
installs everything on) instead of risking "Initialization Failed".
|
|
- **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_name` in
|
|
`archiso/profiledef.sh`); the volume label stays `COS_<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 with
|
|
`qemu-nbd -r` + `mount -o ro,rescue=nologreplay,subvol=@` (logs in `@log`).
|
|
|
|
## Later
|
|
|
|
- **Branding**: only the installer carries Steamify's name; check with the
|
|
CachyOS team whether that and the ISO file name are fine with them.
|
|
- **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.sh` once
|
|
`cachyos-calamares-next` is rebuilt against the repos' Boost.
|
|
|
|
Build and test details: the `steam-machine-iso` skill in steamify-cachyos-dev.
|