From 7cfa47d138769b974fac60e338d1697e00a85565 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Sun, 24 May 2026 12:26:18 +0200 Subject: [PATCH] fix(isponsorblocktv): detect CPU capabilities to select compatible binary (#14677) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Instead of hard-failing when AVX is not present, detect whether the host CPU supports AVX + AVX2 + MOVBE (x86-64-v3 microarchitecture level) and select the appropriate upstream binary accordingly: - iSponsorBlockTV-x86_64-linux → modern CPUs (AVX/AVX2/MOVBE) - iSponsorBlockTV-x86_64-linux-v1 → any x86_64 CPU (fallback) The same detection logic is applied in update_script() so updates stay consistent with the initially installed binary type. Fixes: https://github.com/community-scripts/ProxmoxVE/issues/14660 Upstream: dmunozv04/iSponsorBlockTV#463 --- ct/isponsorblocktv.sh | 6 +++++- install/isponsorblocktv-install.sh | 8 ++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ct/isponsorblocktv.sh b/ct/isponsorblocktv.sh index 2e633b909..1130ed3a9 100644 --- a/ct/isponsorblocktv.sh +++ b/ct/isponsorblocktv.sh @@ -36,7 +36,11 @@ function update_script() { systemctl stop isponsorblocktv msg_ok "Stopped Service" - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "isponsorblocktv" "dmunozv04/iSponsorBlockTV" "singlefile" "latest" "/opt/isponsorblocktv" "iSponsorBlockTV-x86_64-linux" + ISBTV_BINARY="iSponsorBlockTV-x86_64-linux-v1" + if grep -q ' avx ' /proc/cpuinfo 2>/dev/null && grep -q ' avx2 ' /proc/cpuinfo 2>/dev/null && grep -q ' movbe ' /proc/cpuinfo 2>/dev/null; then + ISBTV_BINARY="iSponsorBlockTV-x86_64-linux" + fi + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "isponsorblocktv" "dmunozv04/iSponsorBlockTV" "singlefile" "latest" "/opt/isponsorblocktv" "${ISBTV_BINARY}" msg_info "Starting Service" systemctl start isponsorblocktv diff --git a/install/isponsorblocktv-install.sh b/install/isponsorblocktv-install.sh index fb85518ee..1fc861610 100644 --- a/install/isponsorblocktv-install.sh +++ b/install/isponsorblocktv-install.sh @@ -13,12 +13,12 @@ setting_up_container network_check update_os -if ! grep -q ' avx ' /proc/cpuinfo 2>/dev/null; then - msg_error "CPU does not support AVX instructions (required by iSponsorBlockTV/PyApp)" - exit 106 +ISBTV_BINARY="iSponsorBlockTV-x86_64-linux-v1" +if grep -q ' avx ' /proc/cpuinfo 2>/dev/null && grep -q ' avx2 ' /proc/cpuinfo 2>/dev/null && grep -q ' movbe ' /proc/cpuinfo 2>/dev/null; then + ISBTV_BINARY="iSponsorBlockTV-x86_64-linux" fi -fetch_and_deploy_gh_release "isponsorblocktv" "dmunozv04/iSponsorBlockTV" "singlefile" "latest" "/opt/isponsorblocktv" "iSponsorBlockTV-x86_64-linux" +fetch_and_deploy_gh_release "isponsorblocktv" "dmunozv04/iSponsorBlockTV" "singlefile" "latest" "/opt/isponsorblocktv" "${ISBTV_BINARY}" msg_info "Setting up iSponsorBlockTV" install -d /var/lib/isponsorblocktv