diff --git a/CHANGELOG.md b/CHANGELOG.md index 4161285..83a7ff2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,8 @@ one per merged pull request. - Both are sub-options now, shown only while Steam Machine support is ticked. Unticking it unticks them; unticking the kernel pin unticks the HDMI refresh boost. + - In the app, HDMI refresh boost can only be turned off: each step needs + someone at the keyboard, so it's turned on from the menu in Konsole. ## 1.1.4 - 2026-09-25 diff --git a/lib/backend.sh b/lib/backend.sh index 68b969c..1a52934 100644 --- a/lib/backend.sh +++ b/lib/backend.sh @@ -144,6 +144,8 @@ backend_apply() { [[ "${WANTED[gaming]:-0}" == 0 ]] && { WANTED[single]=0; WANTED[boot]=0; } [[ "${WANTED[kpin]:-0}" == 1 ]] && WANTED[machine]=1 [[ "${WANTED[machine]:-0}" == 0 ]] && WANTED[kpin]=0 + [[ "${WANTED[hdmi]:-0}" == 1 ]] && { WANTED[machine]=1; WANTED[kpin]=1; } + [[ "${WANTED[kpin]:-0}" == 0 ]] && WANTED[hdmi]=0 case "$boot" in desktop) WANTED[boot]=1; WANTED[gaming]=1 ;; gamescope) WANTED[boot]=0 ;; esac REAPPLY=$reapply diff --git a/ui/qml/Main.qml b/ui/qml/Main.qml index 925d4f5..1612eba 100644 --- a/ui/qml/Main.qml +++ b/ui/qml/Main.qml @@ -71,6 +71,9 @@ ApplicationWindow { kpin: { label: "Pin the kernel", hint: "Fixes rebooting after shutdown", body: "Newer CachyOS kernels make the Steam Machine reboot instead of shutting down. Untick once CachyOS fixes that.", 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 over HDMI ยท turn on from Steamify in Konsole", + body: "The pinned kernel keeps many HDMI displays at 60 Hz. This finds the highest refresh rate your display runs at the desktop resolution. Each step needs you to confirm the picture, so it's turned on from the Steamify menu in Konsole; here you can only turn it off.", + changes: ["The display's EDID with the confirmed rates", "In the initramfs, drm.edid_firmware on the kernel command line", "Off: the display uses its own EDID again"] }, bios: { label: "Update BIOS", hint: "", body: "Installs Valve's newest Steam Machine BIOS, at your own risk. It checks Valve's checksum and asks fwupd whether the file fits this machine, then warns you twice before anything is written.", changes: ["Valve's fremont-hw-support package (checksum checked)", "fwupd writes the BIOS during the next restart", "Keep the power on until the machine has fully started again"] } @@ -132,8 +135,13 @@ ApplicationWindow { w[id] = !w[id]; if (id === "gaming" && !w.gaming) { w.single = false; } if (id === "single" && w.single) w.gaming = true; + // HDMI refresh boost needs someone at the keyboard to confirm each + // step: it's only turned on from the terminal menu. + if (id === "hdmi" && w.hdmi && !nowOn("hdmi")) return; if (id === "machine") w.kpin = w.machine; if (id === "kpin" && w.kpin) w.machine = true; + if (id === "hdmi" && w.hdmi) { w.machine = true; w.kpin = true; } + if (!w.machine || !w.kpin) w.hdmi = false; want = w; } function computePlan() {