mirror of
https://github.com/theupriser/steamify-cachyos.git
synced 2026-10-03 17:41:58 +02:00
docs: Power-off fix texts cover every affected kernel, not just 7.2
This commit is contained in:
1 parent
321bf9bfcb
commit
28555175bb
8 files changed
+31
-25
No files matched your search
@@ -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
|
registered first, which never happens since amdgpu loads from the
|
||||||
initramfs. Without it `/dev/cec0` exists but stays at `f.f.f.f`.
|
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
|
- 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
|
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
|
(Valve's kernel clears it at probe, not for upstream). The DKMS module
|
||||||
`steamify-fremont-poweroff` (`patches/steamify-fremont-poweroff.c`) clears
|
`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
|
unnecessary: `kpin` is only available while on (`kpin_available`), and
|
||||||
`detect_components` unticks it (and `hdmi`, which needs the pinned
|
`detect_components` unticks it (and `hdmi`, which needs the pinned
|
||||||
kernel), so a normal run removes an existing pin. CachyOS's
|
kernel), so a normal run removes an existing pin. CachyOS's
|
||||||
|
|||||||
+4
-3
@@ -8,11 +8,12 @@ one per merged pull request.
|
|||||||
## 2.2.0 - 2026-09-27
|
## 2.2.0 - 2026-09-27
|
||||||
|
|
||||||
- **feat: Power-off fix for the Steam Machine; the kernel pin is optional**
|
- **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
|
- With recent kernels (newer 6.x, 7.0 and 7.1 updates, 7.2 and probably
|
||||||
shutting down: Linux 7.2 keeps the wake bit the firmware sets on GPIO
|
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
|
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
|
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).
|
fix** sub-option, ticked along with Steam Machine support (opt-out).
|
||||||
Tested with CachyOS 7.2.8: stays off, and without the module it
|
Tested with CachyOS 7.2.8: stays off, and without the module it
|
||||||
rebooted.
|
rebooted.
|
||||||
|
|||||||
+5
-3
@@ -210,9 +210,11 @@ wizard installed it).
|
|||||||
|
|
||||||
## Power-off fix (Steam Machine)
|
## Power-off fix (Steam Machine)
|
||||||
|
|
||||||
With kernels 7.2 and newer a Steam Machine starts again right after
|
With recent kernels a Steam Machine starts again right after powering off:
|
||||||
powering off. Linux 7.2 stopped clearing the S4/S5 wake bits at probe
|
the newer 6.x, 7.0 and 7.1 updates and 7.2 (and probably every kernel after
|
||||||
(`pinctrl-amd: Don't clear S4 wake bits at probe`), and the firmware leaves
|
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
|
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
|
(`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
|
for upstream ("until the firmware is fixed"), so CachyOS and mainline won't
|
||||||
|
|||||||
+10
-8
@@ -1,13 +1,15 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# "Power-off fix" menu item (poweroff), a sub-option of Steam Machine support
|
# "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
|
# 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
|
# booting up again. Recent kernels (7.2, and the 6.x, 7.0 and 7.1 updates
|
||||||
# clear S4 wake bits at probe") the S4/S5 wake bit the firmware leaves set
|
# that got the change backported) keep the S4/S5 wake bit the firmware
|
||||||
# on GPIO pin 18 stays set, and the machine starts again right after
|
# leaves set on GPIO pin 18 ("pinctrl-amd: Don't clear S4 wake bits at
|
||||||
# powering off (the reason for the kernel pin). Valve's kernel clears it at
|
# probe"), so the machine starts again right after powering off (the reason
|
||||||
# probe on Fremont, in a patch not meant for upstream, so CachyOS won't get
|
# for the old kernel pin). Valve's kernel clears it at probe on Fremont, in
|
||||||
# it. A small module (patches/steamify-fremont-poweroff.c) clears it right
|
# a patch not meant for upstream, so CachyOS won't get it. A small module
|
||||||
# before power-off; DKMS builds it for every kernel. On kernels that clear it themselves it does nothing.
|
# (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.
|
# Sourced by steamify.sh; not meant to be run on its own.
|
||||||
|
|
||||||
POWEROFF_DKMS_NAME=steamify-fremont-poweroff
|
POWEROFF_DKMS_NAME=steamify-fremont-poweroff
|
||||||
@@ -65,5 +67,5 @@ poweroff_enable() {
|
|||||||
}
|
}
|
||||||
poweroff_disable() {
|
poweroff_disable() {
|
||||||
poweroff_fix_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
@@ -33,7 +33,7 @@ declare -A LABEL=(
|
|||||||
[launcher]="Steamify shortcut: the app on the desktop, Steamify Terminal in the launcher"
|
[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)"
|
[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"
|
[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)"
|
[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"
|
[hdmi]="HDMI refresh boost: highest refresh your HDMI display runs"
|
||||||
[bios]="Update BIOS"
|
[bios]="Update BIOS"
|
||||||
|
|||||||
+1
-1
@@ -6,5 +6,5 @@ read and reviewed on their own. `lib/*.sh` reads them with `patch_file
|
|||||||
|
|
||||||
| File | Used by | What |
|
| 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 |
|
| `cros-ec-cec-single-port.patch` | `lib/cec.sh` (HDMI-CEC) | Makes Valve's Steam Machine CEC driver find amdgpu's HDMI port |
|
||||||
@@ -2,9 +2,9 @@
|
|||||||
/*
|
/*
|
||||||
* Steam Machine (Fremont): power off instead of booting up again.
|
* 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
|
* Since "pinctrl-amd: Don't clear S4 wake bits at probe" (Linux 7.2, also
|
||||||
* S4/S5 wake bit the firmware leaves set on GPIO pin 18 (_SB.PCI0.GPP6)
|
* backported to 6.x, 7.0 and 7.1 updates) the S4/S5 wake bit the firmware
|
||||||
* stays set, and the machine starts again right after powering off.
|
* 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);
|
* 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.
|
* this does the same right before power-off, for kernels without it.
|
||||||
*/
|
*/
|
||||||
|
|||||||
+4
-4
@@ -69,11 +69,11 @@ ApplicationWindow {
|
|||||||
machine: { label: "Steam Machine support", hint: "LED bar, fan and performance settings in Steam",
|
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.",
|
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"] },
|
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",
|
poweroff: { label: "Power-off fix", hint: "Stays off after shutting down",
|
||||||
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.",
|
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 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"] },
|
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",
|
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"] },
|
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",
|
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.",
|
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.",
|
||||||
|
|||||||
Reference in new issue
Block a user