github intel/linux-npu-driver v1.17.0
Linux NPU Driver v1.17.0

latest releases: v1.23.0, v1.22.0, v1.19.0...
3 months ago

Important

The library name has changed from libze_intel_vpu to libze_intel_npu. Using an older version of Level Zero than v1.17.17 requires using libze_intel_vpu.so.1

Warning

NPU recovery issue after failed inference - #87

Validated on following configuration

Platform System Kernel Firmware
Meteor Lake Ubuntu22.04 LTS 6.8.0-57-generic 20250415*MTL_CLIENT_SILICON-release*1900*ci_tag_ud202518_vpu_rc_20250415_1900*7ef0f3fdb82
Ubuntu24.04 LTS 6.11.0-21-generic 20250415*MTL_CLIENT_SILICON-release*1900*ci_tag_ud202518_vpu_rc_20250415_1900*7ef0f3fdb82
Arrow Lake Ubuntu22.04 LTS 6.8.0-57-generic 20250415*MTL_CLIENT_SILICON-release*1900*ci_tag_ud202518_vpu_rc_20250415_1900*7ef0f3fdb82
Ubuntu24.04 LTS 6.11.0-21-generic 20250415*MTL_CLIENT_SILICON-release*1900*ci_tag_ud202518_vpu_rc_20250415_1900*7ef0f3fdb82
Lunar Lake Ubuntu22.04 LTS 6.8.0-57-generic Apr 15 2025*NPU40xx*ci_tag_ud202518_vpu_rc_20250415_1900*7ef0f3fdb8257a43805f207ecf13491d98963d4f
Ubuntu24.04 LTS 6.11.0-21-generic Apr 15 2025*NPU40xx*ci_tag_ud202518_vpu_rc_20250415_1900*7ef0f3fdb8257a43805f207ecf13491d98963d4f

Common:

Component Version
Level Zero v1.21.9
OpenVINO 2025.1
NPU Compiler npu_ud_2025_18_rc1 built using OpenVINO_rev.cdb0a75
GPU Driver 24.52.32224.5

Installation procedure

  1. Remove old packages
dpkg --purge --force-remove-reinstreq intel-driver-compiler-npu intel-fw-npu intel-level-zero-npu
  1. Download all *.deb package
  • Ubuntu22.04
wget https://github.com/intel/linux-npu-driver/releases/download/v1.17.0/intel-driver-compiler-npu_1.17.0.20250508-14912879441_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.17.0/intel-fw-npu_1.17.0.20250508-14912879441_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.17.0/intel-level-zero-npu_1.17.0.20250508-14912879441_ubuntu22.04_amd64.deb
  • Ubuntu24.04
wget https://github.com/intel/linux-npu-driver/releases/download/v1.17.0/intel-driver-compiler-npu_1.17.0.20250508-14912879441_ubuntu24.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.17.0/intel-fw-npu_1.17.0.20250508-14912879441_ubuntu24.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.17.0/intel-level-zero-npu_1.17.0.20250508-14912879441_ubuntu24.04_amd64.deb

Tip

Since release v1.13.0, there is a checksum.sha256 file in Assets to ensure that the downloaded packages match those available in the repository.

To verify, run:
sha256sum --ignore-missing --check checksum.sha256

  1. Install libtbb12 which is a dependency for intel-driver-compiler-npu
sudo apt update
sudo apt install libtbb12
  1. Install all packages
sudo dpkg -i *.deb
  1. Install Level Zero if it is not in the system
# Check if Level Zero is installed
dpkg -l level-zero

Download and install package if Level Zero is missing

  • Ubuntu22.04
wget https://github.com/oneapi-src/level-zero/releases/download/v1.21.9/level-zero_1.21.9+u22.04_amd64.deb
sudo dpkg -i level-zero*.deb
  • Ubuntu24.04
wget https://github.com/oneapi-src/level-zero/releases/download/v1.21.9/level-zero_1.21.9+u24.04_amd64.deb
sudo dpkg -i level-zero*.deb
  1. Reboot
reboot
# if everything works, we should see /dev/accel/accel0 device
ls /dev/accel/accel0
/dev/accel/accel0
# to receive intel_vpu state
dmesg

User access to the device

As a root user, this step can be skipped.

The new device /dev/accel/accel0 requires manual setting of permissions access.
The accel devices should be in the "render" group in Ubuntu:

# set the render group for accel device
sudo chown root:render /dev/accel/accel0
sudo chmod g+rw /dev/accel/accel0
# add user to the render group
sudo usermod -a -G render <user-name>
# user needs to restart the session to use the new group (log out and log in)

The above steps must be repeated each time module is reloaded or on every reboot.
To avoid manual setup of the group for accel device, the udev rules can be used:

sudo bash -c "echo 'SUBSYSTEM==\"accel\", KERNEL==\"accel*\", GROUP=\"render\", MODE=\"0660\"' > /etc/udev/rules.d/10-intel-vpu.rules"
sudo udevadm control --reload-rules
sudo udevadm trigger --subsystem-match=accel

Tip

In case of NPU is not visible, always check the access to the device with following command:

$ ls -lah /dev/accel/accel0
crw-rw---- 1 root render 261, 0 Mar 22 13:22 /dev/accel/accel0

If render is missing, or crw-rw---- is not set, please repeat the steps to set the access to the device.

Important

For more information check README.md

Don't miss a new linux-npu-driver release

NewReleases is sending notifications on new releases.