docs: Power-off fix texts cover every affected kernel, not just 7.2

This commit is contained in:
theupriser committed 2026-09-27 12:23:54 +02:00
1 parent 6df19eba3e
commit 56fb9080a7
8 files changed
+31 -25

No files matched your search

+3 -2
View File
@@ -215,11 +215,12 @@ gamescope and the Plasma desktop. Primary target: the Valve Steam Machine
registered first, which never happens since amdgpu loads from the
initramfs. Without it `/dev/cec0` exists but stays at `f.f.f.f`.
- Power-off fix (`poweroff`, `lib/fremont-poweroff.sh`, a default sub-option
of `machine`): kernels >= 7.2 keep the firmware's S4/S5 wake bit on GPIO
of `machine`): recent kernels (7.2 and the 6.x/7.0/7.1 updates with the
backport) keep the firmware's S4/S5 wake bit on GPIO
pin 18, so the Steam Machine boots again right after powering off
(Valve's kernel clears it at probe, not for upstream). The DKMS module
`steamify-fremont-poweroff` (`patches/steamify-fremont-poweroff.c`) clears
it in a power-off-prepare handler, for every kernel. It made the kernel pin
it in a power-off-prepare handler, built for each kernel. It made the kernel pin
unnecessary: `kpin` is only available while on (`kpin_available`), and
`detect_components` unticks it (and `hdmi`, which needs the pinned
kernel), so a normal run removes an existing pin. CachyOS's
+4 -3
View File
@@ -8,11 +8,12 @@ one per merged pull request.
## 2.2.0 - 2026-09-27
- **feat: Power-off fix for the Steam Machine; the kernel pin is optional**
- With kernels 7.2 and newer the Steam Machine started again right after
shutting down: Linux 7.2 keeps the wake bit the firmware sets on GPIO
- With recent kernels (newer 6.x, 7.0 and 7.1 updates, 7.2 and probably
later ones) the Steam Machine started again right after shutting down:
they keep the wake bit the firmware sets on GPIO
pin 18, which Valve's own kernel clears in a patch that won't reach
CachyOS. Steam Machine support now builds a small module with DKMS for
every kernel that clears it right before power-off: the new **Power-off
each installed kernel that clears it right before power-off: the new **Power-off
fix** sub-option, ticked along with Steam Machine support (opt-out).
Tested with CachyOS 7.2.8: stays off, and without the module it
rebooted.
+5 -3
View File
@@ -210,9 +210,11 @@ wizard installed it).
## Power-off fix (Steam Machine)
With kernels 7.2 and newer a Steam Machine starts again right after
powering off. Linux 7.2 stopped clearing the S4/S5 wake bits at probe
(`pinctrl-amd: Don't clear S4 wake bits at probe`), and the firmware leaves
With recent kernels a Steam Machine starts again right after powering off:
the newer 6.x, 7.0 and 7.1 updates and 7.2 (and probably every kernel after
it). Linux stopped clearing the S4/S5 wake bits at probe
(`pinctrl-amd: Don't clear S4 wake bits at probe`, in 7.2 and backported to
stable kernels), and the firmware leaves
that bit set on GPIO pin 18 (`_SB.PCI0.GPP6`). Valve's own kernel
(`linux-neptune-72`) clears it at probe on Fremont, in a patch marked not
for upstream ("until the firmware is fixed"), so CachyOS and mainline won't
+10 -8
View File
@@ -1,13 +1,15 @@
#!/bin/bash
# "Power-off fix" menu item (poweroff), a sub-option of Steam Machine support
# ticked along with it (opt-out): the Steam Machine powers off instead of
# booting up again, on every kernel. Since Linux 7.2 ("pinctrl-amd: Don't
# clear S4 wake bits at probe") the S4/S5 wake bit the firmware leaves set
# on GPIO pin 18 stays set, and the machine starts again right after
# powering off (the reason for the kernel pin). Valve's kernel clears it at
# probe on Fremont, in a patch not meant for upstream, so CachyOS won't get
# it. A small module (patches/steamify-fremont-poweroff.c) clears it right
# before power-off; DKMS builds it for every kernel. On kernels that clear it themselves it does nothing.
# booting up again. Recent kernels (7.2, and the 6.x, 7.0 and 7.1 updates
# that got the change backported) keep the S4/S5 wake bit the firmware
# leaves set on GPIO pin 18 ("pinctrl-amd: Don't clear S4 wake bits at
# probe"), so the machine starts again right after powering off (the reason
# for the old kernel pin). Valve's kernel clears it at probe on Fremont, in
# a patch not meant for upstream, so CachyOS won't get it. A small module
# (patches/steamify-fremont-poweroff.c) clears it right before power-off;
# DKMS builds it for each installed kernel. On a kernel that clears it
# itself it does nothing.
# Sourced by steamify.sh; not meant to be run on its own.
POWEROFF_DKMS_NAME=steamify-fremont-poweroff
@@ -65,5 +67,5 @@ poweroff_enable() {
}
poweroff_disable() {
poweroff_fix_disable
ok "Power-off fix removed; with kernels 7.2 and newer the Steam Machine may start again after shutting down."
ok "Power-off fix removed; with recent kernels the Steam Machine may start again after shutting down."
}
+1 -1
View File
@@ -33,7 +33,7 @@ declare -A LABEL=(
[launcher]="Steamify shortcut: the app on the desktop, Steamify Terminal in the launcher"
[cec]="HDMI-CEC: use Steam with the TV remote, TV on/off with the PC (experimental)"
[machine]="Steam Machine support: LED bar driver, hardware settings in Steam"
[poweroff]="Power-off fix: stays off after shutting down, on every kernel"
[poweroff]="Power-off fix: the Steam Machine stays off after shutting down"
[kpin]="Pin the kernel to $PINNED_KERNEL_VER (no longer needed: untick for CachyOS's current kernel)"
[hdmi]="HDMI refresh boost: highest refresh your HDMI display runs"
[bios]="Update BIOS"
+1 -1
View File
@@ -6,5 +6,5 @@ read and reviewed on their own. `lib/*.sh` reads them with `patch_file
| File | Used by | What |
|---|---|---|
| `steamify-fremont-poweroff.c` | `lib/fremont-poweroff.sh` (Steam Machine support) | Kernel module (DKMS): clears GPIO 18's S4/S5 wake bit before power-off, so the Steam Machine stays off on kernels 7.2 and newer |
| `steamify-fremont-poweroff.c` | `lib/fremont-poweroff.sh` (Steam Machine support) | Kernel module (DKMS): clears GPIO 18's S4/S5 wake bit before power-off, so the Steam Machine stays off with recent kernels |
| `cros-ec-cec-single-port.patch` | `lib/cec.sh` (HDMI-CEC) | Makes Valve's Steam Machine CEC driver find amdgpu's HDMI port |
+3 -3
View File
@@ -2,9 +2,9 @@
/*
* Steam Machine (Fremont): power off instead of booting up again.
*
* Since Linux 7.2 ("pinctrl-amd: Don't clear S4 wake bits at probe") the
* S4/S5 wake bit the firmware leaves set on GPIO pin 18 (_SB.PCI0.GPP6)
* stays set, and the machine starts again right after powering off.
* Since "pinctrl-amd: Don't clear S4 wake bits at probe" (Linux 7.2, also
* backported to 6.x, 7.0 and 7.1 updates) the S4/S5 wake bit the firmware
* leaves set on GPIO pin 18 (_SB.PCI0.GPP6) stays set, and the machine starts again right after powering off.
* Valve's kernel clears that bit at probe on Fremont (not for upstream);
* this does the same right before power-off, for kernels without it.
*/
+4 -4
View File
@@ -69,11 +69,11 @@ ApplicationWindow {
machine: { label: "Steam Machine support", hint: "LED bar, fan and performance settings in Steam",
body: "The front LED bar works, Steam's hardware settings work, and the power button puts it to sleep like a console.",
changes: ["leds-valve driver for every kernel (DKMS)", "steamos-manager for Steam's settings", "Console-like power handling"] },
poweroff: { label: "Power-off fix", hint: "Stays off after shutting down, on every kernel",
body: "With kernels 7.2 and newer the Steam Machine starts again right after shutting down: the firmware leaves a wake bit set that newer kernels keep. Valve's own kernel clears it; this small module does the same right before power-off, for every CachyOS kernel.",
changes: ["steamify-fremont-poweroff module for every kernel (DKMS)", "Only on a Steam Machine, only touches that one wake bit", "Off: kernels 7.2 and newer may start it again after shutting down"] },
poweroff: { label: "Power-off fix", hint: "Stays off after shutting down",
body: "With recent kernels the Steam Machine starts again right after shutting down: the firmware leaves a wake bit set, and newer kernels (7.2, and updates of 6.x, 7.0 and 7.1) no longer clear it. Valve's own kernel clears it; this small module does the same right before power-off.",
changes: ["steamify-fremont-poweroff module for each installed kernel (DKMS)", "Only on a Steam Machine, only touches that one wake bit", "Off: recent kernels may start it again after shutting down"] },
kpin: { label: "Pin the kernel", hint: "No longer needed: untick for the current kernel",
body: "Keeps the Steam Machine on CachyOS kernel 7.1.6, which older versions of Steamify needed to shut down properly. Steam Machine support now fixes that on every kernel. Untick it to go back to CachyOS's current kernel (HDMI refresh boost goes with it: newer kernels read the display's fast modes and do HDMI 2.1 themselves).",
body: "Keeps the Steam Machine on CachyOS kernel 7.1.6, which older versions of Steamify needed to shut down properly. The power-off fix handles that now. Untick it to go back to CachyOS's current kernel (HDMI refresh boost goes with it: newer kernels read the display's fast modes and do HDMI 2.1 themselves).",
changes: ["linux-cachyos from Steamify's release (signature checked)", "Kept in /var/cache/steamify/kernel", "Added to IgnorePkg"] },
hdmi: { label: "HDMI refresh boost", hint: "Higher refresh rates over HDMI",
body: "The pinned kernel keeps many HDMI displays at 60 Hz. Turning this on shows which refresh rates your display can run at the desktop resolution; you pick them, and each one is tried for 15 seconds so you can check the picture before it's installed.",