Installing Data Center GPU: LTS Releases

This document describes software installation for Intel® Data Center GPU Max Series and Intel® Data Center GPU Flex Series. For readability purposes, Intel® Data Center GPU Max Series might be referred to as Max, while Intel® Data Center GPU Flex Series might be referred to as Flex.

Linux* operating system distribution support varies by hardware family. The following table indicates which release streams are supported and validated for each hardware family and operating system combination. Other combinations may work, however, they have not explicitly tested. Issues reported against non-supported combination are subject to Intel’s evaluation prior to fixing in the corresponding release stream.

GPU series

Ubuntu Server

Red Hat Enterprise Linux

SUSE Linux Enterprise Server

Max

LTS, Production, Rolling

LTS, Production, Rolling

LTS, Production, Rolling

Flex

LTS, Production, Rolling

LTS, Production, Rolling

N/A

We recommend installing the LTS version for most users. For more information about release streams, see Releases.

Installing GPU drivers

Image for: Installing GPU drivers

This procedure describes the installation of the unified driver release for Intel® Data Center GPU Flex Series and Intel® Data Center GPU Max Series on Red Hat Enterprise Linux (RHEL). It provides one method of DKMS installation, but you may choose any method described in the EPEL documentation that best fits your system configuration.

Prerequisites:

  • Make sure you use one of the supported RHEL versions: 8.8, 8.10, 9.2, 9.4, or 9.5.

  • To install the kernel modules provided, your system needs to support the Dynamic Kernel Module System (DKMS), which is not provided by the official RHEL package repositories. You can install DKMS onto your system through the Extra Packages for Enterprise Linux (EPEL) project. If DKMS is not available, the installation fails with a package dependency not being met for DKMS.

  • To maintain the security of the package repositories, the GPG keys used to sign packages and repository metadata are updated periodically. To ensure uninterrupted access to updates, make sure your system is updated with the latest GPG public key provided by Intel at https://repositories.intel.com/gpu/intel-graphics.key.

    sudo rpm --import https://repositories.intel.com/gpu/intel-graphics.key
    

Note

When installing drivers from Intel repositories for LTS, be aware that these repositories may contain older package versions than those in public repositories. To ensure the correct packages are installed, we recommend setting the Intel repository priority to 98 in the repository configuration. This helps manage version selection and ensures that preferred packages from Intel repositories are prioritized over those from other sources. To update the existing repository configuration with the recommended priority setting, use the following command:

. /etc/os-release
echo "priority=98" | sudo tee -a /etc/yum.repos.d/intel-gpu-${VERSION_ID}.repo

