Skip to content

Linux NPU Driver v1.1.0

Compare
Choose a tag to compare
@jwludzik jwludzik released this 24 Nov 10:39

Components revisions included in the release

Tested components

Installation procedure on Ubuntu22.04

  1. Remove old packages
dpkg --purge --force-remove-reinstreq intel-driver-compiler-npu intel-fw-npu intel-level-zero-npu level-zero
  1. Download all *.deb packages
wget https://github.com/intel/linux-npu-driver/releases/download/v1.1.0/intel-driver-compiler-npu_1.1.0.20231117-6904283384_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.1.0/intel-fw-npu_1.1.0.20231117-6904283384_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.1.0/intel-level-zero-npu_1.1.0.20231117-6904283384_ubuntu22.04_amd64.deb
wget https://github.com/oneapi-src/level-zero/releases/download/v1.10.0/level-zero_1.10.0+u22.04_amd64.deb
  1. Install all packages
dpkg -i *.deb

Warning

The NPU driver v1.1.0 requires to use level-zero v1.10.0 version.
To check what is installed, run:

$ dpkg -l level-zero
ii  level-zero     1.10.0       amd64        oneAPI Level Zero

This issue will be solved in next driver release and any level-zero loader can be used.

After successful installation of packages, we recommend to do the machine reboot.
After that, the intel_vpu module should work properly with firmware from intel-fw-npu package.

reboot
# if everything works, we should see /dev/accel/accel0 device
ls /dev/accel/accel0
# to receive intel_vpu state, check dmesg
dmesg

User access to the device

If you are using the root user, this step can be skipped.

The new device /dev/accel/accel0 requires to set manually permission 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

Warning

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 Jan 31 15:58 /dev/accel/accel0

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

Additional information

The kernel driver intel_vpu can be found here.

See also