Accelerated Video Playback: Difference between revisions
imported>Mic92 mpv: video acceleration |
imported>Colemickens add info about intel-media-driver |
||
Line 1: | Line 1: | ||
This page is meant to help with techniques for getting accelerated video playback working in NixOS. | This page is meant to help with techniques for getting accelerated video playback working in NixOS. This is generally done via libva and vaapi (and sometimes vdpau). | ||
This is done by adding relevant <code>libva</code>-related packages to the <code>hardware.opengl.extraPackages</code> option. | This is done by adding relevant <code>libva</code>-related packages to the <code>hardware.opengl.extraPackages</code> option. | ||
Additionally, the <code>vaapiIntel</code> package can be overriden to enable [https://github.com/01org/intel-hybrid-driver Intel's Hybrid Driver]. | Additionally, the <code>vaapiIntel</code> package can be overriden to enable [https://github.com/01org/intel-hybrid-driver Intel's Hybrid Driver]. | ||
Intel users also can enable <code>intel-media-driver</code>. It can be used at runtime with <code>LIBVA_DRIVER_NAME=iHD mpv ...</code> for example, if you use Mic92's mpv settings below. | |||
Sample configuration: | Sample configuration: | ||
Line 18: | Line 20: | ||
vaapiVdpau | vaapiVdpau | ||
libvdpau-va-gl | libvdpau-va-gl | ||
intel-media-driver | |||
]; | ]; | ||
}; | }; |
Revision as of 06:16, 18 February 2019
This page is meant to help with techniques for getting accelerated video playback working in NixOS. This is generally done via libva and vaapi (and sometimes vdpau).
This is done by adding relevant libva
-related packages to the hardware.opengl.extraPackages
option.
Additionally, the vaapiIntel
package can be overriden to enable Intel's Hybrid Driver.
Intel users also can enable intel-media-driver
. It can be used at runtime with LIBVA_DRIVER_NAME=iHD mpv ...
for example, if you use Mic92's mpv settings below.
Sample configuration:
{ ... nixpkgs.config.packageOverrides = pkgs: { vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; }; hardware.opengl = { enable = true; extraPackages = with pkgs; [ vaapiIntel vaapiVdpau libvdpau-va-gl intel-media-driver ]; }; ... }
Prepared Hardware configuration
Sometimes different opengl packages are required to achieve full performance. You can check different configuration repositories for similar hardware configuration:
Applications
Chromium
Needs a patch for VA-API support, see nixpkgs#21481 for current status.
MPV
@Mic92 needed the following configuration in ~/.mpv/config
for mpv to use hardware acceleration for VP9 on Intel Broadwell:
hwdec=vaapi
vo=gpu
hwdec-codecs=all
This is based on the archlinux MPV article.
Other
See the Arch Linux wiki.