GNOME plan: 2.13.0 hardware session (results, GN8-GN14, the undiagnosed roughed-up GNOME, multi-OS Limine)
Sync git.upriser.nl mirror / sync (push) Skipped

This commit is contained in:
theupriser committed 2026-10-15 21:24:07 +02:00
1 parent 04f51da97d
commit 729633d837
2 files changed
+62

No files matched your search

+9
View File
@@ -77,6 +77,13 @@ change only shows right after Enter).
| GN5 | `50-n5-desktop-pref.sh` | `--desktop kde\|gnome\|last` stored, bad values refused, the session tool resolves to what is installed | | GN5 | `50-n5-desktop-pref.sh` | `--desktop kde\|gnome\|last` stored, bad values refused, the session tool resolves to what is installed |
| GN6 | `60-n6-switch-reboot.host.sh` | stand-in gamescope session: boot into it, Switch to Desktop, Return to Gaming Mode, boot into desktop and back across reboots, pacman hook restores our tools | | GN6 | `60-n6-switch-reboot.host.sh` | stand-in gamescope session: boot into it, Switch to Desktop, Return to Gaming Mode, boot into desktop and back across reboots, pacman hook restores our tools |
| GN7 | `70-n7-both-desktops.sh` | with Plasma installed too: GDM kept, both themes offered, preferred/last desktop picks the session | | GN7 | `70-n7-both-desktops.sh` | with Plasma installed too: GDM kept, both themes offered, preferred/last desktop picks the session |
| GN8 | to write (stand-in session) | 2.13.0: a theme-only run ends in the relogin countdown (Cancel keeps "Restart GNOME"), `steamify-gdm-relogin <session>` lands in the session the app runs in and puts AccountsService `Session`/`XSession` back; no helper = plain logout; a run that needs a reboot shows Restart now, no countdown |
| GN9 | to write (screenshots) | theme off/on/off with a relogin after each: top bar icons and overview search still work; dash favorites, `gio list-apps`, `~/.local/share/icons/hicolor` (PNG, no `index.theme`), gsettings leftovers (`gtk-theme`). **Reported broken on hardware, not diagnosed** (gnome/PLAN.md) |
| GN10 | to write | extension ownership: `gnomeextras.list` before install (missing packages only); both off removes those packages and the two extensions from `enabled-extensions`; theme off with the conversion on keeps them enabled; user-installed packages stay |
| GN11 | manual, real session | app window frame and buttons (minimize/maximize/close), Restart now, scale 100% and at a GNOME scale of 150%, `--fullscreen` unchanged, one click flips a switch and a row click only selects, header logo (needs `qt6-svg`), dock icon after the launcher option (PNG by name) |
| GN12 | to write | prebuilt Settings package (`settings` release): download + checksum + `pacman -U --ask 4` installs the "GNOME Desktop" panel, off puts stock back; offline / wrong checksum / pacman conflict keep stock with a warning |
| GN13 | manual | desktop icons from the top right in name order (Return to Gaming Mode, Steam, Steamify CachyOS), user's own files keep their positions, off restores `start-corner`; dock at the bottom |
| GN14 | manual, real PC with two OSes | Limine with a second Linux install on the same ESP: the other install's entry survives a reinstall of this one (it does not today: repaired by hand twice, recipe in gnome/PLAN.md); order CachyOS, CachyOS GNOME, Windows; Secure Boot (sbctl) with the hand-written entry NOT done |
Not automatable: gamescope itself (no rendering in the VM), the app's dock icon and window frame, the Settings panel, real hardware (GDM restart behaviour). Not automatable: gamescope itself (no rendering in the VM), the app's dock icon and window frame, the Settings panel, real hardware (GDM restart behaviour).
@@ -195,3 +202,5 @@ and started with `--fremont`. Automated: `scripts/vmtest.sh` (see the vm-install
| 2026-10-14 | Steamify 2.12.0 on the ISO `steamify-cachyos-2.12.0-dev-261014-x86_64.iso` (sha256 `bd93fa6b…ed47c`, built from `release/2.12.0`), dev `main` (7dd1f37); on the laptop (Ubuntu, KVM), headless | B1-B5 for limine, systemd-boot and grub; the plain-PC install check (generic) for all three | boot loaders: **limine 43, systemd-boot 42, grub 42 pass, 0 fail**. Plain PC: 21-22 pass, **1 fail per loader: "cec is on, but this is not a Steam Machine"**. Cause: `steamify-install` falls back to "everything on" (`...,vram,cec,machine,poweroff`) when Calamares passes no selection (the headless test install), and `cec` is offered on every PC; `poweroff` stays off by itself (`machine_available`). The docs say HDMI-CEC is ticked by default only on a Steam Machine: either the ISO's fallback should only include `cec` on a Steam Machine, or this check should not expect it off. To decide; a real install through the chooser is not affected by the fallback. Test side: three parallel first installs corrupted the shared package cache (`could not rename ... .part`): install one VM first to fill `~/vms/pkg-cache`; a first retry also hit a transient "cachyos: signature ... is invalid" from a mirror. Laptop needs a `bsdtar` shim (pycdlib) and `VM_SSH_KEY` outside `~/.ssh` | | 2026-10-14 | Steamify 2.12.0 on the ISO `steamify-cachyos-2.12.0-dev-261014-x86_64.iso` (sha256 `bd93fa6b…ed47c`, built from `release/2.12.0`), dev `main` (7dd1f37); on the laptop (Ubuntu, KVM), headless | B1-B5 for limine, systemd-boot and grub; the plain-PC install check (generic) for all three | boot loaders: **limine 43, systemd-boot 42, grub 42 pass, 0 fail**. Plain PC: 21-22 pass, **1 fail per loader: "cec is on, but this is not a Steam Machine"**. Cause: `steamify-install` falls back to "everything on" (`...,vram,cec,machine,poweroff`) when Calamares passes no selection (the headless test install), and `cec` is offered on every PC; `poweroff` stays off by itself (`machine_available`). The docs say HDMI-CEC is ticked by default only on a Steam Machine: either the ISO's fallback should only include `cec` on a Steam Machine, or this check should not expect it off. To decide; a real install through the chooser is not affected by the fallback. Test side: three parallel first installs corrupted the shared package cache (`could not rename ... .part`): install one VM first to fill `~/vms/pkg-cache`; a first retry also hit a transient "cachyos: signature ... is invalid" from a mirror. Laptop needs a `bsdtar` shim (pycdlib) and `VM_SSH_KEY` outside `~/.ssh` |
| 2026-10-14 | Steamify 2.12.0 on the rebuilt ISO `steamify-cachyos-2.12.0-dev-261014-x86_64.iso` (the ISO repo's PR #26 merged: the install fallback only turns HDMI-CEC on for a Steam Machine), dev `main` (7e11b94); laptop, headless | B1-B5 for limine, systemd-boot, grub; the plain-PC install check for all three | **boot loaders: limine 43, systemd-boot 42, grub 42; plain PC: limine 23, systemd-boot 22, grub 22: all pass, 0 fail.** The earlier "cec is on, but this is not a Steam Machine" is fixed. (The limine boot line in the summary says "aborted" only because its VM already existed from the first run of the same ISO; its 43 passed.) Test side: six parallel installs of a newly released kernel corrupted the shared package cache (`linux-cachyos ... corrupted (PGP signature)`): delete the new files from `~/vms/pkg-cache/pkg`, install one VM first, then the rest | | 2026-10-14 | Steamify 2.12.0 on the rebuilt ISO `steamify-cachyos-2.12.0-dev-261014-x86_64.iso` (the ISO repo's PR #26 merged: the install fallback only turns HDMI-CEC on for a Steam Machine), dev `main` (7e11b94); laptop, headless | B1-B5 for limine, systemd-boot, grub; the plain-PC install check for all three | **boot loaders: limine 43, systemd-boot 42, grub 42; plain PC: limine 23, systemd-boot 22, grub 22: all pass, 0 fail.** The earlier "cec is on, but this is not a Steam Machine" is fixed. (The limine boot line in the summary says "aborted" only because its VM already existed from the first run of the same ISO; its 43 passed.) Test side: six parallel installs of a newly released kernel corrupted the shared package cache (`linux-cachyos ... corrupted (PGP signature)`): delete the new files from `~/vms/pkg-cache/pkg`, install one VM first, then the rest |
| 2026-10-15 | Steamify `feature/gnome-prototype` (dbaeaa1, from 2.12.0), plain CachyOS VM `~/vms/steamify-vm` and the new GNOME VM `~/vms/gnome-vm`, dev `main` + the `gnome` suite; laptop, headless | KDE regression: cli (+ new block 70-k1), menu, hw, installer, toggles, nvidia. GNOME: GN1-GN7 | **KDE: cli 89, hw 78, menu 37, installer 4, nvidia 66, toggles 42: 0 fail.** **GNOME: 0 fail** (first run 110 pass, 5 fail, all test bugs: shellcheck needs `-S warning -e SC2034,SC2154`, the VM's GDM already had autologin, a sed range cut the function out; GN2, GN3, GN5 re-run: 32, 11, 8 pass; GN1, GN4, GN6, GN7 passed first time). The Go-only `backend` suite and `share/golden` were removed (the Go refactor is scrapped). Not run: boot loaders, app screens U1-U9, real hardware | | 2026-10-15 | Steamify `feature/gnome-prototype` (dbaeaa1, from 2.12.0), plain CachyOS VM `~/vms/steamify-vm` and the new GNOME VM `~/vms/gnome-vm`, dev `main` + the `gnome` suite; laptop, headless | KDE regression: cli (+ new block 70-k1), menu, hw, installer, toggles, nvidia. GNOME: GN1-GN7 | **KDE: cli 89, hw 78, menu 37, installer 4, nvidia 66, toggles 42: 0 fail.** **GNOME: 0 fail** (first run 110 pass, 5 fail, all test bugs: shellcheck needs `-S warning -e SC2034,SC2154`, the VM's GDM already had autologin, a sed range cut the function out; GN2, GN3, GN5 re-run: 32, 11, 8 pass; GN1, GN4, GN6, GN7 passed first time). The Go-only `backend` suite and `share/golden` were removed (the Go refactor is scrapped). Not run: boot loaders, app screens U1-U9, real hardware |
| 2026-10-15 (evening) | Steamify `release/2.13.0` (PRs #85-#93 merged; app from `~/steamify-cachyos` on the RTX 5080 PC, fresh CachyOS + GNOME, `systemd-run --user`) | by hand on the hardware: conversion + GNOME theme apply, Settings package from the `settings` release, relogin countdown, theme off/on, dock/icons/scale/clicks, Limine repair | Apply, prebuilt Settings, relogin into GNOME (session restored), scale, clicks, dock icon (PNG), dock bottom, extension removal: fine. **After several theme off/on cycles GNOME was roughed up (no icons in the top bar, search broken): not diagnosed, GN9.** Limine lost the main CachyOS entry again after the reinstall: repaired by hand (GN14). Not run: Secure Boot, the VM suites, KDE regression, app screens on KDE |
+53
View File
@@ -3,6 +3,59 @@
## Test status 2026-10-15 ## Test status 2026-10-15
Automated suite `gnome` (`scripts/vmsuite.sh gnome`, TESTPLAN F-GNOME, GN1-GN7): all pass, including session switching with the stand-in session, reboot persistence, boot into desktop, KDE+GNOME together. KDE regression (6 suites) passes on the branch. Open item (6) of the list below (GNOME regression run) is done; the rest stands. Automated suite `gnome` (`scripts/vmsuite.sh gnome`, TESTPLAN F-GNOME, GN1-GN7): all pass, including session switching with the stand-in session, reboot persistence, boot into desktop, KDE+GNOME together. KDE regression (6 suites) passes on the branch. Open item (6) of the list below (GNOME regression run) is done; the rest stands.
## 2.13.0 release branch on the RTX 5080 PC (hardware session 2026-10-15 evening): results and what to test in the VM next
Setup: `release/2.13.0` (steamify-cachyos PRs #85-#93 merged) on a fresh CachyOS + GNOME install, 3440x1440 monitor. The test copy lives in
`~/steamify-cachyos` and the app was started **as a user unit inside the GNOME session** (`systemd-run --user --unit=... python3 ./steamify-ui
--windowed` with `XDG_RUNTIME_DIR` and `DBUS_SESSION_BUS_ADDRESS` set), NOT from a plain ssh command: that has no `XDG_CURRENT_DESKTOP`
(so no own window frame on GNOME: no minimize/close buttons) and no polkit session (`systemctl reboot` fails silently). The remote login
shell is fish (send scripts to `bash -s`). GNOME blocks screenshots from outside the session (`org.gnome.Shell.Screenshot` is not
allowed), only the portal works.
Confirmed on the hardware:
- The conversion + GNOME theme apply runs end to end. The NVIDIA gaming mode setup had failed on a working gamescope: the smoke test
`timeout gamescope ... | grep -q` under `pipefail` (fixed, #84; check it stays fixed in the nvidia suite).
- The prebuilt GNOME Settings (release `settings` of steamify-gnome-theme, built by CI in an Arch container in ~3 min) downloads, passes its
checksum and installs; the "GNOME Desktop" panel is there. Turning the theme off puts the stock `gnome-control-center` back.
- Restart GNOME (countdown at the end of a theme-only run, then `steamify-gdm-relogin <session>`): the relogin itself takes ~1 s; it first
landed in gaming mode (the account's session after the conversion), now it logs into the session the app runs in and puts the account's
session back afterwards (checked: Session=gamescope-session again). A run that also needs a reboot shows Restart now instead.
- App: desktop scale 1.0 (it was 2.0 on 3440x1440), a row click only selects, the switch itself toggles, the logo needs `qt6-svg` (pyside6
doesn't pull it in), the dock icon needs a **PNG by name** in the user icon theme: an SVG, by path or by name, is blank in the dock on a
fresh install (GNOME Shell: "Could not load a pixbuf from icon theme"; GTK: "Unrecognized image file format" for the same SVG).
- GNOME theme: dock at the bottom, desktop icons from the top right (Return to Gaming Mode, Steam, Steamify CachyOS), Desktop Icons NG and
AppIndicator are installed by Steamify (they were not on the fresh install) and removed again when neither the conversion nor the theme is on.
Open, to build in the VM (rows GN8-GN13 in TESTPLAN F-GNOME):
1. **Roughed-up GNOME after several theme off/on cycles with relogins (NOT diagnosed).** After off/on/off cycles the user reported: no icons in the
top bar and the overview search not working. What was checked and was fine: the shell ran with both extensions ACTIVE, no failed user units,
all gsd units running, the user manager's environment complete (`XDG_CURRENT_DESKTOP=GNOME`, `WAYLAND_DISPLAY`), shell log with only benign
messages (`CalendarServer` activation failed, parental controls, `XDG_SESSION_ID` unset, `gsd-power` backlight), icons (Adwaita symbolic,
firefox) decode in a test session. Not yet looked at: the dash favorites and `gio list-apps`, the menu data, `~/.local/share/icons/hicolor`
(Steamify writes a PNG there; the directory has an `icon-theme.cache` from `gtk-update-icon-cache -t` but no `index.theme`: a suspect),
the icon theme caches, theme leftovers in gsettings (gtk-theme stayed `adw-gtk3-dark`), screenshots. Reproduce: apply theme, off, on, off, with a
relogin after each, and take portal screenshots of the top bar and the search each time.
2. **Relogin**: a theme-only run ends in the countdown, Cancel keeps the button, the relogin lands in GNOME and AccountsService `Session` is back to
what it was (stand-in gamescope session in the VM); without the helper (no conversion) it is a plain logout.
3. **Extension ownership**: `$STATE_DIR/gnomeextras.list` is written before the install and only for missing packages; both off removes exactly those
and takes the two extensions out of `enabled-extensions`; theme off with the conversion on keeps them enabled; a package the user installed
first stays. (Unit-tested with stubs only.)
4. **App on GNOME in a real session**: own window frame and buttons (minimize, maximize, close click-tested), Restart now, the scale at 100% and
at a GNOME scale of 150%, TV mode unchanged (`--fullscreen`), one-click switch and select-only row, the logo (qt6-svg) and the dock icon
after applying the **launcher** option (PNG by name in `hicolor/256x256/apps`, entry `io.github.theupriser.Steamify.desktop`).
5. **Settings package failure paths**: offline (stock Settings stays, a warning), wrong checksum, a pacman conflict; the weekly rebuild keeps
matching Arch (the package links against current libraries).
6. **Desktop icons**: Steamify's three launchers placed from the top right in name order, the user's own files keep their positions, theme off
puts `start-corner` back; Home and mounted drives still show.
Multi-OS Limine (real hardware only; the VM has one OS): on the user's PC (main CachyOS on nvme0n1p2, the GNOME test install on nvme0n1p3,
Windows on its own ESP) every reinstall of the GNOME test OS made the main CachyOS entry disappear from Limine (both installs share the ESP and the
generated `limine.conf` only knows its own machine id). Repaired by hand twice, same recipe: back up `limine.conf` and `/etc/default/limine`,
set `TARGET_OS_NAME` to the new install's name, `limine-update`, insert a `/+CachyOS` block pointing at the other install's
`boot():/<its machine id>/linux-cachyos{,-lts}/{vmlinuz,initramfs}` with its own root UUID and cmdline (no hashes), drop the stale block the
regenerate leaves, move the generated block before the Windows entry, `limine-snapper-sync`. Order wanted: CachyOS, CachyOS GNOME, Windows Boot
Manager. Open: Secure Boot (sbctl keys, signing, `limine enroll-config`) is NOT set up: the hand-written entry has no hashes and would not boot
with it on; the ESP was 84% full (three machine-id folders of ~1.2 GB; one is from a removed install and unused).
## Real hardware: the RTX 5080 PC with GNOME + CachyOS (checklist, written 2026-10-15) ## Real hardware: the RTX 5080 PC with GNOME + CachyOS (checklist, written 2026-10-15)
The VM can't render gamescope, so these are still open. Also read `nvidia/` (the NVIDIA gamescope path doesn't exist in the VM: how it behaves under GDM is untested). The VM can't render gamescope, so these are still open. Also read `nvidia/` (the NVIDIA gamescope path doesn't exist in the VM: how it behaves under GDM is untested).
Setup: `steamify-cachyos` on `feature/gnome-prototype` and this repo checked out; run from the checkout (`bash steamify.sh`; the released app doesn't know GNOME: `python3 ui/steamify-ui` with `XDG_CURRENT_DESKTOP=GNOME`). Passwordless sudo, GDM autologin working, a second way in (ssh from another machine: the ssh session dies at every session switch, reconnect). Back up first: `/etc/gdm/custom.conf`, `/usr/lib/steamos/steam-set-session`, `/usr/bin/steamos-session-select` (turning the conversion off restores them: tested in the VM, suite GN3). Setup: `steamify-cachyos` on `feature/gnome-prototype` and this repo checked out; run from the checkout (`bash steamify.sh`; the released app doesn't know GNOME: `python3 ui/steamify-ui` with `XDG_CURRENT_DESKTOP=GNOME`). Passwordless sudo, GDM autologin working, a second way in (ssh from another machine: the ssh session dies at every session switch, reconnect). Back up first: `/etc/gdm/custom.conf`, `/usr/lib/steamos/steam-set-session`, `/usr/bin/steamos-session-select` (turning the conversion off restores them: tested in the VM, suite GN3).