「ハードウェアビデオアクセラレーション」の版間の差分
Kusakata.bot (トーク | 投稿記録) 細 (文字列「http://nouveau.freedesktop.org/」を「https://nouveau.freedesktop.org/」に置換) |
(同期) |
||
| 20行目: | 20行目: | ||
{{note|ドライバーの選択については[[#インストール|インストール]]を見てください。}} |
{{note|ドライバーの選択については[[#インストール|インストール]]を見てください。}} |
||
| − | {| class="wikitable" style="width: |
+ | {| class="wikitable" style="width:100%;text-align:center;" |
|+ VA-API |
|+ VA-API |
||
! |
! |
||
! {{pkg|libva-intel-driver}} [https://github.com/01org/intel-vaapi-driver/blob/master/README] |
! {{pkg|libva-intel-driver}} [https://github.com/01org/intel-vaapi-driver/blob/master/README] |
||
! {{pkg|libva-mesa-driver}} |
! {{pkg|libva-mesa-driver}} |
||
| − | ! {{pkg|libva-vdpau-driver}} |
||
! [[AMD Catalyst#ビデオアクセラレーション|Catalyst XvBA]] |
! [[AMD Catalyst#ビデオアクセラレーション|Catalyst XvBA]] |
||
| + | ! {{pkg|libva-vdpau-driver}}<br>(VDPAU アダプタ) |
||
|- |
|- |
||
! colspan=5 | デコード |
! colspan=5 | デコード |
||
|- |
|- |
||
! MPEG2 |
! MPEG2 |
||
| − | | GMA 4500 以降 |
+ | | {{G|GMA 4500 以降}} |
| + | | {{G|Radeon HD 4000 以降}} |
||
| − | | <center>?</center> |
||
| + | | {{G|Radeon HD 4000 以降}} |
||
| − | | rowspan=7 | <center>VDPAU を参照。</center> |
||
| + | | rowspan=5 | VDPAU を参照。 |
||
| − | | Radeon HD 4000 以降 |
||
|- |
|- |
||
! MPEG4 |
! MPEG4 |
||
| − | | |
+ | | {{R|✗}} |
| <center>?</center> |
| <center>?</center> |
||
| − | | Radeon HD 6000 以降 |
+ | | {{G|Radeon HD 6000 以降}} |
|- |
|- |
||
! H.264 |
! H.264 |
||
| − | | GMA 4500<sup>1</sup>, Ironlake Graphics 以降 |
+ | | {{G|GMA 4500<sup>1</sup>, Ironlake Graphics 以降}} |
| + | | {{G|Radeon HD 4000 以降}} |
||
| − | | <center>?</center> |
||
| − | | Radeon HD 4000 以降 |
+ | | {{G|Radeon HD 4000 以降}} |
|- |
|- |
||
! HEVC (H.265) |
! HEVC (H.265) |
||
| − | | Cherryview/Braswell 以降 |
+ | | {{G|Cherryview/Braswell 以降}} |
| + | | {{G|Radeon HD 6000 以降}} |
||
| − | | <center>?</center> |
||
| + | | {{R|✗}} |
||
| − | | <center>?</center> |
||
|- |
|- |
||
! VC1 |
! VC1 |
||
| − | | Sandy Bridge Graphics 以降 |
+ | | {{G|Sandy Bridge Graphics 以降}} |
| + | | {{G|Radeon HD 4000 以降}} |
||
| − | | <center>?</center> |
||
| − | | Radeon HD 4000 以降 |
+ | | {{G|Radeon HD 4000 以降}} |
|- |
|- |
||
! VP8 |
! VP8 |
||
| − | | Broadwell 以降 |
+ | | {{G|Broadwell 以降}} |
| + | | ? |
||
| − | | <center>?</center> |
||
| + | | {{R|✗}} |
||
| − | | <center>?</center> |
||
| + | | rowspan=2 style="background:#faa;" | ✗ |
||
|- |
|- |
||
! VP9 |
! VP9 |
||
| − | | Broxton 以降 |
+ | | {{G|Broxton 以降}} |
| + | | ? |
||
| − | | <center>?</center> |
||
| + | | {{R|✗}} |
||
| − | | <center>?</center> |
||
|- |
|- |
||
! colspan=5 | エンコード |
! colspan=5 | エンコード |
||
|- |
|- |
||
! MPEG2 |
! MPEG2 |
||
| − | | Ivy Bridge Graphics 以降 |
+ | | {{G|Ivy Bridge Graphics 以降}} |
| + | | ? |
||
| − | | <center>?</center> |
||
| − | | rowspan=5 | |
+ | | rowspan=5 style="background:#faa;" | ✗ |
| + | | rowspan=5 style="background:#faa;" | ✗ |
||
| − | | <center>✗</center> |
||
|- |
|- |
||
! H.264 |
! H.264 |
||
| − | | Sandy Bridge Graphics 以降 |
+ | | {{G|Sandy Bridge Graphics 以降}} |
| + | | {{G|Radeon HD 4000 以降}} |
||
| − | | <center>?</center> |
||
| − | | <center>✗</center> |
||
|- |
|- |
||
! HEVC (H.265) |
! HEVC (H.265) |
||
| − | | Skylake 以降 |
+ | | {{G|Skylake 以降}} |
| + | | ? |
||
| − | | <center>?</center> |
||
| − | | <center>?</center> |
||
|- |
|- |
||
! VP8 |
! VP8 |
||
| − | | Cherryview/Braswell 以降 |
+ | | {{G|Cherryview/Braswell 以降}} |
| + | | ? |
||
| − | | <center>?</center> |
||
| − | | <center>?</center> |
||
|- |
|- |
||
! VP9 |
! VP9 |
||
| − | | Kaby Lake 以降 |
+ | | {{G|Kaby Lake 以降}} |
| + | | ? |
||
| − | | <center>?</center> |
||
| − | | <center>?</center> |
||
|- |
|- |
||
|} |
|} |
||
| − | {| class="wikitable" style="width: |
+ | {| class="wikitable" style="width:100%;text-align:center;" |
|+ VDPAU |
|+ VDPAU |
||
! |
! |
||
! {{pkg|mesa-vdpau}} |
! {{pkg|mesa-vdpau}} |
||
| − | ! {{pkg|libvdpau-va-gl}} |
||
| − | ! {{aur|amdgpu-pro-vdpau}} |
||
! {{pkg|nvidia-utils}} |
! {{pkg|nvidia-utils}} |
||
| + | ! {{aur|amdgpu-pro-vdpau}} |
||
| + | ! {{pkg|libvdpau-va-gl}}<br>(VA-API アダプタ) |
||
|- |
|- |
||
|- |
|- |
||
| 108行目: | 105行目: | ||
|- |
|- |
||
! MPEG2 |
! MPEG2 |
||
| − | | Radeon 9500 以降, GeForce 8 以降 |
+ | | {{G|Radeon 9500 以降, GeForce 8 以降}} |
| + | | {{G|GeForce 8 以降}} |
||
| − | | rowspan=2 | <center>✗<sup>2</sup></center> |
||
| + | | rowspan=5 | ? |
||
| − | | <center>?</center> |
||
| + | | rowspan=2 style="background:#faa;" | ✗<sup>2</sup> |
||
| − | | GeForce 8 以降 |
||
|- |
|- |
||
! MPEG4 |
! MPEG4 |
||
| − | | Radeon HD 6000 以降, GeForce 200 以降 |
+ | | {{G|Radeon HD 6000 以降, GeForce 200 以降}} |
| + | | {{G|GeForce 200 以降}} |
||
| − | | <center>?</center> |
||
| − | | GeForce 200 以降 |
||
|- |
|- |
||
! H.264 |
! H.264 |
||
| − | | Radeon HD 4000 以降, GeForce 8 以降 |
+ | | {{G|Radeon HD 4000 以降, GeForce 8 以降}} |
| + | | {{G|GeForce 8 以降}} |
||
| − | | <center>VA-API を参照。</center> |
||
| + | | VA-API を参照。 |
||
| − | | <center>?</center> |
||
| − | | GeForce 8 and newer |
||
|- |
|- |
||
! HEVC (H.265) |
! HEVC (H.265) |
||
| + | | {{G|1=[https://cgit.freedesktop.org/mesa/mesa/commit/src/gallium/state_trackers/vdpau/decode.c?id=5609a6986f3eb3c452d66d373b6081df5c6fb34c ✓]}} |
||
| − | | <center>✗</center> |
||
| − | | |
+ | | {{G|GeForce 900<sup>4</sup> 以降}} |
| + | | rowspan=4 style="background:#faa;" | ✗<sup>2</sup> |
||
| − | | <center>?</center> |
||
| − | | GeForce 900<sup>4</sup> 以降 |
||
|- |
|- |
||
! VC1 |
! VC1 |
||
| − | | Radeon HD 4000 以降, GeForce 8<sup>3</sup> 以降 |
+ | | {{G|Radeon HD 4000 以降, GeForce 8<sup>3</sup> 以降}} |
| + | | {{G|GeForce 8<sup>3</sup> 以降}} |
||
| − | | <center>?</center> |
||
| − | | GeForce 8<sup>3</sup> 以降 |
||
|- |
|- |
||
|} |
|} |
||
| 141行目: | 134行目: | ||
* <sup>3</sup> GeForce 8800 Ultra, 8800 GTX, 8800 GTS (320/640 MB) は[[Wikipedia:Nvidia PureVideo|除外]]。 |
* <sup>3</sup> GeForce 8800 Ultra, 8800 GTX, 8800 GTS (320/640 MB) は[[Wikipedia:Nvidia PureVideo|除外]]。 |
||
* <sup>4</sup> GeForce GTX 970 と GTX 980 は除外。 |
* <sup>4</sup> GeForce GTX 970 と GTX 980 は除外。 |
||
| + | |||
| + | {| class="wikitable" style="text-align:center;" |
||
| + | |+ Nvidia NVDEC/NVENC ([[NVIDIA]] のみ) |
||
| + | ! |
||
| + | ! デコード (NVDEC) |
||
| + | ! エンコード (NVENC) |
||
| + | |- |
||
| + | ! MPEG-2 |
||
| + | | {{G|✓}} |
||
| + | | {{R|✗}} |
||
| + | |- |
||
| + | ! VC-1 |
||
| + | | {{G|✓}} |
||
| + | | {{R|✗}} |
||
| + | |- |
||
| + | ! H.264 |
||
| + | | {{G|✓}} |
||
| + | | {{G|✓}} |
||
| + | |- |
||
| + | ! HEVC (H.265) |
||
| + | | {{G|Pascal 以降}} |
||
| + | | {{G|Pascal 以降}} |
||
| + | |- |
||
| + | ! VP8 |
||
| + | | {{G|Maxwell2 以降}} |
||
| + | | {{R|✗}} |
||
| + | |- |
||
| + | ! VP9 |
||
| + | | {{G|Pascal 以降}} |
||
| + | | {{R|✗}} |
||
| + | |- |
||
| + | |} |
||
あなたの GPU でどのプロファイルがサポートされているか知る方法は[[#確認|確認]]を見てください。 |
あなたの GPU でどのプロファイルがサポートされているか知る方法は[[#確認|確認]]を見てください。 |
||
| 148行目: | 173行目: | ||
=== ソフトウェア === |
=== ソフトウェア === |
||
| − | {| class="wikitable" style="width: |
+ | {| class="wikitable" style="width:100%;" |
! |
! |
||
! VA-API |
! VA-API |
||
! VDPAU |
! VDPAU |
||
| + | ! NVDEC/NVENC |
||
|- |
|- |
||
! [[GStreamer]] |
! [[GStreamer]] |
||
| − | | ✓ ({{pkg|gstreamer-vaapi}} を使用、[[GStreamer#ハードウェアアクセラレーション]]を参照) |
+ | | {{G|✓ ({{pkg|gstreamer-vaapi}} を使用、[[GStreamer#ハードウェアアクセラレーション]]を参照)}} |
| − | | ✓ ({{pkg|gst-plugins-bad}} を使用、[[GStreamer#ハードウェアアクセラレーション]]を参照) |
+ | | {{G|✓ ({{pkg|gst-plugins-bad}} を使用、[[GStreamer#ハードウェアアクセラレーション]]を参照)}} |
| + | | {{G|✓ ({{pkg|gst-plugins-bad}} を使用、[[GStreamer#ハードウェアアクセラレーション]]を参照)}} |
||
|- |
|- |
||
! [[VLC media player]] |
! [[VLC media player]] |
||
| − | | ✓ ([[VLC media player#ハードウェアアクセラレーションのサポート]]を参照) |
+ | | {{G|✓ ([[VLC media player#ハードウェアアクセラレーションのサポート]]を参照)}} |
| − | | ✓ ([[VLC media player#ハードウェアアクセラレーションのサポート]]を参照) |
+ | | {{G|✓ ([[VLC media player#ハードウェアアクセラレーションのサポート]]を参照)}} |
| + | | {{R|✗}} |
||
|- |
|- |
||
! [[mpv]] |
! [[mpv]] |
||
| − | | ✓ ([[mpv#ハードウェアデコード]]を参照) |
+ | | {{G|✓ ([[mpv#ハードウェアデコード]]を参照)}} |
| − | | ✓ ([[mpv#ハードウェアデコード]]を参照) |
+ | | {{G|✓ ([[mpv#ハードウェアデコード]]を参照)}} |
| + | | {{G|✓}} |
||
|- |
|- |
||
! [[MPlayer]] |
! [[MPlayer]] |
||
| − | | ✓ ({{aur|mplayer-vaapi}} を使用、[[MPlayer#VA-API を有効にする]]を参照) |
+ | | {{G|✓ ({{aur|mplayer-vaapi}} を使用、[[MPlayer#VA-API を有効にする]]を参照)}} |
| − | | ✓ ([[MPlayer#VDPAU を有効にする]]を参照) |
+ | | {{G|✓ ([[MPlayer#VDPAU を有効にする]]を参照)}} |
| + | | {{R|✗}} |
||
|- |
|- |
||
! [[Flash]] |
! [[Flash]] |
||
| − | | ✓ ({{pkg|libvdpau-va-gl}} を使用、[[Flash#設定]]を参照) |
+ | | {{G|✓ ({{pkg|libvdpau-va-gl}} を使用、[[Flash#設定]]を参照)}} |
| − | | ✓ ([[Flash#設定]]を参照) |
+ | | {{G|✓ ([[Flash#設定]]を参照)}} |
| + | | {{R|✗}} |
||
|- |
|- |
||
! [[Kodi]] |
! [[Kodi]] |
||
| − | | ✓ |
+ | | {{G|✓}} |
| − | | ✓ |
+ | | {{G|✓}} |
| + | | {{G|✓}} |
||
|- |
|- |
||
! [[Firefox]] |
! [[Firefox]] |
||
| − | | colspan=2 | ✗ [https://bugzilla.mozilla.org/show_bug.cgi?id=1210726] [https://bugzilla.mozilla.org/show_bug.cgi?id=1210727] [https://bugzilla.mozilla.org/show_bug.cgi?id=563206] |
+ | | colspan=2 style="background:#faa; text-align: center;" | ✗ [https://bugzilla.mozilla.org/show_bug.cgi?id=1210726] [https://bugzilla.mozilla.org/show_bug.cgi?id=1210727] [https://bugzilla.mozilla.org/show_bug.cgi?id=563206] |
| + | | {{R|✗}} |
||
| + | |- |
||
| + | ! [[Chromium]] |
||
| + | | {{Y|[https://chromium-review.googlesource.com/c/chromium/src/+/532294 開発中] ({{AUR|chromium-vaapi}})}} |
||
| + | | {{R|✗}} |
||
| + | | {{R|✗}} |
||
| + | |- |
||
| + | ! [[FFmpeg]] |
||
| + | | {{G|✓}} |
||
| + | | {{G|✓}} |
||
| + | | {{G|✓}} |
||
|} |
|} |
||
| 204行目: | 247行目: | ||
* [[Intel]] GMA 4500 シリーズ以降の GPU が {{pkg|libva-intel-driver}} と {{pkg|mesa}} によってサポートされます。 |
* [[Intel]] GMA 4500 シリーズ以降の GPU が {{pkg|libva-intel-driver}} と {{pkg|mesa}} によってサポートされます。 |
||
** GMA 4500 でより良いサポートを得るには {{aur|libva-intel-driver-g45-h264}} を使ってください。詳しくは [[Intel#GMA 4500 での H.264 デコーディング]]を参照。 |
** GMA 4500 でより良いサポートを得るには {{aur|libva-intel-driver-g45-h264}} を使ってください。詳しくは [[Intel#GMA 4500 での H.264 デコーディング]]を参照。 |
||
| + | ** Broadwell, Skylake, Kabylake, Apollolake, Canonlake 向けに新しいユーザーモードドライバーが Intel によって開発されています: {{aur|intel-media-driver}}。 |
||
* [[Nouveau|NVIDIA]] GeForce 8 シリーズ以降の GPU が {{pkg|libva-vdpau-driver}} によってサポートされます ([[#VDPAU のインストール|VDPAU のインストール]]を参照)。 |
* [[Nouveau|NVIDIA]] GeForce 8 シリーズ以降の GPU が {{pkg|libva-vdpau-driver}} によってサポートされます ([[#VDPAU のインストール|VDPAU のインストール]]を参照)。 |
||
| 226行目: | 270行目: | ||
** [[AMD Catalyst]] は {{pkg|libvdpau-va-gl}} を使用します ([[#VA-API のインストール|VA-API のインストール]]を参照)。 |
** [[AMD Catalyst]] は {{pkg|libvdpau-va-gl}} を使用します ([[#VA-API のインストール|VA-API のインストール]]を参照)。 |
||
** [[AMDGPU PRO]] は {{AUR|amdgpu-pro-vdpau}} を使用します ([[AMDGPU#AMDGPU PRO]] を参照)。 |
** [[AMDGPU PRO]] は {{AUR|amdgpu-pro-vdpau}} を使用します ([[AMDGPU#AMDGPU PRO]] を参照)。 |
||
| − | * [[NVIDIA]] GeForce |
+ | * [[NVIDIA]] GeForce 600 シリーズ以降の GPU が {{pkg|nvidia-utils}} によってサポートされます。 |
| + | ** GeForce 400/500 シリーズは {{pkg|nvidia-390xx-utils}} によってサポートされています。 |
||
** GeForce 8/9 や GeForce 100-300 シリーズの GPU は {{pkg|nvidia-340xx-utils}} によってサポートされています。 |
** GeForce 8/9 や GeForce 100-300 シリーズの GPU は {{pkg|nvidia-340xx-utils}} によってサポートされています。 |
||
| 234行目: | 279行目: | ||
* ハードウェアアクセラレーションをテストするときは [[mpv#ハードウェアデコード|mpv]] が向いています。 |
* ハードウェアアクセラレーションをテストするときは [[mpv#ハードウェアデコード|mpv]] が向いています。 |
||
* [[Radeon]] の場合、以下のコマンドでドライバーの名前を確認できます: |
* [[Radeon]] の場合、以下のコマンドでドライバーの名前を確認できます: |
||
| − | {{hc|$ |
+ | {{hc|$ grep -iE 'vdpau {{!}} dri driver' ~/.local/share/xorg/Xorg.0.log| |
(II) RADEON(0): [DRI2] DRI driver: radeonsi |
(II) RADEON(0): [DRI2] DRI driver: radeonsi |
||
(II) RADEON(0): [DRI2] VDPAU driver: radeonsi |
(II) RADEON(0): [DRI2] VDPAU driver: radeonsi |
||
}} |
}} |
||
上記の場合、VA-API と VDPAU の両方で {{ic|radeonsi}} が使えます。 |
上記の場合、VA-API と VDPAU の両方で {{ic|radeonsi}} が使えます。 |
||
| + | * [[GDM]] を使っている場合は {{ic|journalctl -b {{!}} grep -iE 'vdpau {{!}} dri driver'}} を実行してください。 |
||
}} |
}} |
||
| 283行目: | 329行目: | ||
}} |
}} |
||
| − | あなたのカードを使ってデコードできるフォーマットが |
+ | あなたのカードを使ってデコードできるフォーマットが {{ic|VAEntrypointVLD}} で、エンコードできるフォーマットが {{ic|VAEntrypointEncSlice}} で示されます。 |
上の例では、以下の行があることから {{ic|i965}} ドライバーが使われていることが確認できます: |
上の例では、以下の行があることから {{ic|i965}} ドライバーが使われていることが確認できます: |
||
| − | + | libva info: Trying to open /usr/lib/dri/'''i965'''_drv_video.so |
|
{{ic|vainfo}} を実行したときに以下のようなエラーが表示される場合: |
{{ic|vainfo}} を実行したときに以下のようなエラーが表示される場合: |
||
| 298行目: | 344行目: | ||
{{pkg|vdpauinfo}} をインストールしてから、以下のコマンドを実行してください。VDPAU ドライバーがロードされていることや、現在の設定が確認できます: |
{{pkg|vdpauinfo}} をインストールしてから、以下のコマンドを実行してください。VDPAU ドライバーがロードされていることや、現在の設定が確認できます: |
||
| − | {{hc| |
+ | {{hc|$ vdpauinfo|<nowiki> |
display: :0 screen: 0 |
display: :0 screen: 0 |
||
API version: 1 |
API version: 1 |
||
| 339行目: | 385行目: | ||
{{Note| |
{{Note| |
||
| − | * インストールされているドライバーは {{ic|/usr/lib/dri/}} ディレクトリを見ることで確認できます。{{ic|/usr/lib/ |
+ | * インストールされているドライバーは {{ic|/usr/lib/dri/}} ディレクトリを見ることで確認できます。{{ic|/usr/lib/dri/'''${LIBVA_DRIVER_NAME}'''_drv_video.so}} として使われます。 |
* 一部のドライバーは互換性を保つために異なる名前を使っていることがあります。{{ic|sha1sum /usr/lib/dri/*}} を実行することで確認できます。 |
* 一部のドライバーは互換性を保つために異なる名前を使っていることがあります。{{ic|sha1sum /usr/lib/dri/*}} を実行することで確認できます。 |
||
* バージョン 12.0.1 から {{Pkg|libva-mesa-driver}} は {{ic|gallium}} の代わりとして {{ic|radeonsi}} を提供しています。 |
* バージョン 12.0.1 から {{Pkg|libva-mesa-driver}} は {{ic|gallium}} の代わりとして {{ic|radeonsi}} を提供しています。 |
||
| 366行目: | 412行目: | ||
VA-API を使用するようにメディアプレイヤーを設定することで良い結果を得られる可能性があります。[[#ソフトウェア|ソフトウェア]]を参照。 |
VA-API を使用するようにメディアプレイヤーを設定することで良い結果を得られる可能性があります。[[#ソフトウェア|ソフトウェア]]を参照。 |
||
| + | |||
| + | === VAAPI init failed === |
||
| + | |||
| + | エラーは {{ic|libva: /usr/lib/dri/i965_drv_video.so init failed}} という行で確認できます。[[Wayland]] が正しく認識されていないことが原因で発生します。{{ic|$DISPLAY}} の設定を解除することで mpv, mplayer, VLC などは X11 であると誤認しないようになります。mpv の場合は {{ic|1=--opengl-backend=wayland}} パラメータを追加することでも解決できます。 |
||
2018年6月17日 (日) 22:25時点における版
関連記事
ビデオカードで動画をデコード・エンコードするハードウェアビデオアクセラレーションを活用することで、CPU の負担を下げて電力を節約することができます。
Linux でハードウェアアクセラレーションを利用する方法は複数存在します:
- Video Acceleration API (VA-API) はハードウェア支援による動画エンコード・デコードの両方を実現するオープンソースライブラリです。Intel によって開発されました。
- Video Decode and Presentation API for Unix (VDPAU) は GPU ビデオハードウェアに動画のデコードやポストプロセス処理をオフロードするオープンソースのライブラリです。NVIDIA によって開発されました。
- X-Video Motion Compensation (XvMC) は動画のデコード処理を動画プログラムから GPU ビデオハードウェアにオフロードできる X.Org サーバーの拡張です。
目次
対応状況
フォーマット
| libva-intel-driver [1] | libva-mesa-driver | Catalyst XvBA | libva-vdpau-driver (VDPAU アダプタ) | |
|---|---|---|---|---|
| デコード | ||||
| MPEG2 | GMA 4500 以降 | Radeon HD 4000 以降 | Radeon HD 4000 以降 | VDPAU を参照。 |
| MPEG4 | ✗ | Radeon HD 6000 以降 | ||
| H.264 | GMA 45001, Ironlake Graphics 以降 | Radeon HD 4000 以降 | Radeon HD 4000 以降 | |
| HEVC (H.265) | Cherryview/Braswell 以降 | Radeon HD 6000 以降 | ✗ | |
| VC1 | Sandy Bridge Graphics 以降 | Radeon HD 4000 以降 | Radeon HD 4000 以降 | |
| VP8 | Broadwell 以降 | ? | ✗ | ✗ |
| VP9 | Broxton 以降 | ? | ✗ | |
| エンコード | ||||
| MPEG2 | Ivy Bridge Graphics 以降 | ? | ✗ | ✗ |
| H.264 | Sandy Bridge Graphics 以降 | Radeon HD 4000 以降 | ||
| HEVC (H.265) | Skylake 以降 | ? | ||
| VP8 | Cherryview/Braswell 以降 | ? | ||
| VP9 | Kaby Lake 以降 | ? | ||
| mesa-vdpau | nvidia-utils | amdgpu-pro-vdpauAUR | libvdpau-va-gl (VA-API アダプタ) | |
|---|---|---|---|---|
| デコード | ||||
| MPEG2 | Radeon 9500 以降, GeForce 8 以降 | GeForce 8 以降 | ? | ✗2 |
| MPEG4 | Radeon HD 6000 以降, GeForce 200 以降 | GeForce 200 以降 | ||
| H.264 | Radeon HD 4000 以降, GeForce 8 以降 | GeForce 8 以降 | VA-API を参照。 | |
| HEVC (H.265) | ✓ | GeForce 9004 以降 | ✗2 | |
| VC1 | Radeon HD 4000 以降, GeForce 83 以降 | GeForce 83 以降 | ||
- 1 libva-intel-driver-g45-h264AUR パッケージによってサポートされています。
- 2 バージョン 0.3 現在、VA GL ドライバーは H.264 以外のハードウェアデコーダをサポートしていません。
- 3 GeForce 8800 Ultra, 8800 GTX, 8800 GTS (320/640 MB) は除外。
- 4 GeForce GTX 970 と GTX 980 は除外。
| デコード (NVDEC) | エンコード (NVENC) | |
|---|---|---|
| MPEG-2 | ✓ | ✗ |
| VC-1 | ✓ | ✗ |
| H.264 | ✓ | ✓ |
| HEVC (H.265) | Pascal 以降 | Pascal 以降 |
| VP8 | Maxwell2 以降 | ✗ |
| VP9 | Pascal 以降 | ✗ |
あなたの GPU でどのプロファイルがサポートされているか知る方法は確認を見てください。
amdgpu-pro-vdpauAUR パッケージについては AMDGPU#AMDGPU PRO を見てください。
ソフトウェア
| VA-API | VDPAU | NVDEC/NVENC | |
|---|---|---|---|
| GStreamer | ✓ (gstreamer-vaapi を使用、GStreamer#ハードウェアアクセラレーションを参照) | ✓ (gst-plugins-bad を使用、GStreamer#ハードウェアアクセラレーションを参照) | ✓ (gst-plugins-bad を使用、GStreamer#ハードウェアアクセラレーションを参照) |
| VLC media player | ✓ (VLC media player#ハードウェアアクセラレーションのサポートを参照) | ✓ (VLC media player#ハードウェアアクセラレーションのサポートを参照) | ✗ |
| mpv | ✓ (mpv#ハードウェアデコードを参照) | ✓ (mpv#ハードウェアデコードを参照) | ✓ |
| MPlayer | ✓ (mplayer-vaapiAUR を使用、MPlayer#VA-API を有効にするを参照) | ✓ (MPlayer#VDPAU を有効にするを参照) | ✗ |
| Flash | ✓ (libvdpau-va-gl を使用、Flash#設定を参照) | ✓ (Flash#設定を参照) | ✗ |
| Kodi | ✓ | ✓ | ✓ |
| Firefox | ✗ [2] [3] [4] | ✗ | |
| Chromium | 開発中 (chromium-vaapiAUR) | ✗ | ✗ |
| FFmpeg | ✓ | ✓ | ✓ |
インストール
使用しているビデオカードのメーカーにあわせて適切なドライバーを選択してください:
- Intel Graphics の場合は VA-API を使用してください。
- NVIDIA 製のカードの場合は VDPAU を使用してください。
- AMD 製のカードの場合は両方とも使うことができます (mesa を使用)。
VA-API と VDPAU それぞれに対して以下のドライバーも存在します:
- libva-vdpau-driver は VDPAU を VA-API のバックエンドとして使用します。
- libvdpau-va-gl は VA-API を VDPAU のバックエンドとして使用します。
2007年以前のカードについては XvMC を参照してください。
VA-API のインストール
オープンソースドライバー:
- ATI/AMDGPU Radeon 9500 以降の GPU が libva-mesa-driver と mesa、または libva-vdpau-driver によってサポートされます (VDPAU のインストールを参照)。
- Intel GMA 4500 シリーズ以降の GPU が libva-intel-driver と mesa によってサポートされます。
- GMA 4500 でより良いサポートを得るには libva-intel-driver-g45-h264AUR を使ってください。詳しくは Intel#GMA 4500 での H.264 デコーディングを参照。
- Broadwell, Skylake, Kabylake, Apollolake, Canonlake 向けに新しいユーザーモードドライバーが Intel によって開発されています: intel-media-driverAUR。
- NVIDIA GeForce 8 シリーズ以降の GPU が libva-vdpau-driver によってサポートされます (VDPAU のインストールを参照)。
プロプライエタリドライバー:
- AMD 製カードはドライバーによって異なります:
- AMD Catalyst は xvba を使用します。
- AMDGPU PRO は libva-vdpau-driver と amdgpu-pro-vdpauAUR を使用します (AMDGPU#AMDGPU PRO を参照)。
- NVIDIA GeForce 8 シリーズ以降の GPU が libva-vdpau-driver によってサポートされます (VDPAU のインストールを参照)。
VDPAU のインストール
オープンソースドライバー:
- ATI/AMDGPU Radeon 9500 以降の GPU が mesa-vdpau によってサポートされます。
- Intel GMA 4500 シリーズ以降の GPU が libvdpau-va-gl によってサポートされます (VA-API のインストールを参照)。
- NVIDIA GeForce 8 シリーズ以降の GPU が mesa-vdpau によってサポートされます。NVIDIA のバイナリドライバーから抽出したファームウェアが含まれている nouveau-fwAUR が必要です [5]。
プロプライエタリドライバー:
- AMD 製カードはドライバーによって異なります:
- AMD Catalyst は libvdpau-va-gl を使用します (VA-API のインストールを参照)。
- AMDGPU PRO は amdgpu-pro-vdpauAUR を使用します (AMDGPU#AMDGPU PRO を参照)。
- NVIDIA GeForce 600 シリーズ以降の GPU が nvidia-utils によってサポートされます。
- GeForce 400/500 シリーズは nvidia-390xx-utils によってサポートされています。
- GeForce 8/9 や GeForce 100-300 シリーズの GPU は nvidia-340xx-utils によってサポートされています。
確認
VA-API の確認
VA-API の設定は libva-utils パッケージに含まれている vainfo を実行することで確認できます:
$ vainfo
libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.39 (libva 1.7.3)
vainfo: Driver version: Intel i965 driver for Intel(R) Skylake - 1.7.3
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileH264MultiviewHigh : VAEntrypointVLD
VAProfileH264MultiviewHigh : VAEntrypointEncSlice
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileH264StereoHigh : VAEntrypointEncSlice
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicturehttp://img.2chan.net/b/futaba.php?mode=cat
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileVP8Version0_3 : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
あなたのカードを使ってデコードできるフォーマットが VAEntrypointVLD で、エンコードできるフォーマットが VAEntrypointEncSlice で示されます。
上の例では、以下の行があることから i965 ドライバーが使われていることが確認できます:
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
vainfo を実行したときに以下のようなエラーが表示される場合:
libva info: va_openDriver() returns -1 vaInitialize failed with error code -1 (unknown libva error),exit
適切なドライバーを設定する必要があります。VA-API の設定を見てください。
VDPAU の確認
vdpauinfo をインストールしてから、以下のコマンドを実行してください。VDPAU ドライバーがロードされていることや、現在の設定が確認できます:
$ vdpauinfo
display: :0 screen: 0 API version: 1 Information string: G3DVL VDPAU Driver Shared Library version 1.0 Video surface: name width height types ------------------------------------------- 420 16384 16384 NV12 YV12 422 16384 16384 UYVY YUYV 444 16384 16384 Y8U8V8A8 V8U8Y8A8 Decoder capabilities: name level macbs width height ---------------------------------------------------- MPEG1 --- not supported --- MPEG2_SIMPLE 3 9216 2048 1152 MPEG2_MAIN 3 9216 2048 1152 H264_BASELINE 41 9216 2048 1152 H264_MAIN 41 9216 2048 1152 H264_HIGH 41 9216 2048 1152 VC1_SIMPLE 1 9216 2048 1152 VC1_MAIN 2 9216 2048 1152 VC1_ADVANCED 4 9216 2048 1152 ..
設定
VA-API の設定
VA-API のドライバーは自動で認識されます [6]。使用されているドライバーを確認する方法は確認を見てください。LIBVA_DRIVER_NAME 環境変数を設定することで使用するドライバーを上書きできます:
- Intel Graphics の場合
i965に設定してください。 - NVIDIA 製のカードの場合
vdpauに設定してください。 - AMD 製のカードの場合
radeonsiまたはvdpauに設定してください。
VDPAU の設定
VDPAU で使用されるドライバーは自動的に認識されますが、VDPAU_DRIVER 環境変数を使うことで上書きすることができます。
使用しているビデオドライバーにあわせて適切なドライバーの名前を指定してください:
- Intel Graphics や AMD Catalyst の場合
va_glに設定する必要があります。 - オープンソースの AMD/ATI ドライバーの場合、使用している GPU にあわせて適切なドライバーを設定してください。確認を参照。
- NVIDIA のプロプライエタリドライバーの場合は
nvidiaに設定してください。
トラブルシューティング
Failed to open VDPAU backend
libvdpau-va-gl を使用している場合に VDPAU_DRIVER を上書きしないと発生するエラーです。何らかの理由で VDPAU が使用するドライバーを正しく認識できていません。VDPAU の設定を見てください。
VA-API を使用するようにメディアプレイヤーを設定することで良い結果を得られる可能性があります。ソフトウェアを参照。
VAAPI init failed
エラーは libva: /usr/lib/dri/i965_drv_video.so init failed という行で確認できます。Wayland が正しく認識されていないことが原因で発生します。$DISPLAY の設定を解除することで mpv, mplayer, VLC などは X11 であると誤認しないようになります。mpv の場合は --opengl-backend=wayland パラメータを追加することでも解決できます。