From fa181e3fee17c0d3ee2e79d2acce6b17742d1da4 Mon Sep 17 00:00:00 2001 From: rickpeters Date: Tue, 29 Sep 2026 19:15:42 +0200 Subject: [PATCH 1/5] chore: Version 2.9.1 --- CHANGELOG.md | 4 ++++ steamify.sh | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 616da25..172de22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,10 @@ 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. +## 2.9.1 - 2026-09-29 + +- **chore: Version 2.9.1** + ## 2.9.0 - 2026-09-28 - `d30d505` **chore: Version 2.9.0** diff --git a/steamify.sh b/steamify.sh index 7337f10..2a1e799 100755 --- a/steamify.sh +++ b/steamify.sh @@ -15,7 +15,7 @@ set -uo pipefail # Release version, see CHANGELOG.md. -VERSION=2.9.0 +VERSION=2.9.1 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" From 394facb226b5344989fe9a3fd084da58efd2ebe7 Mon Sep 17 00:00:00 2001 From: rickpeters Date: Tue, 29 Sep 2026 19:16:06 +0200 Subject: [PATCH 2/5] fix: HDMI-CEC: Valve's CEC driver is downloaded once and kept in /var/cache/steamify (GitHub rate-limits repeated downloads with HTTP 429, which left CEC off) --- CHANGELOG.md | 3 ++- lib/cec.sh | 20 ++++++++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 172de22..4fffaf4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,8 @@ one per merged pull request. ## 2.9.1 - 2026-09-29 -- **chore: Version 2.9.1** +- **fix: HDMI-CEC: Valve's CEC driver is downloaded once and kept in /var/cache/steamify (GitHub rate-limits repeated downloads with HTTP 429, which left CEC off); turning CEC on again needs no network** +- `d99ff65` **chore: Version 2.9.1** ## 2.9.0 - 2026-09-28 diff --git a/lib/cec.sh b/lib/cec.sh index 4193628..e41368a 100644 --- a/lib/cec.sh +++ b/lib/cec.sh @@ -26,6 +26,9 @@ CEC_DKMS_VER=1 CEC_DKMS_SRC="/usr/src/$CEC_DKMS_NAME-$CEC_DKMS_VER" CEC_DRIVER_URL="https://raw.githubusercontent.com/evlaV/linux-integration/10c8c8800ccd3ae359203b4eefb6479f613b3b8e/drivers/media/cec/platform/cros-ec/cros-ec-cec.c" CEC_DRIVER_SHA256=e89fd4e87fceb32d713ffc59b64794779b3c2b3c012b0e2f2e9f0c40b42f4373 +# Downloaded once, then kept: raw.githubusercontent.com rate-limits (HTTP 429) repeated downloads +# from one address, and turning CEC off and on again needs no network then. +CEC_DRIVER_CACHE="/var/cache/steamify/cros-ec-cec-${CEC_DRIVER_SHA256:0:12}.c" cec_link_steamos_manager() { # On a Steam Machine: steamos-manager writes cecd's config from Steam's @@ -65,12 +68,17 @@ cec_driver_enable() { fi install_kernel_headers || return 1 tmp="$(mktemp -d)" - info "Downloading Valve's Steam Machine CEC driver..." - if ! curl -fsL "$CEC_DRIVER_URL" -o "$tmp/cros-ec-cec.c" || - ! echo "$CEC_DRIVER_SHA256 $tmp/cros-ec-cec.c" | sha256sum -c --quiet -; then - rm -rf "$tmp" - err "Downloading Valve's CEC driver failed (or its checksum didn't match)." - return 1 + if [[ -f "$CEC_DRIVER_CACHE" ]] && echo "$CEC_DRIVER_SHA256 $CEC_DRIVER_CACHE" | sha256sum -c --quiet - 2>/dev/null; then + cp "$CEC_DRIVER_CACHE" "$tmp/cros-ec-cec.c" + else + info "Downloading Valve's Steam Machine CEC driver..." + if ! curl -fsL --retry 2 "$CEC_DRIVER_URL" -o "$tmp/cros-ec-cec.c" || + ! echo "$CEC_DRIVER_SHA256 $tmp/cros-ec-cec.c" | sha256sum -c --quiet -; then + rm -rf "$tmp" + err "Downloading Valve's CEC driver failed (or its checksum didn't match)." + return 1 + fi + sudo install -Dm644 "$tmp/cros-ec-cec.c" "$CEC_DRIVER_CACHE" fi # So it finds amdgpu's HDMI port (see the patch for why). patch_file cros-ec-cec-single-port.patch | patch -s -d "$tmp" -p1 || From 8da6a56804a2ea7960230f4ef92d551ffa43e803 Mon Sep 17 00:00:00 2001 From: rickpeters Date: Tue, 29 Sep 2026 19:18:55 +0200 Subject: [PATCH 3/5] fix: HDMI-CEC: an older cached CEC driver is removed when a new pin is downloaded --- lib/cec.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/cec.sh b/lib/cec.sh index e41368a..0171646 100644 --- a/lib/cec.sh +++ b/lib/cec.sh @@ -27,7 +27,8 @@ CEC_DKMS_SRC="/usr/src/$CEC_DKMS_NAME-$CEC_DKMS_VER" CEC_DRIVER_URL="https://raw.githubusercontent.com/evlaV/linux-integration/10c8c8800ccd3ae359203b4eefb6479f613b3b8e/drivers/media/cec/platform/cros-ec/cros-ec-cec.c" CEC_DRIVER_SHA256=e89fd4e87fceb32d713ffc59b64794779b3c2b3c012b0e2f2e9f0c40b42f4373 # Downloaded once, then kept: raw.githubusercontent.com rate-limits (HTTP 429) repeated downloads -# from one address, and turning CEC off and on again needs no network then. +# from one address, and turning CEC off and on again needs no network then. Named after its +# checksum, so a new pin (a new commit and checksum above) downloads its file once by itself. CEC_DRIVER_CACHE="/var/cache/steamify/cros-ec-cec-${CEC_DRIVER_SHA256:0:12}.c" cec_link_steamos_manager() { @@ -78,6 +79,8 @@ cec_driver_enable() { err "Downloading Valve's CEC driver failed (or its checksum didn't match)." return 1 fi + # The name carries the checksum: a newer pin gets its own file, the old one goes. + sudo find "${CEC_DRIVER_CACHE%/*}" -maxdepth 1 -name 'cros-ec-cec-*.c' ! -name "${CEC_DRIVER_CACHE##*/}" -delete 2>/dev/null sudo install -Dm644 "$tmp/cros-ec-cec.c" "$CEC_DRIVER_CACHE" fi # So it finds amdgpu's HDMI port (see the patch for why). From e0ac9464e432c009354f7fa8edd6481424c5a129 Mon Sep 17 00:00:00 2001 From: rickpeters Date: Tue, 29 Sep 2026 19:19:05 +0200 Subject: [PATCH 4/5] docs: changelog for the CEC driver cache --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4fffaf4..38ed27f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,8 @@ one per merged pull request. ## 2.9.1 - 2026-09-29 -- **fix: HDMI-CEC: Valve's CEC driver is downloaded once and kept in /var/cache/steamify (GitHub rate-limits repeated downloads with HTTP 429, which left CEC off); turning CEC on again needs no network** +- **fix: HDMI-CEC: an older cached CEC driver is removed when a new pin is downloaded** +- `90bc5e4` **fix: HDMI-CEC: Valve's CEC driver is downloaded once and kept in /var/cache/steamify (GitHub rate-limits repeated downloads with HTTP 429, which left CEC off); turning CEC on again needs no network** - `d99ff65` **chore: Version 2.9.1** ## 2.9.0 - 2026-09-28 From 2e4c5d36b0b2f8012f05953d1ecc3d21b8b93540 Mon Sep 17 00:00:00 2001 From: rickpeters Date: Tue, 29 Sep 2026 19:26:16 +0200 Subject: [PATCH 5/5] docs: changelog hashes --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 38ed27f..60ffc70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,8 @@ one per merged pull request. ## 2.9.1 - 2026-09-29 -- **fix: HDMI-CEC: an older cached CEC driver is removed when a new pin is downloaded** +- `c87e6c7` **docs: changelog for the CEC driver cache** +- `fc05725` **fix: HDMI-CEC: an older cached CEC driver is removed when a new pin is downloaded** - `90bc5e4` **fix: HDMI-CEC: Valve's CEC driver is downloaded once and kept in /var/cache/steamify (GitHub rate-limits repeated downloads with HTTP 429, which left CEC off); turning CEC on again needs no network** - `d99ff65` **chore: Version 2.9.1**