From 176f27b44f454b1e7852d001820937647e7bd77c Mon Sep 17 00:00:00 2001 From: Rick Peters Date: Thu, 24 Sep 2026 12:55:38 +0200 Subject: [PATCH] fix: LED driver for every kernel on a fresh install The DKMS override was written to /etc/dkms before dkms was installed, when that folder doesn't exist yet: the write failed silently and other kernels (e.g. LTS) built against the running one and failed. Create the folder first and stop on a failed write. VERSION 0.9.1. --- CHANGELOG.md | 12 ++++++++++-- lib/steam-machine.sh | 9 +++++++-- steamify.sh | 2 +- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 21fba5f..63785ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,15 @@ All notable changes, per version and per commit. Versions follow `steamify.sh`. Versions before 0.7.0 were numbered afterwards, one per merged pull request. -## 0.9.0 - 2026-09-24 +## 0.9.1 - 2026-09-24 + +- **fix: LED driver for every kernel on a fresh install** + - The DKMS override was written to `/etc/dkms` before `dkms` was installed, + when that folder doesn't exist yet, so it silently failed and the build + for other kernels (e.g. LTS) failed as in 0.6. The folder is created first + now, and a failed write stops with an error. + +## 0.9.0 - 2026-09-24 (#9) The wizard is now called **Steamify CachyOS**, and can put a shortcut to itself on the desktop. @@ -32,7 +40,7 @@ itself on the desktop. bundle under both names, so `.../download/setup-gamescope-boot.sh` keeps working. The Steamify shortcut runs `steamify.sh`. - `b0553ae` **docs: Shorter README intro** -- **feat: The shortcut's window closes itself after a countdown** +- `afc05b0` **feat: The shortcut's window closes itself after a countdown** - After the wizard ends, a 10-second countdown closes the Konsole window (Enter closes it right away); after an error it stays open until Enter. - A failed download now counts as an error (`pipefail`) instead of running diff --git a/lib/steam-machine.sh b/lib/steam-machine.sh index 58323e9..5b63140 100644 --- a/lib/steam-machine.sh +++ b/lib/steam-machine.sh @@ -56,8 +56,13 @@ install_valve_led_driver() { # got the running kernel's tree and failed (wrong kernel, and gcc against # a clang-built tree). DKMS reads this override after the package's # dkms.conf; written before the install so its own build works too. - printf '%s\n' "# Written by cachyos-gamescope-boot: build for DKMS's target kernel." \ - 'MAKE[0]="make KVERSION=${kernelver}"' | sudo tee "$LED_DKMS_OVERRIDE" >/dev/null + # On a fresh system dkms isn't installed yet, so /etc/dkms doesn't exist. + sudo mkdir -p "$(dirname "$LED_DKMS_OVERRIDE")" + if ! printf '%s\n' "# Written by cachyos-gamescope-boot: build for DKMS's target kernel." \ + 'MAKE[0]="make KVERSION=${kernelver}"' | sudo tee "$LED_DKMS_OVERRIDE" >/dev/null; then + err "Couldn't write $LED_DKMS_OVERRIDE; without it the LED driver only builds for the running kernel." + return 1 + fi if ! pacman -Qi leds-valve-dkms-git >/dev/null 2>&1; then info "Installing leds-valve-dkms-git from the AUR via $aur_helper (non-interactive)..." diff --git a/steamify.sh b/steamify.sh index 4c2a862..92d665b 100755 --- a/steamify.sh +++ b/steamify.sh @@ -15,7 +15,7 @@ set -uo pipefail # Release version, see CHANGELOG.md. -VERSION=0.9.0 +VERSION=0.9.1 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"