「ハードウェアビデオアクセラレーション」の版間の差分
(同期) |
(同期) |
||
26行目: | 26行目: | ||
! {{pkg|libva-mesa-driver}} |
! {{pkg|libva-mesa-driver}} |
||
! {{pkg|libva-vdpau-driver}} |
! {{pkg|libva-vdpau-driver}} |
||
− | ! [[AMD Catalyst#ビデオアクセラレーション| |
+ | ! [[AMD Catalyst#ビデオアクセラレーション|Catalyst XvBA]] |
|- |
|- |
||
! colspan=5 | デコード |
! colspan=5 | デコード |
||
201行目: | 201行目: | ||
'''オープンソースドライバー''': |
'''オープンソースドライバー''': |
||
− | * [[ATI |
+ | * [[ATI]]/[[AMDGPU]] Radeon 9500 以降の GPU が {{pkg|libva-mesa-driver}} と {{pkg|mesa}}、または {{pkg|libva-vdpau-driver}} によってサポートされます ([[#VDPAU のインストール|VDPAU のインストール]]を参照)。 |
* [[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 デコーディング]]を参照。 |
||
208行目: | 208行目: | ||
'''プロプライエタリドライバー''': |
'''プロプライエタリドライバー''': |
||
+ | * AMD 製カードはドライバーによって異なります: |
||
− | * [[AMD Catalyst|AMD]] Radeon HD 4000 シリーズ以降の GPU が [[AMD Catalyst#ビデオアクセラレーション|xvba]] によってサポートされます。 |
||
+ | ** [[AMD Catalyst]] は [[AMD Catalyst#ビデオアクセラレーション|xvba]] を使用します。 |
||
+ | ** [[AMDGPU PRO]] は {{pkg|libva-vdpau-driver}} と {{AUR|amdgpu-pro-vdpau}} を使用します ([[AMDGPU#AMDGPU PRO]] を参照)。 |
||
* [[NVIDIA]] GeForce 8 シリーズ以降の GPU が {{pkg|libva-vdpau-driver}} によってサポートされます ([[#VDPAU のインストール|VDPAU のインストール]]を参照)。 |
* [[NVIDIA]] GeForce 8 シリーズ以降の GPU が {{pkg|libva-vdpau-driver}} によってサポートされます ([[#VDPAU のインストール|VDPAU のインストール]]を参照)。 |
||
215行目: | 217行目: | ||
'''オープンソースドライバー''': |
'''オープンソースドライバー''': |
||
− | * [[ATI |
+ | * [[ATI]]/[[AMDGPU]] Radeon 9500 以降の GPU が {{pkg|mesa-vdpau}} によってサポートされます。 |
* [[Intel]] GMA 4500 シリーズ以降の GPU が {{pkg|libvdpau-va-gl}} によってサポートされます ([[#VA-API のインストール|VA-API のインストール]]を参照)。 |
* [[Intel]] GMA 4500 シリーズ以降の GPU が {{pkg|libvdpau-va-gl}} によってサポートされます ([[#VA-API のインストール|VA-API のインストール]]を参照)。 |
||
* [[Nouveau|NVIDIA]] GeForce 8 シリーズ以降の GPU が {{pkg|mesa-vdpau}} によってサポートされます。NVIDIA のバイナリドライバーから抽出したファームウェアが含まれている {{AUR|nouveau-fw}} が必要です [http://nouveau.freedesktop.org/wiki/VideoAcceleration/#firmware]。 |
* [[Nouveau|NVIDIA]] GeForce 8 シリーズ以降の GPU が {{pkg|mesa-vdpau}} によってサポートされます。NVIDIA のバイナリドライバーから抽出したファームウェアが含まれている {{AUR|nouveau-fw}} が必要です [http://nouveau.freedesktop.org/wiki/VideoAcceleration/#firmware]。 |
||
221行目: | 223行目: | ||
'''プロプライエタリドライバー''': |
'''プロプライエタリドライバー''': |
||
+ | * AMD 製カードはドライバーによって異なります: |
||
− | * [[AMD Catalyst|AMD]] Radeon HD 4000 シリーズ以降の GPU が {{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]] を参照)。 |
||
* [[NVIDIA]] GeForce 400 シリーズ以降の GPU が {{pkg|nvidia-utils}} によってサポートされます。 |
* [[NVIDIA]] GeForce 400 シリーズ以降の GPU が {{pkg|nvidia-utils}} によってサポートされます。 |
||
** GeForce 8/9 や GeForce 100-300 シリーズの GPU は {{pkg|nvidia-340xx-utils}} によってサポートされています。 |
** GeForce 8/9 や GeForce 100-300 シリーズの GPU は {{pkg|nvidia-340xx-utils}} によってサポートされています。 |
||
239行目: | 243行目: | ||
=== VA-API の確認 === |
=== VA-API の確認 === |
||
− | VA-API の設定は {{ |
+ | VA-API の設定は {{Pkg|libva-utils}} パッケージに含まれている {{ic|vainfo}} を実行することで確認できます: |
{{hc|$ vainfo|<nowiki> |
{{hc|$ vainfo|<nowiki> |
||
335行目: | 339行目: | ||
{{Note| |
{{Note| |
||
− | * インストールされているドライバーは {{ic|/usr/lib/dri/}} ディレクトリを見ることで確認できます。 |
+ | * インストールされているドライバーは {{ic|/usr/lib/dri/}} ディレクトリを見ることで確認できます。{{ic|/usr/lib/vdpau/'''${LIBVA_DRIVER_NAME}'''_drv_video.so}} として使われます。 |
+ | * 一部のドライバーは互換性を保つために異なる名前を使っていることがあります。{{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}} を提供しています。 |
||
}} |
}} |
||
350行目: | 355行目: | ||
{{Note| |
{{Note| |
||
− | * インストールされているドライバーは {{ic|/usr/lib/vdpau/}} ディレクトリを見ることで確認できます。 |
+ | * インストールされているドライバーは {{ic|/usr/lib/vdpau/}} ディレクトリを見ることで確認できます。{{ic|/usr/lib/vdpau/libvdpau_'''${VDPAU_DRIVER}'''.so}} として使われます。 |
+ | * 一部のドライバーは互換性を保つために異なる名前を使っていることがあります。{{ic|sha1sum /usr/lib/vdpau/*}} を実行することで確認できます。 |
||
* ハイブリッド構成 (NVIDIA と AMD の両方のカードが搭載されている) 場合、{{ic|1=DRI_PRIME=1}} を[[環境変数|設定]]する必要があるかもしれません。詳しくは [[PRIME]] を参照。}} |
* ハイブリッド構成 (NVIDIA と AMD の両方のカードが搭載されている) 場合、{{ic|1=DRI_PRIME=1}} を[[環境変数|設定]]する必要があるかもしれません。詳しくは [[PRIME]] を参照。}} |
||
2017年8月23日 (水) 22:07時点における版
関連記事
ビデオカードで動画をデコード・エンコードするハードウェアビデオアクセラレーションを活用することで、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 | libva-vdpau-driver | Catalyst XvBA | |
---|---|---|---|---|
デコード | ||||
MPEG2 | GMA 4500 以降 | Radeon HD 4000 以降 | ||
MPEG4 | Radeon HD 6000 以降 | |||
H.264 | GMA 45001, Ironlake Graphics 以降 | Radeon HD 4000 以降 | ||
HEVC (H.265) | Cherryview/Braswell 以降 | |||
VC1 | Sandy Bridge Graphics 以降 | Radeon HD 4000 以降 | ||
VP8 | Broadwell 以降 | |||
VP9 | Broxton 以降 | |||
エンコード | ||||
MPEG2 | Ivy Bridge Graphics 以降 | |||
H.264 | Sandy Bridge Graphics 以降 | |||
HEVC (H.265) | Skylake 以降 | |||
VP8 | Cherryview/Braswell 以降 | |||
VP9 | Kaby Lake 以降 |
mesa-vdpau | libvdpau-va-gl | amdgpu-pro-vdpauAUR | nvidia-utils | |
---|---|---|---|---|
デコード | ||||
MPEG2 | Radeon 9500 以降, GeForce 8 以降 | GeForce 8 以降 | ||
MPEG4 | Radeon HD 6000 以降, GeForce 200 以降 | GeForce 200 以降 | ||
H.264 | Radeon HD 4000 以降, GeForce 8 以降 | GeForce 8 and newer | ||
HEVC (H.265) | GeForce 9004 以降 | |||
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 は除外。
あなたの GPU でどのプロファイルがサポートされているか知る方法は確認を見てください。
amdgpu-pro-vdpauAUR パッケージについては AMDGPU#AMDGPU PRO を見てください。
ソフトウェア
VA-API | VDPAU | |
---|---|---|
GStreamer | ✓ (gstreamer-vaapi を使用、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] |
インストール
使用しているビデオカードのメーカーにあわせて適切なドライバーを選択してください:
- 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 デコーディングを参照。
- 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 400 シリーズ以降の GPU が nvidia-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 を使用するようにメディアプレイヤーを設定することで良い結果を得られる可能性があります。ソフトウェアを参照。