mirror of
https://github.com/theupriser/steamify-cachyos-dev.git
synced 2026-10-05 12:45:56 +02:00
docs: VM skill up to date with the menu (sub-options, HDMI-CEC, kernel pin) and today's pitfalls
This commit is contained in:
1 parent
6da46fc10f
commit
d626aafd84
1 file changed
+34
-12
@@ -14,7 +14,7 @@ which components are on and toggles them to match the user's choice. Menu order:
|
|||||||
4. Steam Deck/Machine icons (`STEAM_GAMEPADUI_ARGS -steamos3`)
|
4. Steam Deck/Machine icons (`STEAM_GAMEPADUI_ARGS -steamos3`)
|
||||||
5. Single user mode (SDDM, no lock screen/user switching/log out, Valve's empty KDE wallet; enabling it enables 1, disabling 1 disables it)
|
5. Single user mode (SDDM, no lock screen/user switching/log out, Valve's empty KDE wallet; enabling it enables 1, disabling 1 disables it)
|
||||||
6. Steamify shortcut (desktop icon + launcher entry that `curl | bash` the newest release; its gear icon is a release asset)
|
6. Steamify shortcut (desktop icon + launcher entry that `curl | bash` the newest release; its gear icon is a release asset)
|
||||||
7. HDMI-CEC (any PC, opt-in, never pre-ticked: Valve's cecd from the holo repo; see "Fake HDMI-CEC")
|
7. HDMI-CEC (any PC; pre-ticked on a first run only on Fremont: Valve's cecd/cec-audio-control/inputattach-cec-units from the holo repo, the steam-launcher drop-in that overrides `STEAM_ENABLE_CEC=0`; see "Fake HDMI-CEC")
|
||||||
8. Steam Machine support (only on DMI Valve/Fremont: leds-valve-dkms-git built for every kernel via `/etc/dkms/leds-valve-dkms.conf`, `ensure-kernel-headers.service`, udev rule, steamos-manager, powerdevilrc)
|
8. Steam Machine support (only on DMI Valve/Fremont: leds-valve-dkms-git built for every kernel via `/etc/dkms/leds-valve-dkms.conf`, `ensure-kernel-headers.service`, udev rule, steamos-manager, powerdevilrc)
|
||||||
9. └ Pin the kernel to 7.1.6-1 (sub-option of 8, ticked along with it; packages in `/var/cache/steamify/kernel`)
|
9. └ Pin the kernel to 7.1.6-1 (sub-option of 8, ticked along with it; packages in `/var/cache/steamify/kernel`)
|
||||||
10. Update BIOS (only on Fremont, an opt-in action, never pre-ticked; tickable only when Valve has a newer BIOS)
|
10. Update BIOS (only on Fremont, an opt-in action, never pre-ticked; tickable only when Valve has a newer BIOS)
|
||||||
@@ -39,7 +39,7 @@ snapshot commands below run in that directory. `scripts/vmreset.sh` takes
|
|||||||
scripts/vmreset.sh --fremont # restore ssh-ready, boot, mount repo, autologin, wait for Plasma
|
scripts/vmreset.sh --fremont # restore ssh-ready, boot, mount repo, autologin, wait for Plasma
|
||||||
# (also skips the broken krfoss mirror, installs shellcheck)
|
# (also skips the broken krfoss mirror, installs shellcheck)
|
||||||
scripts/cmp.sh save # baseline of the KDE configs
|
scripts/cmp.sh save # baseline of the KDE configs
|
||||||
scripts/vmwatch.sh '1\n3\n\ny\n' "Theme only" # wizard in a visible Konsole in the VM
|
scripts/vmwatch.sh 'q\n' "Menu" # wizard in a visible Konsole in the VM (read the ticks first)
|
||||||
scripts/vmwatch.sh --release '\ny\nm\nq\n' "Full run" # the newest GitHub release instead of /mnt
|
scripts/vmwatch.sh --release '\ny\nm\nq\n' "Full run" # the newest GitHub release instead of /mnt
|
||||||
scripts/vmstate.sh # component state
|
scripts/vmstate.sh # component state
|
||||||
scripts/vmshot.sh --clean /path/shot.png # screenshot (--clean: close Steam/Hello/Konsole first)
|
scripts/vmshot.sh --clean /path/shot.png # screenshot (--clean: close Steam/Hello/Konsole first)
|
||||||
@@ -62,7 +62,7 @@ window: `vmrun.sh` runs invisibly over SSH, so they see nothing happen.
|
|||||||
Start in the background:
|
Start in the background:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./run.sh --fremont > /tmp/vm.log 2>&1 & # flags: [install] [--fremont] [--nvidia] [--vulkan]
|
./run.sh --fremont > /tmp/vm.log 2>&1 & # flags: [install] [--fremont] [--nvidia] [--vulkan [--amd]]
|
||||||
```
|
```
|
||||||
|
|
||||||
Wait for SSH:
|
Wait for SSH:
|
||||||
@@ -167,19 +167,22 @@ line at the restart question.
|
|||||||
|
|
||||||
| Input | Meaning |
|
| Input | Meaning |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `'\ny\nm\nq\n'` | first run, accept all (not the BIOS item), back to the menu, quit |
|
| `'\ny\nm\nq\n'` | first run, accept what's pre-ticked (not Boot into desktop, not BIOS; HDMI-CEC only on Fremont), back to the menu, quit |
|
||||||
| `'2\n\ny\n'` | toggle the theme |
|
| `'3\n\ny\n'` | toggle the theme (while 1 is ticked) |
|
||||||
|
| `'7\n\ny\nm\nq\nn\n'` | toggle HDMI-CEC (while 1 is ticked) |
|
||||||
| `'a\ny\nm\nq\n'` | re-apply what is on (includes the conversion, so a restart is pending) |
|
| `'a\ny\nm\nq\n'` | re-apply what is on (includes the conversion, so a restart is pending) |
|
||||||
| `'q\n'` | just show the menu |
|
| `'q\n'` | just show the menu |
|
||||||
| `'1\n3\n5\n\ny\n'` | from all-off: theme only (with `--fremont` also add `6\n` to drop Steam Machine support) |
|
|
||||||
| `'1\n\ny\n'` | from a state where 1 is off: turn the conversion on |
|
| `'1\n\ny\n'` | from a state where 1 is off: turn the conversion on |
|
||||||
|
|
||||||
**Know the starting ticks before choosing input.** When *everything* is off
|
**Know the starting ticks before choosing input.** When *everything* is off
|
||||||
(fresh snapshot, or after turning the last component off), the menu treats it
|
(fresh snapshot, or after turning the last component off), the menu treats it
|
||||||
as a first run and pre-ticks **all** components, so `2` means "theme off,
|
as a first run and pre-ticks the components (not Boot into desktop, BIOS, or
|
||||||
rest on". Otherwise the ticks show what is on now. Unticking 1 also unticks 4,
|
HDMI-CEC off Fremont). Otherwise the ticks show what is on now. Unticking 1
|
||||||
and ticking 4 ticks 1 again, so `'1\n3\n4\n...'` ends with the conversion on.
|
also unticks single user mode (5) and **hides** the Boot into row (2), so
|
||||||
When unsure, run `'q\n'` first and read the ticks.
|
every later number moves up one; the same for Steam Machine support (8) and
|
||||||
|
its kernel pin row (9). Ticking 5 ticks 1 again. The numbers apply to the
|
||||||
|
menu as it is when you type them, one line at a time. When unsure, run
|
||||||
|
`'q\n'` first and read the ticks.
|
||||||
|
|
||||||
`a` only re-applies components that are already on: it does not retry one that
|
`a` only re-applies components that are already on: it does not retry one that
|
||||||
failed. Re-applying the conversion also resets the autologin session to
|
failed. Re-applying the conversion also resets the autologin session to
|
||||||
@@ -260,13 +263,20 @@ autologin, then (all passed last run; `scripts/vmstate.sh` after every step):
|
|||||||
|
|
||||||
1. Fresh run turning everything on (`'\ny\nm\nq\n'`), set session to plasma, reboot:
|
1. Fresh run turning everything on (`'\ny\nm\nq\n'`), set session to plasma, reboot:
|
||||||
SDDM logs straight in, Vapor desktop, three desktop icons (Return to Gaming
|
SDDM logs straight in, Vapor desktop, three desktop icons (Return to Gaming
|
||||||
Mode, Steam, Steamify CachyOS with the gear icon), LEDs loaded (17 nodes).
|
Mode, Steam, Steamify CachyOS with the gear icon), LEDs loaded (17 nodes),
|
||||||
|
`uname -r` 7.1.6-1-cachyos and `pacman -Qu` shows linux-cachyos `[ignored]`,
|
||||||
|
`~/.local/share/kwalletd/kdewallet.kwl.bak-steamify` next to Valve's empty wallet,
|
||||||
|
`steamos-manager-configure-cecd` enabled and `~/.config/cecd/config.d/00-steamos-manager.toml` written.
|
||||||
2. Rerun: all shown on, "Everything is already the way you want it".
|
2. Rerun: all shown on, "Everything is already the way you want it".
|
||||||
3. `a` re-apply: no duplicate journal entries.
|
3. `a` re-apply: no duplicate journal entries.
|
||||||
4. Theme on: Steam Deck wallpaper, full-width 46px panel, `distributor-logo-steamdeck` launcher icon, `dark-lnf=com.valve.vapor.desktop` (Brightness & Color's Dark Mode toggle is on, hint "Switch to Breeze"); with single user on, kickoff keeps `primaryActions=3`. Theme off: CachyOS wallpaper, floating 30px panel, CachyOS launcher icon, BreezeDark colors (not light), `cachyos-vapor` removed, `cmp.sh` clean.
|
4. Theme on: Steam Deck wallpaper, full-width 46px panel, `distributor-logo-steamdeck` launcher icon, `dark-lnf=com.valve.vapor.desktop` (Brightness & Color's Dark Mode toggle is on, hint "Switch to Breeze"); with single user on, kickoff keeps `primaryActions=3`. Theme off: CachyOS wallpaper, floating 30px panel, CachyOS launcher icon, BreezeDark colors (not light), `cachyos-vapor` removed, `cmp.sh` clean.
|
||||||
5. Single user off: switches to plasmalogin + sync bridge + sudoers; shortcut Exec uses `sudo -n`.
|
5. Single user off: switches to plasmalogin + sync bridge + sudoers; shortcut Exec uses `sudo -n`.
|
||||||
6. Single user on: back to SDDM.
|
6. Single user on: back to SDDM.
|
||||||
7. Icons + Steam Machine support off: driver, udev rule, modules-load, steamos-manager removed; yay kept.
|
7. Icons + Steam Machine support off: driver, udev rule, modules-load, steamos-manager removed; yay kept;
|
||||||
|
kernel pin removed (`IgnorePkg` empty, `pacman -Syu` back to the current kernel), files kept in
|
||||||
|
`/var/cache/steamify/kernel`. On again (even with the CachyOS servers blocked in
|
||||||
|
`/etc/hosts`): installs 7.1.6 from that directory; DKMS builds the LED driver once per kernel.
|
||||||
|
7c. HDMI-CEC: load vivid, then `scripts/vmcec.sh` (all PASS), off/on via the menu.
|
||||||
7b. DKMS: `vmstate.sh` shows `installed` for every kernel. Headers at boot:
|
7b. DKMS: `vmstate.sh` shows `installed` for every kernel. Headers at boot:
|
||||||
`sudo pacman -R --noconfirm linux-cachyos-lts-headers` (DKMS drops the LTS
|
`sudo pacman -R --noconfirm linux-cachyos-lts-headers` (DKMS drops the LTS
|
||||||
build), set the session to plasma, reboot, then `journalctl -b -u
|
build), set the session to plasma, reboot, then `journalctl -b -u
|
||||||
@@ -362,6 +372,18 @@ them with `systemd-run --user <app>`.
|
|||||||
|
|
||||||
## Pitfalls
|
## Pitfalls
|
||||||
|
|
||||||
|
- After a reboot or hard restart the autologin may be back on gamescope
|
||||||
|
(black screen): `sudo /usr/lib/steamos/steam-set-session plasma.desktop &&
|
||||||
|
sudo systemctl restart display-manager`.
|
||||||
|
- `vmreset.sh` sometimes stops at "Plasma did not start" (the greeter stays up
|
||||||
|
although the test autologin file is there): restart the display manager.
|
||||||
|
- `pkill -f '<pattern>'` from the host shell also matches the command running
|
||||||
|
it and kills it (exit 144): match something narrower, or kill by PID.
|
||||||
|
- Counting sudo password prompts (the VM has NOPASSWD): move
|
||||||
|
`/etc/sudoers.d/99-test-vm` aside, give the user a password, run the wizard
|
||||||
|
in a Python `pty` that answers `[sudo] password` and logs each prompt, then
|
||||||
|
put the file back. `makepkg -i` runs `sudo -k` and always asks again.
|
||||||
|
|
||||||
- Broken mirror: `mirror5.krfoss.org` served a bad `.sig` ("Maximum file size
|
- Broken mirror: `mirror5.krfoss.org` served a bad `.sig` ("Maximum file size
|
||||||
exceeded"), failing the conversion's package install. `vmreset.sh` comments
|
exceeded"), failing the conversion's package install. `vmreset.sh` comments
|
||||||
it out; by hand: `sudo sed -i '/krfoss/s/^Server/#Server/' /etc/pacman.d/*mirrorlist*`.
|
it out; by hand: `sudo sed -i '/krfoss/s/^Server/#Server/' /etc/pacman.d/*mirrorlist*`.
|
||||||
|
|||||||
Reference in new issue
Block a user