- 
                Notifications
    You must be signed in to change notification settings 
- Fork 368
Install from Agama
Agama is package repository source created by Intel to provide healthy driver/runtime/application packages. Media stack depends on DRM Kernel, step1&2 below are necessary for Kernel environment setting up. If you intent to run BRC encode cases, step3 is also needed.
Below is the reference to add related package repository source.
sudo dnf install -y 'dnf-command(config-manager)'
sudo dnf config-manager \
  --add-repo \
  https://repositories.intel.com/graphics/rhel/$VERSION$/intel-graphics.repo
Note: the $VERSION$ in command line is Red Hat version, like 8.4, 8.3, etc.
sudo zypper addrepo -r \
  https://repositories.intel.com/graphics/sles/$VERSION$/intel-graphics.repo
Note: the $VERSION$ in command line is SUSE version, like 15sp1, 15sp2, etc.
sudo apt-get install -y gpg-agent wget
wget -qO - https://repositories.intel.com/graphics/intel-graphics.key |
  sudo apt-key add -
sudo apt-add-repository \
  'deb [arch=amd64] https://repositories.intel.com/graphics/ubuntu $CODE_NAME main'
Note: the $CODE_NAME in command line is Ubuntu code name, like bionic, focal, etc.
Media stack packages name are slightly different between SLES/RHEL rpm package and Ubuntu deb packages. The libdrm-dev is also necessary for media stack, but original OSV image always contains suitable libdrm-dev version, so no need to install it specifically. The media-driver package depends on Libva and GmmLib which would be installed automatically once you install media-driver, so no need to explicitly install GmmLib and Libva.
| SLES | RHEL | Ubuntu | |
|---|---|---|---|
| Install steps | $ sudo zypper --no-gpg-checks install -y \ intel-media-driver \ libigfxcmrt7 \ libmfxgen1 \ libvpl2 \ libvpl-tools \ libmfx1 \ libva-utils | $ sudo dnf --nogpgcheck install -y \ intel-media-driver \ intel-mediasdk \ libvpl2 \ libvpl-tools \ libmfxgen1 \ libva-utils | $ sudo apt install -y \ intel-media-va-driver-non-free \ libmfx1 \ libigfxcmrt7 \ libmfxgen1 \ libvpl2 \ libvpl-tools \ vainfo | 
| Agama Media packages | libva2 libva-devel libva-glx2 libva-x11-2 libva-drm2 libva-wayland2 libva-utils intel-media-driver libmfx-utils libmfx-devel libmfx1 libmfxgen1 libigdgmm11 libigdgmm-devel libigfxcmrt7 libigfxcmrt-devel libvpl-devel libvpl-tools libvpl2 | libva libva-devel libva-utils intel-gmmlib intel-gmmlib-devel intel-media-driver intel-media-driver-devel intel-mediasdk intel-mediasdk-devel intel-mediasdk-utils libmfxgen1 libvpl-devel libvpl-tools libvpl2 | libva2 libva-dev libva-drm2 libva-glx2 libva-wayland2 libva-x11-2 va-driver-all vainfo intel-media-va-driver-non-free libigdgmm11 libigdgmm11-dev libigfxcmrt7 libigfxcmrt-dev libmfx1 libmfx-dev libmfx-tools libmfxgen1 libvpl-dev libvpl-tools libvpl2 | 
After media packages installed, there is a helpful application vainfo could provide basic media status. In SLES/RHEL packages, vainfo is combined in libva-utils rpm package. Here is an example on TGL Ubuntu system
$ vainfo
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.7 (libva 2.6.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.1.1 ()
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
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointFEI
      VAProfileHEVCMain               : VAEntrypointEncSliceLP
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointEncSliceLP
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile1            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD
      VAProfileVP9Profile3            : VAEntrypointVLD
      VAProfileHEVCMain12             : VAEntrypointVLD
      VAProfileHEVCMain12             : VAEntrypointEncSlice
      VAProfileHEVCMain422_10         : VAEntrypointVLD
      VAProfileHEVCMain422_10         : VAEntrypointEncSlice
      VAProfileHEVCMain422_12         : VAEntrypointVLD
      VAProfileHEVCMain422_12         : VAEntrypointEncSlice
      VAProfileHEVCMain444            : VAEntrypointVLD
      VAProfileHEVCMain444            : VAEntrypointEncSliceLP
      VAProfileHEVCMain444_10         : VAEntrypointVLD
      VAProfileHEVCMain444_10         : VAEntrypointEncSliceLP
      VAProfileHEVCMain444_12         : VAEntrypointVLD
      VAProfileHEVCSccMain            : VAEntrypointVLD
      VAProfileHEVCSccMain10          : VAEntrypointVLD
      VAProfileHEVCSccMain444         : VAEntrypointVLD
If you want to run an sanity check for media whole stack including GPU RT together, there are couple sample tools available for example as below.
$ sample_decode h265 -i input.265 -o output.yuv -hw
- Build & Install
- GPU HW acceleration enabling
- Known Issues
- Debug Tool