-
Notifications
You must be signed in to change notification settings - Fork 347
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