Accelerated Video Playback: Difference between revisions

imported>SuperSamus
(Fix link)
imported>Madsrumlenordstrom
m (Changed vaapiIntel to its new package name intel-vaapi-driver. Currently vaapiIntel is aliases to intel-vaapi-driver so in the given example (before my edit) a collision would occur if vaapiIntel was attempted installed along with intel-vaapi-driver.)
Line 3: Line 3:
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>intel-vaapi-driver</code> (previously <code>vaapiIntel</code>) package can be overridden 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.
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.
Line 12: Line 12:
   ...
   ...
   nixpkgs.config.packageOverrides = pkgs: {
   nixpkgs.config.packageOverrides = pkgs: {
     vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
     intel-vaapi-driver = pkgs.intel-vaapi-driver.override { enableHybridCodec = true; };
   };
   };
   hardware.opengl = {
   hardware.opengl = {
Line 18: Line 18:
     extraPackages = with pkgs; [
     extraPackages = with pkgs; [
       intel-media-driver # LIBVA_DRIVER_NAME=iHD
       intel-media-driver # LIBVA_DRIVER_NAME=iHD
       vaapiIntel        # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
       intel-vaapi-driver # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
       vaapiVdpau
       vaapiVdpau
       libvdpau-va-gl
       libvdpau-va-gl
     ];
     ];
   };
   };
  environment.sessionVariables = { LIBVA_DRIVER_NAME = "iHD"; }; # Force intel-media-driver
   ...
   ...
}
}
Line 29: Line 30:
32 bit example:
32 bit example:
<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ vaapiIntel ];
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ intel-vaapi-driver ];
</syntaxhighlight>
</syntaxhighlight>