Accelerated Video Playback: Difference between revisions
hardware.graphics -> hardware.opengl |
Fixed Broadwell year 2015 to 2014 and added a note for intel-vaapi-driver to be used instead of intel-media-driiver for Skylake if users want to prioritize browser performance. |
||
Line 8: | Line 8: | ||
enable = true; | enable = true; | ||
extraPackages = with pkgs; [ | extraPackages = with pkgs; [ | ||
intel-media-driver # For Broadwell ( | intel-media-driver # For Broadwell (2014) or newer processors. LIBVA_DRIVER_NAME=iHD | ||
intel-vaapi-driver # For older processors. LIBVA_DRIVER_NAME=i965 | intel-vaapi-driver # For older processors. LIBVA_DRIVER_NAME=i965 | ||
]; | ]; | ||
Line 15: | Line 15: | ||
} | } | ||
</nowiki>}} | </nowiki>}} | ||
Note, <code>intel-vaapi-driver</code> still performs better for browsers (gecko/chromium based) on newer Skylake (2015) processors.<ref>https://github.com/intel/media-driver/issues/1024</ref> | |||
For 32-bit support, use {{nixos:option|hardware.graphics.extraPackages32}}: | For 32-bit support, use {{nixos:option|hardware.graphics.extraPackages32}}: | ||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | {{file|/etc/nixos/configuration.nix|nix|<nowiki> |
Revision as of 06:49, 27 June 2024
Accelerated video playback in NixOS is generally done by adding relevant packages to hardware.opengl.extraPackages
.
Installation
Intel
/etc/nixos/configuration.nix
{
hardware.graphics = { # hardware.opengl in 24.05 and older
enable = true;
extraPackages = with pkgs; [
intel-media-driver # For Broadwell (2014) or newer processors. LIBVA_DRIVER_NAME=iHD
intel-vaapi-driver # For older processors. LIBVA_DRIVER_NAME=i965
];
};
environment.sessionVariables = { LIBVA_DRIVER_NAME = "iHD"; }; # Optionally, set the environment variable
}
Note, intel-vaapi-driver
still performs better for browsers (gecko/chromium based) on newer Skylake (2015) processors.[1]
For 32-bit support, use hardware.graphics.extraPackages32
:
/etc/nixos/configuration.nix
{
# hardware.opengl.extraPackages32 in 24.05
hardware.graphics.extraPackages32 = with pkgs.pkgsi686Linux; [ intel-vaapi-driver ];
}
AMD
AMD configuration (at least for Ryzen 5 iGPUs) works out of the box:
/etc/nixos/configuration.nix
{
hardware.opengl.enable = true;
}
Testing your configuration
You can test your configuration by running: nix-shell -p libva-utils --run vainfo
See Arch Linux wiki#Hardware video acceleration for more information.
Applications
Chromium
See Chromium#Accelerated_video_playback.
Firefox
MPV
You can place the following configuration in ~/.config/mpv/mpv.conf
:
hwdec=auto-safe
vo=gpu
profile=gpu-hq
gpu-context=wayland ; On wayland only
See Arch Linux wiki#mpv.
Also see
- Arch Linux wiki#Hardware video acceleration.
- nixos-hardware has example configurations for various types of hardware.