Para garantir a compatibilidade do ambiente de compilação, utilize um compilador GCC/G++ na versão 4.8 ou superiro. O processo é estruturado na preparação das dependências gráficas e na construção final do kit de desenvolvimento.
1. Configuração da Biblioteca libva
A camada VA-API é necessária para comunicação com o driver de vídeo. Clone o repositório, gere os scripts de configuração e compile os binários:
git clone https://github.com/intel/libva.git
cd libva
./autogen.sh
./configure --prefix=/usr/local
make -j$(nproc)
sudo make install
sudo cp -r /usr/local/include/va/* /usr/include/
sudo cp /usr/local/lib/libva* /usr/lib64/
2. Compilação do GmmLib
O GmmLib gerencia buffers de memória e dispositivos para o runtime gráfico. Embora seja possível instalá-lo automaticamente, a compilação menual asegura que as bibliotecas estáticas e dinâmicas sejam vinculadas corretamente ao driver.
export WS_DIR=~/intel_workspace
mkdir -p ${WS_DIR} && cd ${WS_DIR}
git clone https://github.com/intel/gmmlib.git
mkdir gmm_build && cd gmm_build
cmake ../gmmlib -DCMAKE_BUILD_TYPE=Release -DARCH=64
make -j$(nproc)
Exporte os artefatos gerados para o diretório de bibliotecas do sistema:
sudo cp ../gmmlib/Source/GmmLib/libgmm_umd.a /usr/lib64/
sudo cp ../gmmlib/Source/GmmLib/libigdgmm64.so /usr/lib64/
sudo cp ../gmmlib/Source/GmmLib/libigfx_gmmumd_excite.a /usr/lib64/
sudo cp ../gmmlib/Source/GmmLib/libigfxgmmumd.a /usr/lib64/
3. Instalação do Intel Media Driver (VAAPI)
Este driver habilita a aceleração de hardware para decodificação, codificação e pós-processamento em arquiteturas Intel Gen. Instale as ferramentas de desenvolvimento requeridas:
sudo apt-get install autoconf libtool libdrm-dev xorg xorg-dev openbox libx11-dev libgl1-mesa-glx libgl1-mesa-dev pkg-config
No diretório de trabalho, clone o driver e execute a configuração unificada:
cd ${WS_DIR}
git clone https://github.com/intel/media-driver.git
mkdir drv_build && cd drv_build
cp ../media-driver/unified_cmake.sh .
chmod +x unified_cmake.sh
./unified_cmake.sh
make -j$(nproc)
sudo make install
Caso o CMake interrompa a configuração reportando dependências não localizadas em FindPkgConfig.cmake, edite o módulo correspondente em /usr/local/share/cmake-*/Modules/ e altere o valor da variável _pkg_check_modules_failed de 1 para 0. Em seguida, reinicie o script de configuração.
Validação e Ajuste de Caminhos
O SDK pode referenciar um driver desatualizado. Substitua o binário padrão pelo recém-compilado:
export MEDIA_SDK_LIB=/usr/intel/mediasdk/lib64
sudo cp /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so ${MEDIA_SDK_LIB}/
Valide o carregamento correto utilizando a ferramenta de inspeção:
vainfo
A saída deve confirmar a versão da API, reconhecer o driver iHD e listar os perfis habilitados (HEVC, AVC, VP8, JPEG, etc.). Se o sistema retornar erros relacionados a __vaDriverInit, verifique se o caminho de substituição foi aplicado corretamente.
4. Construção do Intel Media SDK
O kit fornece interfaces para acesso direto aos recursos de vídeo acelerados. Os requisitos de sistema incluem Git com suporte a LFS, Perl 5.16+, CMake e as bibliotecas previamente configuradas.
git clone https://github.com/Intel-Media-SDK/MediaSDK.git
cd MediaSDK
Configure o ambiente de compilação utilizando o script padrão do repositório:
perl tools/builder/build_mfx.pl --cmake=intel64.make.release
Se o processo falhar devido à ausência de módulos de configuração do VTune, crie a estrutura de diretórios e copie os arquivos de definição:
mkdir -p /usr/intel/mediasdk/builder/
cp -r builder/* /usr/intel/mediasdk/builder/
Execute novamente o comando de configuração e inicie a geração dos binários e exemplos:
make -j$(nproc) -C __cmake/intel64.make.release
Para utilizar o conjunto de ferramentas Clang, substitua o argumento de configuração por intel64.make.release.clang e mantenha o mesmo comando de construção.