Linux mint , ubuntu で Intel GPU によるVAAPI( ハードウェアアクセラレーション ) を使用できるようにする

VLCで動画を閲覧していた時のCPU使用率が50%と高く、ハードウェアアクセラレーション(動画再生支援)が適切に設定が出来ていないため設定しました。

今回使用した環境

PC:LIVA*1*2

CPU:Celeron N2807

GPU:Intel Atom® プロセッサー Z3700 シリーズ向けインテル® HD グラフィックス

OS:linux mint 19

 

 この方法は Intel のCPUに内蔵されているGPUを使用する場合です。

まず、mpvプレイヤーで再生状況を確認しました。

mpv abcd.mp4 --hwdec=vaapi --vo=opengl
Playing: abcd.mp4
(+) Video --vid=1 (*) (h264 640x360 23.976fps)
(+) Audio --aid=1 --alang=und (*) (aac 2ch 44100Hz)
VO does not support requested hardware decoder, or loading it failed.
AO: [pulse] 44100Hz stereo 2ch float
VO: [opengl] 640x360 yuv420p
AV: 00:00:03 / 00:01:30 (3%) A-V: 0.000 Cache: 9s+5MB

 

VO does not support requested hardware decoder, or loading it failed.

とありますので、ハードウェアアクセラレーションが適切に設定できていないようです。

 vainfo を先ず、インストールします。

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install vainfo 

 

$ vainfo
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

 

 vaInitialize failed with error code -1 (unknown libva error),exit

とありますので、MintやUbuntu VAAPI を利用するためには libva1 と i965-va-driverのインストールが必要です*3*4。libva1はVAAPIのランタイム、i965-va-driverはIntel用のVAAPI ドライバーです。すでにMintではlibva1はインストール済みです

CentOS で VAAPI を利用するためには libva と libva-intel-driver が必要です*5*6

i965-va-driver をインストールします。

今回は、Synapticパッケージマネージャにてインストールしました。

f:id:radiokan:20190120222247j:plain

Synapricパッケージマネージャには検索機能がありますので、「vaapi」 と検索します。

i965-va-driverにチェックボックスにチェックし、適用をクリックしインストールをします。なお上の写真はi965-va-driverインストール後の写真です。コマンドでインストールする場合は「 sudo apt-get install i965-va-driver 」 でインストールできます。

インストール後にvainfoで状況を確認します。

$ vainfo
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.1 (libva 2.1.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Bay Trail - 2.1.0
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
VAProfileJPEGBaseline : VAEntrypointVLD

 

きちんと認識されているようです。VLCのハードウェアアクセラレーションの設定をVAAPI、出力をOpenGLにしました。その結果、CPU使用率も下がりました。

 

 

chromiumもハードウェアアクセラレーションを使用したい場合は下記を見てください。

 

2sc380.hatenablog.com

 

 

 

 

参考になったサイト

kledgeb.blogspot.com

kakurasan.blogspot.com