Accelerated Video Playback: Difference between revisions
imported>Asymmetric improve mpv config |
imported>Primeos m Add the driver names for the two Intel drivers |
||
Line 17: | Line 17: | ||
enable = true; | enable = true; | ||
extraPackages = with pkgs; [ | extraPackages = with pkgs; [ | ||
vaapiIntel | intel-media-driver # LIBVA_DRIVER_NAME=iHD | ||
vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium) | |||
vaapiVdpau | vaapiVdpau | ||
libvdpau-va-gl | libvdpau-va-gl | ||
]; | ]; | ||
}; | }; |
Revision as of 12:54, 4 September 2020
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; [
intel-media-driver # LIBVA_DRIVER_NAME=iHD
vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
vaapiVdpau
libvdpau-va-gl
];
};
...
}
32 bit example:
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ vaapiIntel ];
Prepared Hardware configuration
Sometimes different opengl packages are required to achieve full performance. You can check different configuration repositories for similar hardware configuration:
Testing your configuration
You can test your configuration by running: nix-shell -p libva-utils --run vainfo
See Hardware video acceleration: Verification (Arch Wiki) for more information.
Applications
Chromium
See Chromium.
MPV
You can place the following configuration in ~/.config/mpv/mpv.conf
for mpv to use hardware acceleration for VP9 on Intel Broadwell (and probably later):
hwdec=auto-safe
vo=gpu
profile=gpu-hq
With Wayland, you need to nudge mpv to do the right thing:
gpu-context=wayland
This is based on the archlinux MPV article.
Other
See the Arch Linux wiki.