Skip to content

Troubleshooting

Bartosz Meglicki edited this page Jan 10, 2023 · 6 revisions

VAAPI

Devices

If you have multiple VAAPI devices you may have to specify Intel directly.

Check with:

sudo apt-get install vainfo
# try the devices you have in /dev/dri/ path
vainfo --display drm --device /dev/dri/renderD128

Once you identify your Intel device run the examples, e.g.

./hve-encode-raw-h264 10 h264_vaapi /dev/dri/renderD128
./hve-encode-raw-hevc10 10 hevc_vaapi /dev/dri/renderD128

Drivers

Some devices are supported by more than one driver. Functionality differs.

# list the drivers (typical location)
ls /usr/lib/x86_64-linux-gnu/dri/

You may force the driver to use, e.g.

# in Ubuntu 20.04 there are two drivers supporting Intel between gen8+ and gen9.5
# functionality differ, e.g.
# HEVC encoding support comes later with open source build of iHD (generation wise)
LIBVA_DRIVER_NAME=i965 vainfo --display drm --device /dev/dri/renderD128
LIBVA_DRIVER_NAME=iHD vainfo --display drm --device /dev/dri/renderD128

Example

With support depending on hardware, driver (type and version), libva, and FFmpeg the situation is complex.

For example there are two versions of LattePanda Alpha.
KabyLake m3-7Y30 and AmberLake Y m3-8100Y.

  • m3-7Y30 by default works in Ubuntu 18.04
  • m3-8100Y by default doesn't in Ubuntu 18.04
  • m3-8100Y by default works in Ubuntu 20.04 with iHD driver and without HEVC encoding
  • m3-8100Y with forced i965 driver works in Ubuntu 20.04 with HEVC encoding

So for m3-8100Y and HEVC encoding in Ubuntu 20.04 you would force the driver

LIBVA_DRIVER_NAME=i965 ./hve-encode-raw-hevc10 10 hevc_vaapi /dev/dri/renderD128

Older OS with newer hardware

Ubuntu 18.04 + newer hardware

If you have newer hardware (gen 8+ like m3-8100Y) but have to use Ubuntu 18.04:

  • you may need to install libva and driver from source
  • for iHD driver see instructions by Intel here
    • don't forget missing sudo make install after Build media driver
    • don't forget to force iHD driver with export LIBVA_DRIVER_NAME=iHD
Clone this wiki locally