Installation procedure:

  1. Add the online network package repository.

    . /etc/os-release
    if [[ ! " 8.8 8.10 9.2 9.4 9.5 " =~ " ${VERSION_ID} " ]]; then
        echo "RHEL version ${VERSION_ID} not supported"
    else
        echo "Installing online network repository for ${VERSION_ID}"
        sudo dnf install -y 'dnf-command(config-manager)'
        sudo dnf config-manager --add-repo \
        https://repositories.intel.com/gpu/rhel/${VERSION_ID}/lts/2350/unified/intel-gpu-${VERSION_ID}.repo
    fi
    

    Optionally, instead of using the online network package repository, you can download and use the offline repository using the following code. This extracts and enables the Intel® Data Center GPU Flex Series and Intel® Data Center GPU Max Series repository in your operating system’s repository management configuration. Apart from enabling the repository, the offline installer does not make any other changes to the operating system’s configuration.

    . /etc/os-release
    if [[ ! " 8.8 8.10 9.2 9.4 9.5 " =~ " ${VERSION_ID} " ]]; then
        echo "RHEL version ${VERSION_ID} not supported"
    else
        wget https://repositories.intel.com/gpu/rhel/${VERSION_ID}/lts/2350/intel-gpu-rhel-${VERSION_ID}-2350.run
        chmod +x intel-gpu-rhel-${VERSION_ID}-2350.run
        sudo ./intel-gpu-rhel-${VERSION_ID}-2350.run
    fi
    

    In some Intel software releases, the offline installer may include prebuilt kernel module packages (KMD prebuilds). To check if your specific release includes these prebuilt packages, refer to the documentation provided with the offline installer. You can access this documentation by running the offline installer with the -s parameter. If you decide to install GPU drivers using the KMD prebuilds, refer to the offline installer documentation for detailed instructions, as this document does not cover that topic. To configure Secure Boot when using KMD prebuilds, follow the instructions in the Configuring Secure Boot guide.

    Optional point release repositories

    The code samples above use the 2350 repository, which includes packages from the latest and previous LTS versions. This ensures full access to everything available in LTS.

    If you prefer to stick to a specific LTS point release and use packages only from that release, you can specify the release version in the repository URL during installation. Point release repositories, such as 2350.XXX, include only the packages from that particular release and do not contain older versions from previous releases. To use a point release repository, check the Release Notes for the latest point release number and replace ${point_release_number} in the repository links, as in these examples:

    https://repositories.intel.com/gpu/rhel/${VERSION_ID}/lts/2350.${point_release_number}/unified/intel-gpu-${VERSION_ID}.repo
    
    https://repositories.intel.com/gpu/rhel/${VERSION_ID}/lts/2350.${point_release_number}/intel-gpu-rhel-${VERSION_ID}-2350.${point_release_number}.run
    
  2. Add the EPEL repository required for DKMS.

    . /etc/os-release
    sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-${VERSION_ID%.*}.noarch.rpm
    
    sudo dnf config-manager --disable epel
    

    By default, EPEL is disabled after installation due to conflicts with Intel’s packages. It will be temporarily enabled for the following command to install DKMS.

  3. Install kernel and Intel® XPU System Management Interface (XPU-SMI) packages on a bare metal system. Installation on the host is sufficient for hardware management and support of the runtimes in containers and bare metal.

    sudo dnf install -y kernel-headers flex bison
    sudo dnf install --enablerepo epel -y intel-fw-gpu intel-i915-dkms xpu-smi
    sudo reboot
    

    Note

    There are known limitations associated with the installation of the intel-i915-dkms package. You may encounter a warning about an unknown symbol during the installation process. Please be aware that this is a known issue and does not affect the functionality of the software.

  4. Install packages responsible for computing and media runtimes.

    sudo dnf install -y \
    intel-opencl intel-media libmfxgen1 libvpl2 \
    level-zero intel-level-zero-gpu mesa-dri-drivers mesa-vulkan-drivers \
    mesa-vdpau-drivers mesa-libEGL mesa-libgbm mesa-libGL \
    mesa-libxatracker libvpl-tools intel-metrics-discovery \
    intel-metrics-library intel-igc-core intel-igc-cm \
    libva libva-utils intel-gmmlib libmetee intel-gsc intel-ocloc
    
  5. Install development packages.

    sudo dnf install -y --refresh \
    intel-igc-opencl-devel level-zero-devel intel-gsc-devel libmetee-devel
    
  6. Install verification tools.

    sudo dnf install --enablerepo epel -y hwinfo clinfo
    
  7. List the group assigned ownership of the render nodes and the groups you are a member of.

    There are specific groups that users must be a part of to access certain functionalities of the GPU. The render group specifically allows access to GPU resources for rendering tasks without giving full access to display management or other potentially more sensitive operations.

    stat -c "%G" /dev/dri/render*
    groups ${USER}
    
  8. If you are not a member of the same group used by the DRM render nodes, add your user to the render node group.

    sudo gpasswd -a ${USER} render
    
  9. Change the group ID of the current shell.

    newgrp render
    

This procedure describes the installation of the unified driver release for Intel® Data Center GPU Max Series on the SUSE Linux Enterprise Server (SLES). Intel® Data Center GPU Flex Series is not supported on SLES.

Prerequisites:

  • Make sure you use one of the supported SLES versions, either 15 SP4, 15 SP5, or 15 SP6.

  • To maintain the security of the package repositories, the GPG keys used to sign packages and repository metadata are updated periodically. To ensure uninterrupted access to updates, make sure your system is updated with the latest GPG public key provided by Intel at https://repositories.intel.com/gpu/intel-graphics.key.

    sudo rpm --import https://repositories.intel.com/gpu/intel-graphics.key
    

