Update: OpenVINO 2026.4.0 + NEO 26.35.39758.10 + fixes de robustez y Mesa

- OpenVINO Runtime 2026.4.0.22959.99c81491cc3 (BASE_URL packages/2026.4)
- NEO 26.35.39758.10 + IGC 2.41.5+22716 (6 paquetes de produccion, sin dbgsym/-devel)
- Mesa >= 25.2 en Debian 13: mesa-libgallium sustituye mesa-va-drivers/mesa-vdpau-drivers (Rompe < 25.2.8-3)
- INSTALL_DIR derivado de la version (/opt/intel/openvino_2026.4.0) con politica replace y symlink estable
- rm -rf cubre symlink O directorio real en la limpieza previa
- deps/: set -euo pipefail + guard ${1:-} (sin abortos esporios)
- DRY flags/GPU: read -r con guard EOF, deteccion GPU sin SIGPIPE, trap EXIT en modulos, GPU_PRESENT como comparacion
- .gitignore: artefactos de instalacion fuera del repo
This commit is contained in:
stornic56
2026-09-28 22:41:41 -05:00
parent 3b0c2051f1
commit 9fa67d432c
8 changed files with 288 additions and 258 deletions
+6
View File
@@ -0,0 +1,6 @@
# Artefactos de instalacion (no versionar)
*.tgz
*.sha256
openvino_toolkit_*/
temp/
install.log
+18 -9
View File
@@ -5,6 +5,7 @@ This project repository provides a comprehensive automated installation and conf
## Supported Operating Systems ## Supported Operating Systems
* Debian 13 * Debian 13
* Ubuntu 22.04
* Ubuntu 24.04 * Ubuntu 24.04
* Ubuntu 26.04 * Ubuntu 26.04
* Fedora 43 * Fedora 43
@@ -16,7 +17,9 @@ This project repository provides a comprehensive automated installation and conf
The installer scripts are designed to be executed as a root user (`sudo`). Ensure all necessary system dependencies (such as `git`, `wget`, and the respective package managers like `dpkg`/`dnf`) exist before execution. The installer scripts are designed to be executed as a root user (`sudo`). Ensure all necessary system dependencies (such as `git`, `wget`, and the respective package managers like `dpkg`/`dnf`) exist before execution.
### Setup & Clone Repository ### Setup & Clone Repository
First, clone the repository from GitHub: First, clone the repository from GitHub:
```bash ```bash
# 1. Clone the installer repository # 1. Clone the installer repository
git clone https://github.com/stornic56/openvino-runtime-simple-installer git clone https://github.com/stornic56/openvino-runtime-simple-installer
@@ -27,7 +30,9 @@ chmod +x main.sh
``` ```
### Execution ### Execution
Execute the primary installation script using elevated privileges (root access is mandatory): Execute the primary installation script using elevated privileges (root access is mandatory):
```bash ```bash
sudo ./main.sh sudo ./main.sh
``` ```
@@ -37,19 +42,21 @@ sudo ./main.sh
The execution of `main.sh` automatically handles OS detection and conditionally installs components based on hardware presence, ensuring a fully configured inference pipeline: The execution of `main.sh` automatically handles OS detection and conditionally installs components based on hardware presence, ensuring a fully configured inference pipeline:
**Core Runtime & Libraries:** **Core Runtime & Libraries:**
* **OpenVINO Toolkit 2026.0:** The complete runtime package is downloaded from the official OpenVINO repository (`https://storage.openvinotoolkit.org/repositories/openvino/packages/2026.0/linux`) and installed under `/opt/intel/openvino_2026`. It is the same version used in llama.cpp in its builds.
* **OpenVINO Toolkit 2026.4:** The complete runtime package is downloaded from the official OpenVINO repository (`https://storage.openvinotoolkit.org/repositories/openvino/packages/2026.4/linux`) and installed under `/opt/intel/openvino_2026`. It is the same version used in llama.cpp in its builds.
* **System Dependencies:** Required libraries, including `cmake`, Python 3 (with version-specific dependencies like `libpython3.13` for Debian 13 or `libpython3.13` for Ubuntu 26.04), GCC compilers (`g++`), NumPy bindings, and standard development tools are installed via system package managers (`apt`/`dnf`). * **System Dependencies:** Required libraries, including `cmake`, Python 3 (with version-specific dependencies like `libpython3.13` for Debian 13 or `libpython3.13` for Ubuntu 26.04), GCC compilers (`g++`), NumPy bindings, and standard development tools are installed via system package managers (`apt`/`dnf`).
**Hardware Acceleration & Drivers (NEO):** **Hardware Acceleration & Drivers (NEO):**
* **Intel Compute Runtime NEO:** If an Intel GPU is detected, the respective module script installs critical proprietary drivers:
* `intel-igc-core`: Graphics Compiler core components. * **Intel Compute Runtime NEO (26.35.39758.10):** If an Intel GPU is detected, the respective module script installs critical proprietary drivers:
* `intel-igc-opencl`: OpenCL interface libraries for graphics compilation. * `intel-igc-core` (2.41.5): Graphics Compiler core components.
* `intel-igc-opencl` (2.41.5): OpenCL interface libraries for graphics compilation.
* `intel-ocloc`/`libze-intel-gpu1`: Compute Runtime interfaces and GPU acceleration layers (OpenCL/oneAPI). * `intel-ocloc`/`libze-intel-gpu1`: Compute Runtime interfaces and GPU acceleration layers (OpenCL/oneAPI).
* **Multimedia Support:** Installation of `mesa-va-drivers`, `vainfo`, and related packages to ensure Video Acceleration API support, crucial for media inference tasks. * **Multimedia Support:** Installation of `mesa-va-drivers`, `vainfo`, and related packages to ensure Video Acceleration API support, crucial for media inference tasks.
**Environment Configuration:** **Environment Configuration:**
* User permissions are configured by adding the executing user (`$SUDO_USER`) to the system groups `render` and `video` to allow proper GPU access post-installation.
* User permissions are configured by adding the executing user (`$SUDO_USER`) to the system groups `render` and `video` to allow proper GPU access post-installation.
## After Installation ## After Installation
@@ -66,8 +73,10 @@ clinfo | grep -i "device name"
4. Check video acceleration 4. Check video acceleration
vainfo vainfo
``` ```
## Note:
## Note
Users should reference the following official projects: Users should reference the following official projects:
- Llamacpp: [Official Repository Link](https://github.com/ggml-org/llama.cpp) and [OpenvinoBackend](https://github.com/ggml-org/llama.cpp/blob/master/docs/backend/OPENVINO.md) * Llamacpp: [Official Repository Link](https://github.com/ggml-org/llama.cpp) and [OpenvinoBackend](https://github.com/ggml-org/llama.cpp/blob/master/docs/backend/OPENVINO.md)
- OpenVino Toolkit: [Docs](https://docs.openvino.ai/2026/get-started/install-openvino/install-openvino-archive-linux.html) and [github](https://github.com/openvinotoolkit/openvino) * OpenVino Toolkit: [Docs](https://docs.openvino.ai/2026/get-started/install-openvino/install-openvino-archive-linux.html) and [github](https://github.com/openvinotoolkit/openvino)
- Intel NEO Drivers: [Intel Compute Runtime](https://github.com/intel/compute-runtime) * Intel NEO Drivers: [Intel Compute Runtime](https://github.com/intel/compute-runtime)
+30 -15
View File
@@ -17,30 +17,45 @@ if [ "$1" = "--install" ]; then
exit 1 exit 1
fi fi
# Clean up any previous installation before proceeding # Derive destination from version (official doc pattern: year.patch)
if [ -d "/opt/intel/openvino_2026.0" ]; then # e.g. openvino_toolkit_ubuntu24_<VERSION>_x86_64.tgz -> /opt/intel/openvino_<YEAR.PATCH>
print_warning "An existing OpenVINO installation was found. Removing it..." VERSION_FULL="$(echo "$FILENAME" | cut -d_ -f4)"
rm -rf "/opt/intel/openvino_2026.0" case "$VERSION_FULL" in
fi 20[0-9][0-9].*) ;; # valid version format, continue
if [ -L "/opt/intel/openvino_2026" ]; then *)
rm -f "/opt/intel/openvino_2026" print_error "Could not derive version from: $FILENAME"
fi exit 1
;;
esac
INSTALL_DIR="/opt/intel/openvino_$(echo "$VERSION_FULL" | cut -d. -f1-3)"
# Replace policy (updates): remove ANY previous 2026 install and the previous symlink.
# Known limitation: the previous install is deleted BEFORE extracting; if the tar
# failed afterwards, the system would be left without OpenVINO. Acceptable because
# the SHA256 was already verified during the download step.
if ls -d /opt/intel/openvino_2026.* >/dev/null 2>&1; then
print_warning "An existing OpenVINO installation was found. Replacing it..."
fi
rm -rf /opt/intel/openvino_2026 # remove previous symlink OR real directory (rm -rf does not follow symlinks)
rm -rf /opt/intel/openvino_2026.* # ANY previous 2026 install
mkdir -p /opt/intel
DIRNAME="${FILENAME%.tgz}" # known before tar (enables trap cleanup)
trap 'rm -rf "$DIRNAME"' EXIT
print_substep "Unzipping $FILENAME..." print_substep "Unzipping $FILENAME..."
tar -xf "$FILENAME" tar -xf "$FILENAME"
# The name of the extracted folder matches the name of the tarball without the .tgz extension
DIRNAME="${FILENAME%.tgz}"
if [ ! -d "$DIRNAME" ]; then if [ ! -d "$DIRNAME" ]; then
# guess the real name # guess the real name
DIRNAME=$(tar -tf "$FILENAME" | head -1 | cut -d/ -f1) TAR_LIST=$(tar -tf "$FILENAME")
DIRNAME="${TAR_LIST%%$'\n'*}" # first entry (no pipe, no SIGPIPE)
DIRNAME="${DIRNAME%%/*}"
fi fi
print_substep "Moving $DIRNAME a /opt/intel/openvino_2026.0..." print_substep "Moving $DIRNAME a $INSTALL_DIR..."
mkdir -p /opt/intel mv "$DIRNAME" "$INSTALL_DIR"
mv "$DIRNAME" "/opt/intel/openvino_2026.0"
print_substep "Create symbolic link /opt/intel/openvino_2026..." print_substep "Create symbolic link /opt/intel/openvino_2026..."
ln -sf /opt/intel/openvino_2026.0 /opt/intel/openvino_2026 ln -s "$INSTALL_DIR" /opt/intel/openvino_2026
exit 0 exit 0
fi fi
+18 -10
View File
@@ -6,7 +6,7 @@
# Modified by stornic56 (2026) to add support for Debian 13 (Trixie), Ubuntu 26.04, # Modified by stornic56 (2026) to add support for Debian 13 (Trixie), Ubuntu 26.04,
# and Python 3.13 dependencies. Also ensures dnf is used on Fedora. # and Python 3.13 dependencies. Also ensures dnf is used on Fedora.
set -e set -euo pipefail
#=================================================================================================== #===================================================================================================
# Option parsing # Option parsing
@@ -26,7 +26,7 @@ keepcache=
selftest= selftest=
while :; do while :; do
case $1 in case "${1:-}" in
-h | -\? | --help) -h | -\? | --help)
echo "Options:" echo "Options:"
echo " -y non-interactive run (off)" echo " -y non-interactive run (off)"
@@ -109,8 +109,13 @@ fi
# OS detection # OS detection
if [ "$os" == "auto" ]; then if [ "$os" == "auto" ]; then
# shellcheck source=/dev/null os=""
os=$( . /etc/os-release ; echo "${ID}${VERSION_ID}" ) if [ -f /etc/os-release ]; then
os=$(
. /etc/os-release
echo "${ID:-}${VERSION_ID:-}"
)
fi
if [[ "$os" =~ "rhel8".* ]]; then if [[ "$os" =~ "rhel8".* ]]; then
os="rhel8" os="rhel8"
fi fi
@@ -133,7 +138,10 @@ if [ "$os" == "auto" ] ; then
raspbian10 | debian10 | ubuntu20.04 | ubuntu20.10 | ubuntu21.04 | \ raspbian10 | debian10 | ubuntu20.04 | ubuntu20.10 | ubuntu21.04 | \
raspbian11 | debian11 | ubuntu21.10 | ubuntu22.04 | \ raspbian11 | debian11 | ubuntu21.10 | ubuntu22.04 | \
raspbian12 | debian12 | debian13 | ubuntu22.10 | ubuntu23.04 | ubuntu23.10 | ubuntu24.04 | ubuntu26.04) [ -z "$print" ] && echo "Detected OS: ${os}" ;; raspbian12 | debian12 | debian13 | ubuntu22.10 | ubuntu23.04 | ubuntu23.10 | ubuntu24.04 | ubuntu26.04) [ -z "$print" ] && echo "Detected OS: ${os}" ;;
*) echo "Unsupported OS: ${os:-detection failed}" >&2 ; exit 1 ;; *)
echo "Unsupported OS: ${os:-detection failed}" >&2
exit 1
;;
esac esac
fi fi
@@ -152,9 +160,9 @@ elif [ "$os" == "ubuntu18.04" ] ; then
pkgs_python=(python3.8 libpython3.8 python3.8-venv python3-pip) pkgs_python=(python3.8 libpython3.8 python3.8-venv python3-pip)
pkgs_dev=(cmake pkg-config g++ gcc libc6-dev make sudo) pkgs_dev=(cmake pkg-config g++ gcc libc6-dev make sudo)
elif [ "$os" == "ubuntu20.04" ] || [ "$os" == "debian10" ] || [ "$os" == "raspbian10" ] || \ elif [ "$os" == "ubuntu20.04" ] || [ "$os" == "debian10" ] || [ "$os" == "raspbian10" ] ||
[ "$os" == "ubuntu21.10" ] || [ "$os" == "ubuntu22.04" ] || [ "$os" == "debian11" ] || [ "$os" == "raspbian11" ] || \ [ "$os" == "ubuntu21.10" ] || [ "$os" == "ubuntu22.04" ] || [ "$os" == "debian11" ] || [ "$os" == "raspbian11" ] ||
[ "$os" == "ubuntu22.10" ] || [ "$os" == "ubuntu23.04" ] || [ "$os" == "ubuntu24.04" ] || [ "$os" == "debian12" ] || [ "$os" == "raspbian12" ] || \ [ "$os" == "ubuntu22.10" ] || [ "$os" == "ubuntu23.04" ] || [ "$os" == "ubuntu24.04" ] || [ "$os" == "debian12" ] || [ "$os" == "raspbian12" ] ||
[ "$os" == "debian13" ] || [ "$os" == "ubuntu26.04" ]; then [ "$os" == "debian13" ] || [ "$os" == "ubuntu26.04" ]; then
pkgs_gpu=(ocl-icd-libopencl1) pkgs_gpu=(ocl-icd-libopencl1)
@@ -165,10 +173,10 @@ elif [ "$os" == "ubuntu20.04" ] || [ "$os" == "debian10" ] || [ "$os" == "raspbi
pkgs_python+=(libpython3.7) pkgs_python+=(libpython3.7)
elif [ "$os" == "ubuntu20.04" ] || [ "$os" == "ubuntu20.10" ] || [ "$os" == "ubuntu21.04" ]; then elif [ "$os" == "ubuntu20.04" ] || [ "$os" == "ubuntu20.10" ] || [ "$os" == "ubuntu21.04" ]; then
pkgs_python+=(libpython3.8) pkgs_python+=(libpython3.8)
elif [ "$os" == "ubuntu21.10" ] || \ elif [ "$os" == "ubuntu21.10" ] ||
[ "$os" == "debian11" ] || [ "$os" == "raspbian11" ]; then [ "$os" == "debian11" ] || [ "$os" == "raspbian11" ]; then
pkgs_python+=(libpython3.9) pkgs_python+=(libpython3.9)
elif [ "$os" == "ubuntu22.04" ] || [ "$os" == "ubuntu22.10" ] || \ elif [ "$os" == "ubuntu22.04" ] || [ "$os" == "ubuntu22.10" ] ||
[ "$os" == "debian12" ] || [ "$os" == "raspbian12" ]; then [ "$os" == "debian12" ] || [ "$os" == "raspbian12" ]; then
pkgs_python+=(libpython3.10) pkgs_python+=(libpython3.10)
elif [ "$os" == "ubuntu23.04" ]; then elif [ "$os" == "ubuntu23.04" ]; then
Regular → Executable
+15 -9
View File
@@ -51,7 +51,8 @@ case "$OS_ID" in
ubuntu) ubuntu)
case "$VERSION_ID" in case "$VERSION_ID" in
22.04) PREFIX="ubuntu22" ;; 22.04) PREFIX="ubuntu22" ;;
24.04|26.04) PREFIX="ubuntu24" ;; 24.04) PREFIX="ubuntu24" ;;
26.04) PREFIX="ubuntu26" ;;
*) *)
print_error "Unsupported Ubuntu version: $VERSION_ID" print_error "Unsupported Ubuntu version: $VERSION_ID"
exit 1 exit 1
@@ -72,14 +73,19 @@ esac
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
print_step "2. Detecting Intel GPU..." print_step "2. Detecting Intel GPU..."
if GPU_LINE=$(lspci -nn | grep -i "vga\|3d\|display" | grep -i "intel" | head -1); then LSPCI_INTEL=$(lspci -nn 2>/dev/null | grep -i "vga\|3d\|display" | grep -i "intel" || true) # lspci missing -> empty -> prompt (documented degradation)
GPU_LINE="${LSPCI_INTEL%%$'\n'*}"
if [ -n "$GPU_LINE" ]; then
GPU_NAME=$(echo "$GPU_LINE" | awk -F': ' '{print $2}') GPU_NAME=$(echo "$GPU_LINE" | awk -F': ' '{print $2}')
print_substep "Intel GPU detected: $GPU_NAME" print_substep "Intel GPU detected: $GPU_NAME"
GPU_PRESENT=true GPU_PRESENT=true
else else
print_warning "No Intel GPU was detected." print_warning "No Intel GPU was detected."
GPU_PRESENT=false GPU_PRESENT=false
read -p "Do you want to continue the installation WITHOUT GPU support? [y/n]: " response read -r -p "Do you want to continue the installation WITHOUT GPU support? [y/n]: " response || {
print_error "No interactive input available (stdin closed). Installation cancelled."
exit 1
}
case "$response" in case "$response" in
[yY]*) ;; [yY]*) ;;
*) *)
@@ -92,7 +98,7 @@ fi
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# 3. Install NEO (only if there is a GPU) # 3. Install NEO (only if there is a GPU)
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
if $GPU_PRESENT; then if [ "$GPU_PRESENT" = true ]; then
print_step "3. Installing GPU drivers (Intel Compute Runtime NEO)..." print_step "3. Installing GPU drivers (Intel Compute Runtime NEO)..."
case "$OS_ID" in case "$OS_ID" in
debian) debian)
@@ -113,8 +119,8 @@ fi
# 4. Download OpenVINO Runtime # 4. Download OpenVINO Runtime
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
print_step "4. Downloading OpenVINO Runtime package..." print_step "4. Downloading OpenVINO Runtime package..."
BASE_URL="https://storage.openvinotoolkit.org/repositories/openvino/packages/2026.0/linux" BASE_URL="https://storage.openvinotoolkit.org/repositories/openvino/packages/2026.4/linux"
VERSION="2026.0.0.20965.c6d6a13a886" VERSION="2026.4.0.22959.99c81491cc3"
FILENAME="openvino_toolkit_${PREFIX}_${VERSION}_x86_64.tgz" FILENAME="openvino_toolkit_${PREFIX}_${VERSION}_x86_64.tgz"
URL="$BASE_URL/$FILENAME" URL="$BASE_URL/$FILENAME"
@@ -143,8 +149,8 @@ bash "$CORE_DIR/openvino_logic.sh" --install "$FILENAME"
print_step "Installation completed successfully!" print_step "Installation completed successfully!"
# installed version # installed version
if [ -f "/opt/intel/openvino_2026.0/runtime/version.txt" ]; then if [ -f "/opt/intel/openvino_2026/runtime/version.txt" ]; then
echo "Version: $(cat /opt/intel/openvino_2026.0/runtime/version.txt)" echo "Version: $(cat /opt/intel/openvino_2026/runtime/version.txt)"
else else
echo "Version: could not be determined" echo "Version: could not be determined"
fi fi
@@ -155,7 +161,7 @@ echo " source /opt/intel/openvino_2026/setupvars.sh"
echo "" echo ""
echo "----------------------------------------------------------------------" echo "----------------------------------------------------------------------"
if $GPU_PRESENT; then if [ "$GPU_PRESENT" = true ]; then
echo "IMPORTANT NOTES:" echo "IMPORTANT NOTES:"
echo "1. Restart your session (or system) for the group changes (render, video) to take effect and for you to be able to use the GPU." echo "1. Restart your session (or system) for the group changes (render, video) to take effect and for you to be able to use the GPU."
echo "2. Check the OpenCL status with: clinfo" echo "2. Check the OpenCL status with: clinfo"
+23 -33
View File
@@ -11,9 +11,9 @@ print_step "Debian Module – Drivers and Multimedia"
print_substep "Ensuring non-free components in sources.list..." print_substep "Ensuring non-free components in sources.list..."
SOURCES_FILE="/etc/apt/sources.list" SOURCES_FILE="/etc/apt/sources.list"
if [ -f "$SOURCES_FILE" ]; then if [ -f "$SOURCES_FILE" ]; then
sudo sed -i 's/^\(deb.*trixie.*main\)[^#]*/\1 contrib non-free non-free-firmware/' "$SOURCES_FILE" sed -i 's/^\(deb.*trixie.*main\)[^#]*/\1 contrib non-free non-free-firmware/' "$SOURCES_FILE"
sudo sed -i 's/^\(deb.*trixie-security.*main\)[^#]*/\1 contrib non-free non-free-firmware/' "$SOURCES_FILE" sed -i 's/^\(deb.*trixie-security.*main\)[^#]*/\1 contrib non-free non-free-firmware/' "$SOURCES_FILE"
sudo sed -i 's/^\(deb.*trixie-updates.*main\)[^#]*/\1 contrib non-free non-free-firmware/' "$SOURCES_FILE" sed -i 's/^\(deb.*trixie-updates.*main\)[^#]*/\1 contrib non-free non-free-firmware/' "$SOURCES_FILE"
fi fi
if [ -f /etc/apt/sources.list.d/debian.sources ]; then if [ -f /etc/apt/sources.list.d/debian.sources ]; then
@@ -27,7 +27,7 @@ print_substep "Installing graphics and diagnostic packages..."
apt-get install -y \ apt-get install -y \
python3-numpy libmfx-gen1.2 libvpl2 libegl-mesa0 libegl1-mesa-dev libgbm1 \ python3-numpy libmfx-gen1.2 libvpl2 libegl-mesa0 libegl1-mesa-dev libgbm1 \
libgl1-mesa-dri libglapi-mesa libgles2-mesa-dev libglx-mesa0 libxatracker2 \ libgl1-mesa-dri libglapi-mesa libgles2-mesa-dev libglx-mesa0 libxatracker2 \
mesa-va-drivers mesa-vdpau-drivers vainfo clinfo nvtop ocl-icd-libopencl1 mesa-libgallium vainfo clinfo nvtop ocl-icd-libopencl1
print_substep "Installing Intel video driver..." print_substep "Installing Intel video driver..."
if apt-get install -y intel-media-va-driver-non-free; then if apt-get install -y intel-media-va-driver-non-free; then
@@ -41,15 +41,16 @@ fi
print_substep "Downloading and installing NEO…" print_substep "Downloading and installing NEO…"
TEMP_DIR=$(mktemp -d) TEMP_DIR=$(mktemp -d)
cd "$TEMP_DIR" cd "$TEMP_DIR"
trap 'rm -rf "$TEMP_DIR"' EXIT
# Hashes SHA256 # Hashes SHA256
declare -A NEO_HASHES=( declare -A NEO_HASHES=(
["intel-igc-core-2_2.34.4+21428_amd64.deb"]="1150de9f1b8c06aab0bf6e619a6c02ed4cd0c7b4135752ae74c82c8f8fb7acb2" ["intel-igc-core-2_2.41.5+22716_amd64.deb"]="0a6e64a663ae65a0fa02d6912ae3b6b37cf85b90c21cc423fd9fef70aaf4f628"
["intel-igc-opencl-2_2.34.4+21428_amd64.deb"]="f36cb8a6899353c61cc7261b650f287f4a652acadaad859103bdfc51f93b6e8a" ["intel-igc-opencl-2_2.41.5+22716_amd64.deb"]="779e1b9e88098eb25711e9a8f67c2752665bad22f134aa40ed5649f6e1b87058"
["intel-ocloc_26.18.38308.1-0_amd64.deb"]="74b98d91a92d59c487e4938175284e57d5a84ec35d9997a9d65fa4db3f51b96b" ["intel-ocloc_26.35.39758.10-0_amd64.deb"]="c64bff586edf2bd9b49f3e4c9c2be25e05c43466e4dafa2a2c3948d498c736b7"
["intel-opencl-icd_26.18.38308.1-0_amd64.deb"]="b2d0c924e56b3f9e5837774d68b0c67461b8633035d93ca18b1a8e3e5ead15fa" ["intel-opencl-icd_26.35.39758.10-0_amd64.deb"]="61712caaddeba3d38e4f79e2a0fb23fea25596ca2d72c3144c6eea2331ec4301"
["libigdgmm12_22.10.0_amd64.deb"]="6031a63d6e8a12ce61c14efc15f2c8e727061286e3820b8594e6d00615e04d54" ["libigdgmm12_22.10.0_amd64.deb"]="6031a63d6e8a12ce61c14efc15f2c8e727061286e3820b8594e6d00615e04d54"
["libze-intel-gpu1_26.18.38308.1-0_amd64.deb"]="12b8254e6d3415c32cee9cd13943030b991d91212445c79fe1cc27176a72eca4" ["libze-intel-gpu1_26.35.39758.10-0_amd64.deb"]="c19a641b953d55aebbf1d51bec364a84bf629f985e02fbbe6dc70224c0e88470"
) )
download_and_verify() { download_and_verify() {
@@ -64,32 +65,21 @@ download_and_verify() {
fi fi
} }
download_and_verify "https://github.com/intel/intel-graphics-compiler/releases/download/v2.34.4/intel-igc-core-2_2.34.4+21428_amd64.deb" \ download_and_verify "https://github.com/intel/intel-graphics-compiler/releases/download/v2.41.5/intel-igc-core-2_2.41.5+22716_amd64.deb" \
"intel-igc-core-2_2.34.4+21428_amd64.deb" "${NEO_HASHES["intel-igc-core-2_2.34.4+21428_amd64.deb"]}" "intel-igc-core-2_2.41.5+22716_amd64.deb" "${NEO_HASHES["intel-igc-core-2_2.41.5+22716_amd64.deb"]}"
download_and_verify "https://github.com/intel/intel-graphics-compiler/releases/download/v2.34.4/intel-igc-opencl-2_2.34.4+21428_amd64.deb" \ download_and_verify "https://github.com/intel/intel-graphics-compiler/releases/download/v2.41.5/intel-igc-opencl-2_2.41.5+22716_amd64.deb" \
"intel-igc-opencl-2_2.34.4+21428_amd64.deb" "${NEO_HASHES["intel-igc-opencl-2_2.34.4+21428_amd64.deb"]}" "intel-igc-opencl-2_2.41.5+22716_amd64.deb" "${NEO_HASHES["intel-igc-opencl-2_2.41.5+22716_amd64.deb"]}"
download_and_verify "https://github.com/intel/compute-runtime/releases/download/26.18.38308.1/intel-ocloc_26.18.38308.1-0_amd64.deb" \ download_and_verify "https://github.com/intel/compute-runtime/releases/download/26.35.39758.10/intel-ocloc_26.35.39758.10-0_amd64.deb" \
"intel-ocloc_26.18.38308.1-0_amd64.deb" "${NEO_HASHES["intel-ocloc_26.18.38308.1-0_amd64.deb"]}" "intel-ocloc_26.35.39758.10-0_amd64.deb" "${NEO_HASHES["intel-ocloc_26.35.39758.10-0_amd64.deb"]}"
download_and_verify "https://github.com/intel/compute-runtime/releases/download/26.18.38308.1/intel-opencl-icd_26.18.38308.1-0_amd64.deb" \ download_and_verify "https://github.com/intel/compute-runtime/releases/download/26.35.39758.10/intel-opencl-icd_26.35.39758.10-0_amd64.deb" \
"intel-opencl-icd_26.18.38308.1-0_amd64.deb" "${NEO_HASHES["intel-opencl-icd_26.18.38308.1-0_amd64.deb"]}" "intel-opencl-icd_26.35.39758.10-0_amd64.deb" "${NEO_HASHES["intel-opencl-icd_26.35.39758.10-0_amd64.deb"]}"
download_and_verify "https://github.com/intel/compute-runtime/releases/download/26.18.38308.1/libigdgmm12_22.10.0_amd64.deb" \ download_and_verify "https://github.com/intel/compute-runtime/releases/download/26.35.39758.10/libigdgmm12_22.10.0_amd64.deb" \
"libigdgmm12_22.10.0_amd64.deb" "${NEO_HASHES["libigdgmm12_22.10.0_amd64.deb"]}" "libigdgmm12_22.10.0_amd64.deb" "${NEO_HASHES["libigdgmm12_22.10.0_amd64.deb"]}"
download_and_verify "https://github.com/intel/compute-runtime/releases/download/26.18.38308.1/libze-intel-gpu1_26.18.38308.1-0_amd64.deb" \ download_and_verify "https://github.com/intel/compute-runtime/releases/download/26.35.39758.10/libze-intel-gpu1_26.35.39758.10-0_amd64.deb" \
"libze-intel-gpu1_26.18.38308.1-0_amd64.deb" "${NEO_HASHES["libze-intel-gpu1_26.18.38308.1-0_amd64.deb"]}" "libze-intel-gpu1_26.35.39758.10-0_amd64.deb" "${NEO_HASHES["libze-intel-gpu1_26.35.39758.10-0_amd64.deb"]}"
print_substep "Instalando paquetes deb..." print_substep "Instalando paquetes deb..."
dpkg -i libigdgmm12_22.10.0_amd64.deb apt-get install -y ./*.deb
dpkg -i intel-igc-core-2_2.34.4+21428_amd64.deb
dpkg -i intel-igc-opencl-2_2.34.4+21428_amd64.deb
dpkg -i intel-ocloc_26.18.38308.1-0_amd64.deb
dpkg -i libze-intel-gpu1_26.18.38308.1-0_amd64.deb
dpkg -i intel-opencl-icd_26.18.38308.1-0_amd64.deb
apt-get install -f -y
cd / cd /
rm -rf "$TEMP_DIR" rm -rf "$TEMP_DIR"
@@ -100,6 +90,6 @@ if [ -n "${SUDO_USER:-}" ]; then
usermod -a -G render,video "$SUDO_USER" usermod -a -G render,video "$SUDO_USER"
else else
# root # root
current_user=$(logname 2>/dev/null || echo "$USER") current_user="${SUDO_USER:-$(logname 2>/dev/null || id -un)}"
usermod -a -G render,video "$current_user" usermod -a -G render,video "$current_user"
fi fi
+1 -1
View File
@@ -23,6 +23,6 @@ print_substep "Adding user to render and video groups (if they exist)..."
if [ -n "${SUDO_USER:-}" ]; then if [ -n "${SUDO_USER:-}" ]; then
usermod -a -G render,video "$SUDO_USER" usermod -a -G render,video "$SUDO_USER"
else else
current_user=$(logname 2>/dev/null || echo "$USER") current_user="${SUDO_USER:-$(logname 2>/dev/null || id -un)}"
usermod -a -G render,video "$current_user" usermod -a -G render,video "$current_user"
fi fi
+25 -29
View File
@@ -12,6 +12,12 @@ apt-get update
# ---- 2. Paquetes multimedia y diagnóstico ---- # ---- 2. Paquetes multimedia y diagnóstico ----
print_substep "Installing graphics and diagnostic packages..." print_substep "Installing graphics and diagnostic packages..."
# TODO (H0 watch-out): Debian 13 required dropping mesa-va-drivers AND mesa-vdpau-drivers
# in favor of mesa-libgallium (Mesa >= 25.2 moved the gallium VA-API and VDPAU drivers into
# mesa-libgallium, which Breaks both old names < 25.2.8-3; no amd64 version >= 25.2.8-3
# exists in trixie nor backports -- see setup_debian.sh). Ubuntu 24.04 is not affected
# (mesa 24.x, real packages). Ubuntu 26.04 may be affected if it ships Mesa >= 25.2 (same
# transition) -- change only with evidence.
apt-get install -y \ apt-get install -y \
python3-numpy libmfx-gen1.2 libvpl2 libegl-mesa0 libegl1-mesa-dev libgbm1 \ python3-numpy libmfx-gen1.2 libvpl2 libegl-mesa0 libegl1-mesa-dev libgbm1 \
libgl1-mesa-dri libglapi-mesa libgles2-mesa-dev libglx-mesa0 libxatracker2 \ libgl1-mesa-dri libglapi-mesa libgles2-mesa-dev libglx-mesa0 libxatracker2 \
@@ -24,14 +30,15 @@ apt-get install -y intel-media-va-driver-non-free
print_substep "Downloading and installing NEO…" print_substep "Downloading and installing NEO…"
TEMP_DIR=$(mktemp -d) TEMP_DIR=$(mktemp -d)
cd "$TEMP_DIR" cd "$TEMP_DIR"
trap 'rm -rf "$TEMP_DIR"' EXIT
declare -A NEO_HASHES=( declare -A NEO_HASHES=(
["intel-igc-core-2_2.34.4+21428_amd64.deb"]="1150de9f1b8c06aab0bf6e619a6c02ed4cd0c7b4135752ae74c82c8f8fb7acb2" ["intel-igc-core-2_2.41.5+22716_amd64.deb"]="0a6e64a663ae65a0fa02d6912ae3b6b37cf85b90c21cc423fd9fef70aaf4f628"
["intel-igc-opencl-2_2.34.4+21428_amd64.deb"]="f36cb8a6899353c61cc7261b650f287f4a652acadaad859103bdfc51f93b6e8a" ["intel-igc-opencl-2_2.41.5+22716_amd64.deb"]="779e1b9e88098eb25711e9a8f67c2752665bad22f134aa40ed5649f6e1b87058"
["intel-ocloc_26.18.38308.1-0_amd64.deb"]="74b98d91a92d59c487e4938175284e57d5a84ec35d9997a9d65fa4db3f51b96b" ["intel-ocloc_26.35.39758.10-0_amd64.deb"]="c64bff586edf2bd9b49f3e4c9c2be25e05c43466e4dafa2a2c3948d498c736b7"
["intel-opencl-icd_26.18.38308.1-0_amd64.deb"]="b2d0c924e56b3f9e5837774d68b0c67461b8633035d93ca18b1a8e3e5ead15fa" ["intel-opencl-icd_26.35.39758.10-0_amd64.deb"]="61712caaddeba3d38e4f79e2a0fb23fea25596ca2d72c3144c6eea2331ec4301"
["libigdgmm12_22.10.0_amd64.deb"]="6031a63d6e8a12ce61c14efc15f2c8e727061286e3820b8594e6d00615e04d54" ["libigdgmm12_22.10.0_amd64.deb"]="6031a63d6e8a12ce61c14efc15f2c8e727061286e3820b8594e6d00615e04d54"
["libze-intel-gpu1_26.18.38308.1-0_amd64.deb"]="12b8254e6d3415c32cee9cd13943030b991d91212445c79fe1cc27176a72eca4" ["libze-intel-gpu1_26.35.39758.10-0_amd64.deb"]="c19a641b953d55aebbf1d51bec364a84bf629f985e02fbbe6dc70224c0e88470"
) )
download_and_verify() { download_and_verify() {
@@ -46,31 +53,20 @@ download_and_verify() {
fi fi
} }
download_and_verify "https://github.com/intel/intel-graphics-compiler/releases/download/v2.34.4/intel-igc-core-2_2.34.4+21428_amd64.deb" \ download_and_verify "https://github.com/intel/intel-graphics-compiler/releases/download/v2.41.5/intel-igc-core-2_2.41.5+22716_amd64.deb" \
"intel-igc-core-2_2.34.4+21428_amd64.deb" "${NEO_HASHES["intel-igc-core-2_2.34.4+21428_amd64.deb"]}" "intel-igc-core-2_2.41.5+22716_amd64.deb" "${NEO_HASHES["intel-igc-core-2_2.41.5+22716_amd64.deb"]}"
download_and_verify "https://github.com/intel/intel-graphics-compiler/releases/download/v2.34.4/intel-igc-opencl-2_2.34.4+21428_amd64.deb" \ download_and_verify "https://github.com/intel/intel-graphics-compiler/releases/download/v2.41.5/intel-igc-opencl-2_2.41.5+22716_amd64.deb" \
"intel-igc-opencl-2_2.34.4+21428_amd64.deb" "${NEO_HASHES["intel-igc-opencl-2_2.34.4+21428_amd64.deb"]}" "intel-igc-opencl-2_2.41.5+22716_amd64.deb" "${NEO_HASHES["intel-igc-opencl-2_2.41.5+22716_amd64.deb"]}"
download_and_verify "https://github.com/intel/compute-runtime/releases/download/26.18.38308.1/intel-ocloc_26.18.38308.1-0_amd64.deb" \ download_and_verify "https://github.com/intel/compute-runtime/releases/download/26.35.39758.10/intel-ocloc_26.35.39758.10-0_amd64.deb" \
"intel-ocloc_26.18.38308.1-0_amd64.deb" "${NEO_HASHES["intel-ocloc_26.18.38308.1-0_amd64.deb"]}" "intel-ocloc_26.35.39758.10-0_amd64.deb" "${NEO_HASHES["intel-ocloc_26.35.39758.10-0_amd64.deb"]}"
download_and_verify "https://github.com/intel/compute-runtime/releases/download/26.18.38308.1/intel-opencl-icd_26.18.38308.1-0_amd64.deb" \ download_and_verify "https://github.com/intel/compute-runtime/releases/download/26.35.39758.10/intel-opencl-icd_26.35.39758.10-0_amd64.deb" \
"intel-opencl-icd_26.18.38308.1-0_amd64.deb" "${NEO_HASHES["intel-opencl-icd_26.18.38308.1-0_amd64.deb"]}" "intel-opencl-icd_26.35.39758.10-0_amd64.deb" "${NEO_HASHES["intel-opencl-icd_26.35.39758.10-0_amd64.deb"]}"
download_and_verify "https://github.com/intel/compute-runtime/releases/download/26.18.38308.1/libigdgmm12_22.10.0_amd64.deb" \ download_and_verify "https://github.com/intel/compute-runtime/releases/download/26.35.39758.10/libigdgmm12_22.10.0_amd64.deb" \
"libigdgmm12_22.10.0_amd64.deb" "${NEO_HASHES["libigdgmm12_22.10.0_amd64.deb"]}" "libigdgmm12_22.10.0_amd64.deb" "${NEO_HASHES["libigdgmm12_22.10.0_amd64.deb"]}"
download_and_verify "https://github.com/intel/compute-runtime/releases/download/26.18.38308.1/libze-intel-gpu1_26.18.38308.1-0_amd64.deb" \ download_and_verify "https://github.com/intel/compute-runtime/releases/download/26.35.39758.10/libze-intel-gpu1_26.35.39758.10-0_amd64.deb" \
"libze-intel-gpu1_26.18.38308.1-0_amd64.deb" "${NEO_HASHES["libze-intel-gpu1_26.18.38308.1-0_amd64.deb"]}" "libze-intel-gpu1_26.35.39758.10-0_amd64.deb" "${NEO_HASHES["libze-intel-gpu1_26.35.39758.10-0_amd64.deb"]}"
dpkg -i libigdgmm12_22.10.0_amd64.deb apt-get install -y ./*.deb
dpkg -i intel-igc-core-2_2.34.4+21428_amd64.deb
dpkg -i intel-igc-opencl-2_2.34.4+21428_amd64.deb
dpkg -i intel-ocloc_26.18.38308.1-0_amd64.deb
dpkg -i libze-intel-gpu1_26.18.38308.1-0_amd64.deb
dpkg -i intel-opencl-icd_26.18.38308.1-0_amd64.deb
apt-get install -f -y
cd / cd /
rm -rf "$TEMP_DIR" rm -rf "$TEMP_DIR"
@@ -80,6 +76,6 @@ print_substep "Añadiendo usuario a grupos render y video..."
if [ -n "${SUDO_USER:-}" ]; then if [ -n "${SUDO_USER:-}" ]; then
usermod -a -G render,video "$SUDO_USER" usermod -a -G render,video "$SUDO_USER"
else else
current_user=$(logname 2>/dev/null || echo "$USER") current_user="${SUDO_USER:-$(logname 2>/dev/null || id -un)}"
usermod -a -G render,video "$current_user" usermod -a -G render,video "$current_user"
fi fi