Driver and firmware for Intel GPUs

Access to a GPU device requires firmware, kernel and user-space drivers supporting it. Firmware and kernel driver need to be on the host, user-space drivers in the GPU workload containers.

Intel GPU devices supported by the current kernel can be listed with:

$ grep i915 /sys/class/drm/card?/device/uevent
/sys/class/drm/card0/device/uevent:DRIVER=i915
/sys/class/drm/card1/device/uevent:DRIVER=i915

Drivers for discrete GPUs

Note: Kernel (on host) and user-space drivers (in containers) should be installed from the same repository as there are some differences between DKMS and upstream GPU driver uAPI.

Kernel driver

Intel DKMS packages

i915 GPU driver DKMS^dkms package is recommended for Intel discrete GPUs, until their support in upstream is complete. DKMS package(s) can be installed from Intel package repositories for a subset of older kernel versions used in enterprise / LTS distributions: https://dgpu-docs.intel.com/installation-guides/index.html

Upstream kernel

Support for first Intel discrete GPUs was added to upstream Linux kernel in v6.2, and expanded in later versions. For now, upstream kernel is still missing support for few of the features available in DKMS kernels, listed here: https://dgpu-docs.intel.com/driver/kernel-driver-types.html

GPU Version

PCI IDs for the Intel GPUs on given host can be listed with:

$ lspci | grep -e VGA -e Display | grep Intel
88:00.0 Display controller: Intel Corporation Device 56c1 (rev 05)
8d:00.0 Display controller: Intel Corporation Device 56c1 (rev 05)

(lspci lists GPUs with display support as “VGA compatible controller”, and server GPUs without display support, as “Display controller”.)

A mapping between GPU PCI IDs and their Intel brand names is available here: https://dgpu-docs.intel.com/devices/hardware-table.html

GPU Firmware

If your kernel build does not find the correct firmware version for a given GPU from the host (see dmesg | grep i915 output), latest firmware versions are available in upstream: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915

User-space drivers

Until new enough user-space drivers (supporting also discrete GPUs) are available directly from distribution package repositories, they can be installed to containers from Intel package repositories. See: https://dgpu-docs.intel.com/installation-guides/index.html

Example container is listed in Testing and demos.

Validation status against upstream kernel is listed in the user-space drivers release notes:

  • Media driver: https://github.com/intel/media-driver/releases

  • Compute driver: https://github.com/intel/compute-runtime/releases

Drivers for older (integrated) GPUs

For the older (integrated) GPUs, new enough firmware and kernel driver are typically included already with the host OS, and new enough user-space drivers (for the GPU containers) are in the host OS repositories.