Skip to content

Install from Agama

Sherry Lin edited this page Apr 23, 2023 · 3 revisions

Agama Package Preparing

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.

  1. step-1-add-package-repository
  2. step-2-install-linux-kernel
  3. step-3-install-intel-gpu-fws

Below is the reference to add related package repository source.

Red Hat

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.

SUSE

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.

Ubuntu

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.

Install Media Stack Packages

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.

                                                                 
SLESRHELUbuntu
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

Validate Media Stack Environment

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
Clone this wiki locally