This page is depreciated.

Please refer to the latest installation guide.

Ubuntu* 22.04 (jammy)

Driver installation instructions assume the Linux distribution is already installed.  Refer to 3rd party instructions to load the distribution, if not already present.

If you need to update your GPU firmware, refer to the system’s Original Equipment Manufacturer (OEM) for the latest version.

Pre-installation setting

Please note that Resizable BAR (ReBAR) is currently required to be enabled in the system BIOS on the host platform. For Intel based platforms, this includes most systems based on 10th Generation Intel® Core™ Processors and newer. Follow this link for more on What Is Resizable BAR and How Do I Enable It?. Intel continues to optimize the SW stack to reduce the dependency on ReBAR enabled hosts in future.

Please use below instruction to check Resizable BAR enabled or not.

lspci -v |grep -A8 VGA

Similar information will be showed as below:

03:00.0 VGA compatible controller: Intel Corporation Device 56a0 (rev 08) (prog-if 00 [VGA controller])
        Subsystem: Intel Corporation Device 4905
        Flags: bus master, fast devsel, latency 0, IRQ 182
        Memory at 84000000 (64-bit, non-prefetchable) [size=16M]
        Memory at 4000000000 (64-bit, prefetchable) [size=16G]
        Expansion ROM at 85000000 [disabled] [size=2M]
        Capabilities: <access denied>
        Kernel driver in use: i915
        Kernel modules: i915

With Resizable BAR support, “Memory at 4000000000 (64-bit, prefetchable) [size=16G]” should match the graphics memory size of your Arc GPU.More details, please refer to Arc Specifications

Step 1 Add package repository

To install the repositories.intel.com/graphics package repository, add the following to your Ubuntu installation. Prior to copy/pasting to your console, you may want to run sudo ls and enter your password to prevent the commands from being swallowed by the sudo password prompt:

sudo apt-get install -y gpg-agent wget
wget -qO - https://repositories.intel.com/graphics/intel-graphics.key | \
  sudo gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg
echo 'deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/graphics/ubuntu jammy arc' | \
  sudo tee  /etc/apt/sources.list.d/intel.gpu.jammy.list

The above will make sure your system has gpg-agent and wget installed. It will then download and install the public key used to verify the integrity of the package repository. Finally, it adds the repositories.intel.com/graphics repository to the system.

Step 2 Install Linux kernel

Please install the Ubuntu 5.19.0 kernel (ie “linux-image-5.19.0-35-generic”).

sudo apt-get update && sudo apt-get install  -y --install-suggests  linux-image-5.19.0-35-generic

Update the kernel grub options

sudo sed -i "s/GRUB_DEFAULT=.*/GRUB_DEFAULT=\"1> $(echo $(($(awk -F\' '/menuentry / {print $2}' /boot/grub/grub.cfg \
| grep -no '5.19.0-35' | sed 's/:/\n/g' | head -n 1)-2)))\"/" /etc/default/grub

sudo  update-grub

Reboot the system for these changes to take effect

sudo reboot

If you have enabled Secure Boot in the BIOS, you might get the prompt during the reboot.Please make sure you choose Enroll MOK to make the new kernel to be effective.

Please ensure you are using 5.19.0-35. Then proceed with the below instructions.

uname -r

Install dkms and kernel header files

sudo apt-get update

sudo apt-get -y install \
    gawk \
    dkms \
    linux-headers-$(uname -r) \
    libc6-dev

Step 3 Install DKMS kernel modules

sudo apt-get install -y intel-platform-vsec-dkms intel-platform-cse-dkms
sudo apt-get install -y intel-i915-dkms intel-fw-gpu

Step 4 Install run-time packages

You can install the GPU software packages by running the following:

sudo apt-get install -y gawk libc6-dev udev\
  intel-opencl-icd intel-level-zero-gpu level-zero \
  intel-media-va-driver-non-free libmfx1 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
  • Intel OpenCL™ Offline Compiler (intel-ocloc) is included in intel-opencl-icd.

OPTIONAL: Install developer packages

If you will be doing development, you may want to install optional development packages. oneAPI users will need to install these packages for some of the oneAPI tools to function correctly:

sudo apt-get install -y \
  libigc-dev \
  intel-igc-cm \
  libigdfcl-dev \
  libigfxcmrt-dev \
  level-zero-dev

To support Steam games, please install i386 packages.

sudo dpkg --add-architecture i386 
sudo apt-get update

sudo apt-get install  -y \
	udev mesa-va-drivers:i386 mesa-common-dev:i386 mesa-vulkan-drivers:i386 \
	libd3dadapter9-mesa-dev:i386 libegl1-mesa:i386  libegl1-mesa-dev:i386   \
	libgbm-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev:i386   \
	libgles2-mesa:i386 libgles2-mesa-dev:i386 libosmesa6:i386   \
	libosmesa6-dev:i386 libwayland-egl1-mesa:i386  libxatracker2:i386 \
	libxatracker-dev:i386 mesa-vdpau-drivers:i386  libva-x11-2:i386

Reboot the system for these changes to take effect

sudo reboot

Step 5 Configuring permissions

In order to access GPU capabilities, a user needs to have the correct permissions on system. The following will list the group assigned ownership of the render nodes, and list the groups the active user is a member of:

stat -c "%G" /dev/dri/render*
groups ${USER}

If a group is listed for the render node which isn’t listed for the user, you will need to add the user to the group using gpasswd. In the following, the active user will be added to the ‘render’ group and a new shell spawned with that group active:

sudo gpasswd -a ${USER} render
newgrp render

Step 6 Verify the installations

Verify the device is working with i915 driver

sudo apt-get install hwinfo
hwinfo --display

Similar information will be showed as below:

28: PCI 02.0: 0300 VGA compatible controller (VGA)
  [Created at pci.386]
  Unique ID: _Znp.rCilE76BCCB
  SysFS ID: /devices/pci0000:00/0000:00:02.0
  SysFS BusID: 0000:00:02.0
  Hardware Class: graphics card
  Device Name: "GPU"
  Model: "Intel VGA compatible controller"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x5690
  SubVendor: pci 0x8086 "Intel Corporation"
  SubDevice: pci 0x2081
  Revision: 0x04
  Driver: "i915"
  Driver Modules: "i915"

Verify Media drivers installation

export DISPLAY=:0.0

vainfo

Similar information will be showed as below:

libva info: VA-API version 1.14.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.14 (libva 2.12.0)

Verify Computing drivers installation

sudo apt-get install clinfo
clinfo

Similar information will be showed as below:

Number of platforms                               2
  Platform Name                                   Intel(R) OpenCL HD Graphics
  Platform Vendor                                 Intel(R) Corporation
  Platform Version                                OpenCL 3.0
  Platform Profile                                FULL_PROFILE

Verify 3D drivers installation

Below verification needs a running desktop UI on top of your Linux distribution.

sudo apt-get install mesa-utils
glxinfo |grep OpenGL

Similar information will be showed as below:

OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) Graphics (DG2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 22.2.0-devel (git-44289c46d9)
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 22.2.0-devel (git-44289c46d9)