mirror of
https://github.com/stornic56/openvino-runtime-simple-installer.git
synced 2026-10-31 13:08:06 +00:00
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:
@@ -0,0 +1,6 @@
|
|||||||
|
# Artefactos de instalacion (no versionar)
|
||||||
|
*.tgz
|
||||||
|
*.sha256
|
||||||
|
openvino_toolkit_*/
|
||||||
|
temp/
|
||||||
|
install.log
|
||||||
@@ -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
@@ -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
|
||||||
|
|
||||||
|
|||||||
+58
-50
@@ -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,8 +26,8 @@ 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)"
|
||||||
echo " -n dry-run, assume no (off)"
|
echo " -n dry-run, assume no (off)"
|
||||||
@@ -56,7 +56,7 @@ fi
|
|||||||
#===================================================================================================
|
#===================================================================================================
|
||||||
# Selftest
|
# Selftest
|
||||||
|
|
||||||
if [ -n "$selftest" ] ; then
|
if [ -n "$selftest" ]; then
|
||||||
for image in centos:7 centos:8 rhel:8 rhel:9.1 \
|
for image in centos:7 centos:8 rhel:8 rhel:9.1 \
|
||||||
almalinux:8.7 amazonlinux:2 \
|
almalinux:8.7 amazonlinux:2 \
|
||||||
fedora:34 fedora:35 fedora:36 fedora:37 fedora:38 \
|
fedora:34 fedora:35 fedora:36 fedora:37 fedora:38 \
|
||||||
@@ -65,11 +65,11 @@ if [ -n "$selftest" ] ; then
|
|||||||
raspbian:10 debian:10 ubuntu:20.04 ubuntu:20.10 ubuntu:21.04 \
|
raspbian:10 debian:10 ubuntu:20.04 ubuntu:20.10 ubuntu:21.04 \
|
||||||
raspbian:11 debian:11 ubuntu:21.10 ubuntu:22.04 \
|
raspbian:11 debian:11 ubuntu:21.10 ubuntu:22.04 \
|
||||||
raspbian:12 debian:12 debian:13 ubuntu:22.10 ubuntu:23.04 ubuntu:24.04; do
|
raspbian:12 debian:12 debian:13 ubuntu:22.10 ubuntu:23.04 ubuntu:24.04; do
|
||||||
for opt in "-h" "-p" "-e -p" "-n" "-n -e" "-y" "-y -e" ; do
|
for opt in "-h" "-p" "-e -p" "-n" "-n -e" "-y" "-y -e"; do
|
||||||
echo "||"
|
echo "||"
|
||||||
echo "|| Test $image / '$opt'"
|
echo "|| Test $image / '$opt'"
|
||||||
echo "||"
|
echo "||"
|
||||||
SCRIPT_DIR="$( cd "$( dirname "$(realpath "${BASH_SOURCE:-$0}")" )" >/dev/null 2>&1 && pwd )"
|
SCRIPT_DIR="$(cd "$(dirname "$(realpath "${BASH_SOURCE:-$0}")")" >/dev/null 2>&1 && pwd)"
|
||||||
docker run -it --rm \
|
docker run -it --rm \
|
||||||
--volume "${SCRIPT_DIR}":/scripts:ro,Z \
|
--volume "${SCRIPT_DIR}":/scripts:ro,Z \
|
||||||
--volume yum-cache:/var/cache/yum \
|
--volume yum-cache:/var/cache/yum \
|
||||||
@@ -87,7 +87,7 @@ if [ -n "$selftest" ] ; then
|
|||||||
echo "||"
|
echo "||"
|
||||||
echo "|| Test ubuntu:26.04 / '$opt'"
|
echo "|| Test ubuntu:26.04 / '$opt'"
|
||||||
echo "||"
|
echo "||"
|
||||||
SCRIPT_DIR="$( cd "$( dirname "$(realpath "${BASH_SOURCE:-$0}")" )" >/dev/null 2>&1 && pwd )"
|
SCRIPT_DIR="$(cd "$(dirname "$(realpath "${BASH_SOURCE:-$0}")")" >/dev/null 2>&1 && pwd)"
|
||||||
docker run -it --rm \
|
docker run -it --rm \
|
||||||
--volume "${SCRIPT_DIR}":/scripts:ro,Z \
|
--volume "${SCRIPT_DIR}":/scripts:ro,Z \
|
||||||
--volume yum-cache:/var/cache/yum \
|
--volume yum-cache:/var/cache/yum \
|
||||||
@@ -108,32 +108,40 @@ 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
|
||||||
if [[ "$os" =~ "rhel8".* ]] ; then
|
os=$(
|
||||||
|
. /etc/os-release
|
||||||
|
echo "${ID:-}${VERSION_ID:-}"
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
if [[ "$os" =~ "rhel8".* ]]; then
|
||||||
os="rhel8"
|
os="rhel8"
|
||||||
fi
|
fi
|
||||||
case $os in
|
case $os in
|
||||||
centos7|centos8|centos9|\
|
centos7 | centos8 | centos9 | \
|
||||||
rhel8|rhel9.1|rhel9.2|rhel9.3|rhel9.4|\
|
rhel8 | rhel9.1 | rhel9.2 | rhel9.3 | rhel9.4 | \
|
||||||
opencloudos8.5|opencloudos8.6|opencloudos8.8|opencloudos9.0|opencloudos9.2|\
|
opencloudos8.5 | opencloudos8.6 | opencloudos8.8 | opencloudos9.0 | opencloudos9.2 | \
|
||||||
tencentos3.1|tencentos3.2|tencentos3.3|tencentos4.0|tencentos4.2|\
|
tencentos3.1 | tencentos3.2 | tencentos3.3 | tencentos4.0 | tencentos4.2 | \
|
||||||
anolis8.6|anolis8.8|\
|
anolis8.6 | anolis8.8 | \
|
||||||
openEuler20.03|openEuler22.03|openEuler23.03|openEuler24.03|\
|
openEuler20.03 | openEuler22.03 | openEuler23.03 | openEuler24.03 | \
|
||||||
almalinux8.7|almalinux8.8|almalinux9.2|almalinux9.3|almalinux9.4|\
|
almalinux8.7 | almalinux8.8 | almalinux9.2 | almalinux9.3 | almalinux9.4 | \
|
||||||
amzn2|amzn2022|amzn2023|\
|
amzn2 | amzn2022 | amzn2023 | \
|
||||||
ol8.7|ol8.8|ol9.2|ol9.3|ol9.4|\
|
ol8.7 | ol8.8 | ol9.2 | ol9.3 | ol9.4 | \
|
||||||
rocky8.7|rocky8.8|rocky9.2|rocky9.3|rocky9.4|\
|
rocky8.7 | rocky8.8 | rocky9.2 | rocky9.3 | rocky9.4 | \
|
||||||
fedora29|fedora30|fedora31|fedora32|fedora33|fedora34|fedora35|fedora36|\
|
fedora29 | fedora30 | fedora31 | fedora32 | fedora33 | fedora34 | fedora35 | fedora36 | \
|
||||||
fedora37|fedora38|fedora39|fedora40|fedora41|\
|
fedora37 | fedora38 | fedora39 | fedora40 | fedora41 | \
|
||||||
fedora42|fedora43|fedora44|fedora*|\
|
fedora42 | fedora43 | fedora44 | fedora* | \
|
||||||
opensuse-leap15.3|\
|
opensuse-leap15.3 | \
|
||||||
raspbian9|debian9|ubuntu18.04|\
|
raspbian9 | debian9 | ubuntu18.04 | \
|
||||||
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
|
||||||
|
|
||||||
@@ -147,14 +155,14 @@ if [ "$os" == "raspbian9" ] || [ "$os" == "debian9" ]; then
|
|||||||
pkgs_python=()
|
pkgs_python=()
|
||||||
pkgs_dev=(pkg-config g++ gcc libc6-dev make sudo)
|
pkgs_dev=(pkg-config g++ gcc libc6-dev make sudo)
|
||||||
|
|
||||||
elif [ "$os" == "ubuntu18.04" ] ; then
|
elif [ "$os" == "ubuntu18.04" ]; then
|
||||||
pkgs_gpu=(ocl-icd-libopencl1)
|
pkgs_gpu=(ocl-icd-libopencl1)
|
||||||
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
|
||||||
@@ -200,11 +208,11 @@ elif [ "$os" == "centos7" ] || [ "$os" == "centos8" ] || [ "$os" == "centos9" ]
|
|||||||
[ "$os" == "rocky9.2" ] || [ "$os" == "rocky9.3" ] || [ "$os" == "rocky9.4" ] ||
|
[ "$os" == "rocky9.2" ] || [ "$os" == "rocky9.3" ] || [ "$os" == "rocky9.4" ] ||
|
||||||
[ "$os" == "almalinux8.7" ] || [ "$os" == "almalinux8.8" ] ||
|
[ "$os" == "almalinux8.7" ] || [ "$os" == "almalinux8.8" ] ||
|
||||||
[ "$os" == "almalinux9.2" ] || [ "$os" == "almalinux9.3" ] || [ "$os" == "almalinux9.4" ] ||
|
[ "$os" == "almalinux9.2" ] || [ "$os" == "almalinux9.3" ] || [ "$os" == "almalinux9.4" ] ||
|
||||||
[ "$os" == "amzn2" ] || [ "$os" == "amzn2022" ] || [ "$os" == "amzn2023" ] ; then
|
[ "$os" == "amzn2" ] || [ "$os" == "amzn2022" ] || [ "$os" == "amzn2023" ]; then
|
||||||
|
|
||||||
arch=$(uname -m)
|
arch=$(uname -m)
|
||||||
|
|
||||||
if [ "$os" == "amzn2" ] ; then
|
if [ "$os" == "amzn2" ]; then
|
||||||
amazon-linux-extras install epel python3.8
|
amazon-linux-extras install epel python3.8
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -212,7 +220,7 @@ elif [ "$os" == "centos7" ] || [ "$os" == "centos8" ] || [ "$os" == "centos9" ]
|
|||||||
pkgs_python=()
|
pkgs_python=()
|
||||||
pkgs_dev=(gcc gcc-c++ make glibc libstdc++ libgcc cmake3 sudo)
|
pkgs_dev=(gcc gcc-c++ make glibc libstdc++ libgcc cmake3 sudo)
|
||||||
|
|
||||||
if [ "$os" == "centos7" ] || [ "$os" == "amzn2" ] ; then
|
if [ "$os" == "centos7" ] || [ "$os" == "amzn2" ]; then
|
||||||
pkgs_dev+=(pkgconfig)
|
pkgs_dev+=(pkgconfig)
|
||||||
else
|
else
|
||||||
pkgs_dev+=(pkgconf-pkg-config)
|
pkgs_dev+=(pkgconf-pkg-config)
|
||||||
@@ -231,23 +239,23 @@ elif [ "$os" == "centos7" ] || [ "$os" == "centos8" ] || [ "$os" == "centos9" ]
|
|||||||
[ "$os" == "centos8" ] || [ "$os" == "centos9" ] ||
|
[ "$os" == "centos8" ] || [ "$os" == "centos9" ] ||
|
||||||
[ "$os" == "amzn2022" ] || [ "$os" == "amzn2023" ] ||
|
[ "$os" == "amzn2022" ] || [ "$os" == "amzn2023" ] ||
|
||||||
[ "$os" == "anolis8.6" ] || [ "$os" == "anolis8.8" ] ||
|
[ "$os" == "anolis8.6" ] || [ "$os" == "anolis8.8" ] ||
|
||||||
[ "$os" == "openEuler20.03" ] || [ "$os" == "openEuler22.03" ] || [ "$os" == "openEuler23.03" ] || [ "$os" == "openEuler24.03" ] ; then
|
[ "$os" == "openEuler20.03" ] || [ "$os" == "openEuler22.03" ] || [ "$os" == "openEuler23.03" ] || [ "$os" == "openEuler24.03" ]; then
|
||||||
pkgs_python+=(python3 python3-pip)
|
pkgs_python+=(python3 python3-pip)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$os" == "centos7" ] || [ "$os" == "amzn2" ] ; then
|
if [ "$os" == "centos7" ] || [ "$os" == "amzn2" ]; then
|
||||||
pkgs_gpu+=("ocl-icd.$arch")
|
pkgs_gpu+=("ocl-icd.$arch")
|
||||||
extra_repos+=("https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm")
|
extra_repos+=("https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm")
|
||||||
elif [ "$os" == "rhel8" ] ; then
|
elif [ "$os" == "rhel8" ]; then
|
||||||
pkgs_gpu+=("http://vault.centos.org/centos/8-stream/AppStream/$arch/os/Packages/ocl-icd-2.2.12-1.el8.$arch.rpm")
|
pkgs_gpu+=("http://vault.centos.org/centos/8-stream/AppStream/$arch/os/Packages/ocl-icd-2.2.12-1.el8.$arch.rpm")
|
||||||
pkgs_python+=(python38 python38-pip)
|
pkgs_python+=(python38 python38-pip)
|
||||||
extra_repos+=("https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm")
|
extra_repos+=("https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm")
|
||||||
elif [ "$os" == "rhel9.1" ] || [ "$os" == "rhel9.2" ] || [ "$os" == "rhel9.3" ] || [ "$os" == "rhel9.4" ] ; then
|
elif [ "$os" == "rhel9.1" ] || [ "$os" == "rhel9.2" ] || [ "$os" == "rhel9.3" ] || [ "$os" == "rhel9.4" ]; then
|
||||||
pkgs_gpu+=("https://mirror.stream.centos.org/9-stream/AppStream/$arch/os/Packages/ocl-icd-2.2.13-4.el9.$arch.rpm")
|
pkgs_gpu+=("https://mirror.stream.centos.org/9-stream/AppStream/$arch/os/Packages/ocl-icd-2.2.13-4.el9.$arch.rpm")
|
||||||
pkgs_python+=(python3 python3-pip)
|
pkgs_python+=(python3 python3-pip)
|
||||||
extra_repos+=("https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm")
|
extra_repos+=("https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm")
|
||||||
fi
|
fi
|
||||||
elif [ "$os" == "opensuse-leap15.3" ] ; then
|
elif [ "$os" == "opensuse-leap15.3" ]; then
|
||||||
pkgs_gpu=(libOpenCL1)
|
pkgs_gpu=(libOpenCL1)
|
||||||
pkgs_python=(python39-base python39 python39-venv python39-pip)
|
pkgs_python=(python39-base python39 python39-venv python39-pip)
|
||||||
pkgs_dev=(cmake pkg-config gcc-c++ gcc make sudo)
|
pkgs_dev=(cmake pkg-config gcc-c++ gcc make sudo)
|
||||||
@@ -260,13 +268,13 @@ fi
|
|||||||
# Gather packages and print list
|
# Gather packages and print list
|
||||||
|
|
||||||
pkgs=()
|
pkgs=()
|
||||||
for comp in "${comp[@]}" ; do
|
for comp in "${comp[@]}"; do
|
||||||
var="pkgs_${comp}[@]"
|
var="pkgs_${comp}[@]"
|
||||||
pkgs+=("${!var}")
|
pkgs+=("${!var}")
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ ${#pkgs[@]} -eq 0 ]; then
|
if [ ${#pkgs[@]} -eq 0 ]; then
|
||||||
if [ -n "$print" ] ; then
|
if [ -n "$print" ]; then
|
||||||
echo "No packages to install" >&2
|
echo "No packages to install" >&2
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
@@ -275,7 +283,7 @@ if [ ${#pkgs[@]} -eq 0 ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$print" ] ; then
|
if [ -n "$print" ]; then
|
||||||
echo "${pkgs[*]}"
|
echo "${pkgs[*]}"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
@@ -294,7 +302,7 @@ iopt=
|
|||||||
if [ "$os" == "debian9" ] || [ "$os" == "raspbian9" ] || [ "$os" == "ubuntu18.04" ] ||
|
if [ "$os" == "debian9" ] || [ "$os" == "raspbian9" ] || [ "$os" == "ubuntu18.04" ] ||
|
||||||
[ "$os" == "debian10" ] || [ "$os" == "raspbian10" ] || [ "$os" == "ubuntu20.04" ] || [ "$os" == "ubuntu20.10" ] || [ "$os" == "ubuntu21.04" ] ||
|
[ "$os" == "debian10" ] || [ "$os" == "raspbian10" ] || [ "$os" == "ubuntu20.04" ] || [ "$os" == "ubuntu20.10" ] || [ "$os" == "ubuntu21.04" ] ||
|
||||||
[ "$os" == "debian11" ] || [ "$os" == "raspbian11" ] || [ "$os" == "ubuntu21.10" ] || [ "$os" == "ubuntu22.04" ] ||
|
[ "$os" == "debian11" ] || [ "$os" == "raspbian11" ] || [ "$os" == "ubuntu21.10" ] || [ "$os" == "ubuntu22.04" ] ||
|
||||||
[ "$os" == "debian12" ] || [ "$os" == "raspbian12" ] || [ "$os" == "debian13" ] || [ "$os" == "ubuntu22.10" ] || [ "$os" == "ubuntu23.04" ] || [ "$os" == "ubuntu23.10" ] || [ "$os" == "ubuntu24.04" ] || [ "$os" == "ubuntu26.04" ] ; then
|
[ "$os" == "debian12" ] || [ "$os" == "raspbian12" ] || [ "$os" == "debian13" ] || [ "$os" == "ubuntu22.10" ] || [ "$os" == "ubuntu23.04" ] || [ "$os" == "ubuntu23.10" ] || [ "$os" == "ubuntu24.04" ] || [ "$os" == "ubuntu26.04" ]; then
|
||||||
|
|
||||||
[ -z "$interactive" ] && iopt="-y"
|
[ -z "$interactive" ] && iopt="-y"
|
||||||
[ -n "$dry" ] && iopt="--dry-run"
|
[ -n "$dry" ] && iopt="--dry-run"
|
||||||
@@ -317,7 +325,7 @@ elif [ "$os" == "centos7" ] || [ "$os" == "centos8" ] || [ "$os" == "centos9" ]
|
|||||||
[ "$os" == "rocky9.2" ] || [ "$os" == "rocky9.3" ] || [ "$os" == "rocky9.4" ] ||
|
[ "$os" == "rocky9.2" ] || [ "$os" == "rocky9.3" ] || [ "$os" == "rocky9.4" ] ||
|
||||||
[ "$os" == "almalinux8.7" ] || [ "$os" == "almalinux8.8" ] ||
|
[ "$os" == "almalinux8.7" ] || [ "$os" == "almalinux8.8" ] ||
|
||||||
[ "$os" == "almalinux9.2" ] || [ "$os" == "almalinux9.3" ] || [ "$os" == "almalinux9.4" ] ||
|
[ "$os" == "almalinux9.2" ] || [ "$os" == "almalinux9.3" ] || [ "$os" == "almalinux9.4" ] ||
|
||||||
[ "$os" == "amzn2" ] || [ "$os" == "amzn2022" ] || [ "$os" == "amzn2023" ] ; then
|
[ "$os" == "amzn2" ] || [ "$os" == "amzn2022" ] || [ "$os" == "amzn2023" ]; then
|
||||||
|
|
||||||
# Usar dnf en Fedora moderna, yum en el resto
|
# Usar dnf en Fedora moderna, yum en el resto
|
||||||
if [[ "$os" == fedora* ]]; then
|
if [[ "$os" == fedora* ]]; then
|
||||||
@@ -333,7 +341,7 @@ elif [ "$os" == "centos7" ] || [ "$os" == "centos8" ] || [ "$os" == "centos9" ]
|
|||||||
|
|
||||||
$PKGCMD install ${iopt:+$iopt} "${pkgs[@]}"
|
$PKGCMD install ${iopt:+$iopt} "${pkgs[@]}"
|
||||||
|
|
||||||
elif [ "$os" == "opensuse-leap15.3" ] ; then
|
elif [ "$os" == "opensuse-leap15.3" ]; then
|
||||||
|
|
||||||
[ -z "$interactive" ] && iopt="-y"
|
[ -z "$interactive" ] && iopt="-y"
|
||||||
[ -n "$dry" ] && iopt="--dry-run"
|
[ -n "$dry" ] && iopt="--dry-run"
|
||||||
|
|||||||
@@ -45,23 +45,24 @@ print_substep "System detected: $OS_ID $VERSION_ID"
|
|||||||
|
|
||||||
# Prefix mapping
|
# Prefix mapping
|
||||||
case "$OS_ID" in
|
case "$OS_ID" in
|
||||||
debian)
|
debian)
|
||||||
PREFIX="ubuntu24" # Tested and working on Debian 13
|
PREFIX="ubuntu24" # Tested and working on Debian 13
|
||||||
;;
|
;;
|
||||||
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
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
fedora)
|
fedora)
|
||||||
PREFIX="rhel8"
|
PREFIX="rhel8"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
print_error "Unsupported distribution: $OS_ID"
|
print_error "Unsupported distribution: $OS_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
@@ -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
|
||||||
|
|||||||
@@ -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
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user