Note

When installing drivers from Intel repositories for LTS, be aware that these repositories may contain older package versions than those in public repositories. To ensure the correct packages are installed, we recommend setting the Intel repository priority to 98 in the repository configuration. This helps manage version selection and ensures that preferred packages from Intel repositories are prioritized over those from other sources. To update the existing repository configuration with the recommended priority setting, use the following command:

. /etc/os-release
echo "priority=98" | sudo tee -a /etc/zypp/repos.d/intel-gpu-${VERSION_ID}.repo

Installation procedure:

  1. Add the online network package repository.

    . /etc/os-release
    VERSION_SP=${VERSION_ID//./sp}
    if [[ ! " 15sp4 15sp5 15sp6 " =~ " ${VERSION_SP} " ]]; then
        echo "SLES version ${VERSION_ID} not supported"
    else
        sudo zypper addrepo -f -r \
        https://repositories.intel.com/gpu/sles/${VERSION_SP}/lts/2350/unified/intel-gpu-${VERSION_SP}.repo
        sudo rpm --import https://repositories.intel.com/gpu/intel-graphics.key
    fi
    

    Optionally, instead of using the online network package repository, you can download and use the offline repository using the following code. This extracts and enables the Intel® Data Center GPU Max Series repository in your operating system’s repository management configuration. Apart from enabling the repository, the offline installer does not make any other changes to the operating system’s configuration.

    . /etc/os-release
    VERSION_SP=${VERSION_ID//./sp}
    if [[ ! " 15sp4 15sp5 15sp6 " =~ " ${VERSION_SP} " ]]; then
        echo "SLES version ${VERSION_ID} not supported"
    else
        wget https://repositories.intel.com/gpu/sles/${VERSION_SP}/lts/2350/intel-gpu-sles-${VERSION_SP}-2350.run
        chmod +x intel-gpu-sles-${VERSION_SP}-2350.run
        sudo ./intel-gpu-sles-${VERSION_SP}-2350.run
    fi
    

    Optional point release repositories

    The code samples above use the 2350 repository, which includes packages from the latest and previous LTS versions. This ensures full access to everything available in LTS.

    If you prefer to stick to a specific LTS point release and use packages only from that release, you can specify the release version in the repository URL during installation. Point release repositories, such as 2350.XXX, include only the packages from that particular release and do not contain older versions from previous releases. To use a point release repository, check the Release Notes for the latest point release number and replace ${point_release_number} in the repository links, as in these examples:

    https://repositories.intel.com/gpu/sles/${VERSION_SP}/lts/2350.${point_release_number}/unified/intel-gpu-${VERSION_SP}.repo
    
    https://repositories.intel.com/gpu/sles/${VERSION_SP}/lts/2350.${point_release_number}/intel-gpu-sles-${VERSION_SP}-2350.${point_release_number}.run
    
  2. Ensure the following modules and extensions are enabled in your SUSE subscription in order for all required packages to be available:

    • Basesystem Module

    • Development Tools Module

    • Product-WE

    • Package-HUB


    Once your system has the required modules and extensions enabled, you can continue with installing the GPU packages. For information on configuring extensions and modules, refer to the SUSE Modules article.

  3. Install kernel and Intel® XPU System Management Interface (XPU-SMI) packages on a bare metal system. Installation on the host is sufficient for hardware management and support of the runtimes in containers and bare metal.

    Note

    If you are not running the latest kernel from SUSE, ensure your system has the kernel devel package for your kernel. To verify that the package is installed, you can run zypper install --oldpackage kernel-default-devel-$(uname -r).

    sudo zypper install -y lsb-release linux-kernel-headers flex bison intel-fw-gpu intel-i915-dkms xpu-smi
    
  4. If you install a kernel module that has not been supplied by SUSE, for example, the module that is built when installing the intel-i915-dkms package, set the system configuration allow_unsupported_modules to 1. Failure to enable that option will prevent the kernel from loading the intel-i915-dkms generated kernel module.

    # Copy the default into /etc
    sudo cp /lib/modprobe.d/10-unsupported-modules.conf /etc/modprobe.d/10-unsupported-modules.conf
    # Modify the default to set allow_unsupported_modules to 1
    sudo sed -i -E 's,allow_unsupported_modules 0,allow_unsupported_modules 1,g' \
        /etc/modprobe.d/10-unsupported-modules.conf
    

    If you will be booting your system from an initrd and have dracut configured, make sure to rerun dracut after changing the system configuration parameter:

    # Update the initrd
    sudo dracut -f
    

    For additional details related to the allow_unsupported_modules option, see SUSE’s working with unsupported modules.

  5. Reboot the system to load the new module.

    sudo reboot
    
  6. Install packages responsible for computing and media runtimes.

    sudo zypper install -y \
        intel-level-zero-gpu level-zero intel-gsc intel-opencl intel-ocloc \
        intel-media-driver libigfxcmrt7 libvpl2 libvpl-tools libmfxgen1
    
  7. Install development packages.

    sudo zypper install -y \
        libigdfcl-devel intel-igc-cm libigfxcmrt-devel level-zero-devel
    
  8. Install verification tools.

    sudo zypper install -y clinfo libOpenCL1 libva-utils hwinfo
    
  9. List the group assigned ownership of the render nodes and the groups you are a member of.

    There are specific groups that users must be a part of to access certain functionalities of the GPU. The render group specifically allows access to GPU resources for rendering tasks without giving full access to display management or other potentially more sensitive operations.

    stat -c "%G" /dev/dri/render*
    groups ${USER}
    
  10. If you are not a member of the same group used by the DRM render nodes, add your user to the render node group.

    sudo gpasswd -a ${USER} render
    
  11. Change the group ID of the current shell.

    newgrp render
    

This procedure describes the installation of the unified driver release for Intel® Data Center GPU Flex Series and Intel® Data Center GPU Max Series on Ubuntu Server.

Prerequisites:

  • Make sure you use Ubuntu Server 22.04.1 (5.15 LTS kernel).

  • To maintain the security of the package repositories, the GPG keys used to sign packages and repository metadata are updated periodically. To ensure uninterrupted access to updates, make sure your system is updated with the latest GPG public key provided by Intel at https://repositories.intel.com/gpu/intel-graphics.key.

    wget -qO - https://repositories.intel.com/gpu/intel-graphics.key |
        sudo gpg --yes --dearmor --output /usr/share/keyrings/intel-graphics.gpg
    

Installation procedure:

  1. Make sure prerequisites to add repository access are available.

    sudo apt update
    sudo apt install -y gpg-agent wget
    
  2. Add the online network package repository.

    . /etc/os-release
    if [[ ! " jammy " =~ " ${VERSION_CODENAME} " ]]; then
        echo "Ubuntu version ${VERSION_CODENAME} not supported"
    else
        wget -qO - https://repositories.intel.com/gpu/intel-graphics.key | \
        sudo gpg --yes --dearmor --output /usr/share/keyrings/intel-graphics.gpg
        echo "deb [arch=amd64 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/gpu/ubuntu ${VERSION_CODENAME}/lts/2350 unified" | \
        sudo tee /etc/apt/sources.list.d/intel-gpu-${VERSION_CODENAME}.list
        sudo apt update
    fi
    

    Optionally, instead of using the online network package repository, you can download and use the offline repository using the following code. This extracts and enables the Intel® Data Center GPU Flex Series and Intel® Data Center GPU Max Series repository in your operating system’s repository management configuration. Apart from enabling the repository, the offline installer does not make any other changes to the operating system’s configuration.

    . /etc/os-release
    if [[ ! " jammy " =~ " ${VERSION_CODENAME} " ]]; then
        echo "Ubuntu version ${VERSION_CODENAME} not supported"
    else
        wget https://repositories.intel.com/gpu/ubuntu/dists/jammy/lts/2350/intel-gpu-ubuntu-${VERSION_CODENAME}-2350.run
        chmod +x intel-gpu-ubuntu-${VERSION_CODENAME}-2350.run
        sudo ./intel-gpu-ubuntu-${VERSION_CODENAME}-2350.run
    fi
    

    In some Intel software releases, the offline installer may include prebuilt kernel module packages (KMD prebuilds). To check if your specific release includes these prebuilt packages, refer to the documentation provided with the offline installer. You can access this documentation by running the offline installer with the -s parameter. If you decide to install GPU drivers using the KMD prebuilds, refer to the offline installer documentation for detailed instructions, as this document does not cover that topic. To configure Secure Boot when using KMD prebuilds, follow the instructions in the Configuring Secure Boot guide.

    Optional point release repositories

    The code samples above use the 2350 repository, which includes packages from the latest and previous LTS versions. This ensures full access to everything available in LTS.

    If you prefer to stick to a specific LTS point release and use packages only from that release, you can specify the release version in the repository URL during installation. Point release repositories, such as 2350.XXX, include only the packages from that particular release and do not contain older versions from previous releases. To use a point release repository, check the Release Notes for the latest point release number and replace ${point_release_number} in the repository links, as in these examples:

    echo "deb [arch=amd64 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/gpu/ubuntu ${VERSION_CODENAME}/lts/2350.${point_release_number} unified" | \
    sudo tee /etc/apt/sources.list.d/intel-gpu-${VERSION_CODENAME}.list
    
    https://repositories.intel.com/gpu/ubuntu/dists/jammy/lts/2350.${point_release_number}/intel-gpu-ubuntu-${VERSION_CODENAME}-2350.${point_release_number}.run
    
  3. Install kernel and Intel® XPU System Management Interface (XPU-SMI) packages on a bare metal system. Installation on the host is sufficient for hardware management and support of the runtimes in containers and bare metal.

    sudo apt install -y \
        linux-headers-$(uname -r) \
        linux-modules-extra-$(uname -r) \
        flex bison \
        intel-fw-gpu intel-i915-dkms xpu-smi
    sudo reboot
    
  4. Install packages responsible for computing and media runtimes.

    sudo apt install -y \
        intel-opencl-icd intel-level-zero-gpu level-zero \
        intel-media-va-driver-non-free libmfxgen1 libvpl2 \
        libegl-mesa0 libegl1-mesa libegl1-mesa-dev libgbm1 libgl1-mesa-dev libgl1-mesa-dri \
        libglapi-mesa libgles2-mesa-dev libglx-mesa0 libigdgmm12 libxatracker2 mesa-va-drivers \
        mesa-vdpau-drivers mesa-vulkan-drivers va-driver-all vainfo hwinfo clinfo
    
  5. Install development packages.

    sudo apt install -y \
        libigc-dev intel-igc-cm libigdfcl-dev libigfxcmrt-dev level-zero-dev
    
  6. List the group assigned ownership of the render nodes and the groups you are a member of.

    There are specific groups that users must be a part of to access certain functionalities of the GPU. The render group specifically allows access to GPU resources for rendering tasks without giving full access to display management or other potentially more sensitive operations.

    stat -c "%G" /dev/dri/render*
    groups ${USER}
    
  7. If you are not a member of the same group used by the DRM render nodes, add your user to the render node group.

    sudo gpasswd -a ${USER} render
    
  8. Change the group ID of the current shell.

    newgrp render
    

Installing the oneAPI toolkit

Image for: Installing the oneAPI toolkit

The oneAPI toolkit is a unified programming model designed to simplify development across computing architectures. It includes tools and libraries optimized for Intel hardware, allowing for efficient utilization of Intel GPUs. To install the oneAPI toolkit, see its Installation Guide. If you wish to use a system package manager, see this guide.

Host system support

Image for: Host system support

Packages mentioned in this document have been validated with the following platform configurations:

Host system

GPU

12th Generation Intel® Core™ processors, such as Alder Lake-H, Alder Lake-P, Alder Lake-U, Alder Lake-S, and Alder Lake-HX

Intel® Arc™ A-Series Graphics (Alchemist)

11th Generation Intel® Core processors, such as Tiger Lake

Intel® Arc™ A-Series Graphics (Alchemist)

3rd Gen Intel® Xeon Scalable Ice Lake, such as the M50CYP family

Intel® Data Center GPU Flex Series