Skip to content

Testing hardware acceleration with an intel graphics card

This instructions have been tested in Ubuntu 24.04 (LTS):

$ sudo apt install vainfo

$ vainfo

libva info: VA-API version 1.20.0

libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so

libva info: Found init function __vaDriverInit_1_20

libva info: va_openDriver() returns 0

vainfo: VA-API version: 1.20 (libva 2.12.0)

vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.1.0 ()

vainfo: Supported profile and entrypoints

  VAProfileMPEG2Simple            : VAEntrypointVLD

  VAProfileMPEG2Main              : VAEntrypointVLD

  VAProfileH264Main               : VAEntrypointVLD

  VAProfileH264Main               : VAEntrypointEncSliceLP

  VAProfileH264High               : VAEntrypointVLD

  VAProfileH264High               : VAEntrypointEncSliceLP

  VAProfileJPEGBaseline           : VAEntrypointVLD

  VAProfileJPEGBaseline           : VAEntrypointEncPicture

  VAProfileH264ConstrainedBaseline: VAEntrypointVLD

  VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP

  VAProfileVP8Version0\_3          : VAEntrypointVLD

  VAProfileHEVCMain               : VAEntrypointVLD

  VAProfileHEVCMain10             : VAEntrypointVLD

  VAProfileVP9Profile0            : VAEntrypointVLD

  VAProfileVP9Profile2            : VAEntrypointVLD

The fact that there are so little supported profile and entrypoints is due to the free intel driver. Let's replace it with the non-free version:

$ sudo apt install intel-media-va-driver-non-free

$ vainfo

libva info: VA-API version 1.20.0

libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so

libva info: Found init function __vaDriverInit_1_20

libva info: va_openDriver() returns 0

vainfo: VA-API version: 1.20 (libva 2.12.0)

vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.1.0 ()

vainfo: Supported profile and entrypoints

VAProfileNone                   : VAEntrypointVideoProc

VAProfileNone                   : VAEntrypointStats

VAProfileMPEG2Simple            : VAEntrypointVLD

VAProfileMPEG2Simple            : VAEntrypointEncSlice

VAProfileMPEG2Main              : VAEntrypointVLD

VAProfileMPEG2Main              : VAEntrypointEncSlice

VAProfileH264Main               : VAEntrypointVLD

VAProfileH264Main               : VAEntrypointEncSlice

VAProfileH264Main               : VAEntrypointFEI

VAProfileH264Main               : VAEntrypointEncSliceLP

VAProfileH264High               : VAEntrypointVLD

VAProfileH264High               : VAEntrypointEncSlice

VAProfileH264High               : VAEntrypointFEI

VAProfileH264High               : VAEntrypointEncSliceLP

VAProfileVC1Simple              : VAEntrypointVLD

VAProfileVC1Main                : VAEntrypointVLD

VAProfileVC1Advanced            : VAEntrypointVLD

VAProfileJPEGBaseline           : VAEntrypointVLD

VAProfileJPEGBaseline           : VAEntrypointEncPicture

VAProfileH264ConstrainedBaseline: VAEntrypointVLD

VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice

VAProfileH264ConstrainedBaseline: VAEntrypointFEI

VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP

VAProfileVP8Version0\_3          : VAEntrypointVLD

VAProfileVP8Version0\_3          : VAEntrypointEncSlice

VAProfileHEVCMain               : VAEntrypointVLD

VAProfileHEVCMain               : VAEntrypointEncSlice

VAProfileHEVCMain               : VAEntrypointFEI

VAProfileHEVCMain10             : VAEntrypointVLD

VAProfileHEVCMain10             : VAEntrypointEncSlice

VAProfileVP9Profile0            : VAEntrypointVLD

VAProfileVP9Profile2            : VAEntrypointVLD

Now, we need to install intel_gpu_top to be able to monitor gpu usage:

$ sudo apt install intel-gpu-tools

Run and keep it open in a terminal. You should see Video reporting over 0%

$ sudo intel_gpu_top

This command needs to run without errors, in order for programs to take advantage of the hardware acceleration:

$ sudo apt install vdpauinfo

$ vdpauinfo

You will probably have to use run it like this:

$ VDPAU_DRIVER=va_gl LIBVA_DRIVER_NAME=iHD vdpauinfo

display: :0 screen: 0

Failed to open VDPAU backend libvdpau_va_gl.so: cannot open shared object file: No such file or directory

Error creating VDPAU device: 1

This error is due to missing libraries, let's install them:

$ sudo apt install libvdpau-va-gl1

$ VDPAU_DRIVER=va_gl LIBVA_DRIVER_NAME=iHD vdpauinfo

If this runs well, add the following line to /etc/environment

LIBVA_DRIVER_NAME=iHD VDPAU_DRIVER=va_gl

To use the new setup you will have to logout and login, or just restart.

Testing the setup

$ mpv --hwdec=vaapi h264-file-to-test

You should see in the command intel_gpu_top that Video shows a bigger number than 0%

Now when you run a video from youtube in firefox, you should still see the Video being higher than 0%. If you don't install the extension h264ify and it will force the H264 format and allow for an easy acceleration