Accelerated Video Playback: Difference between revisions
"See also" section |
Copy edit |
||
Line 1: | Line 1: | ||
Accelerated video playback in NixOS is generally done by adding relevant packages to {{nixos:option|hardware.opengl.extraPackages}}. | |||
== Installation == | |||
=== Intel === | |||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | |||
{ | { | ||
hardware.opengl = { | hardware.opengl = { | ||
enable = true; | enable = true; | ||
extraPackages = with pkgs; [ | extraPackages = with pkgs; [ | ||
intel-media-driver # LIBVA_DRIVER_NAME=iHD | intel-media-driver # For Broadwell or newer processors. LIBVA_DRIVER_NAME=iHD | ||
intel-vaapi-driver # LIBVA_DRIVER_NAME=i965 | intel-vaapi-driver # For older processors. LIBVA_DRIVER_NAME=i965 | ||
]; | ]; | ||
}; | }; | ||
environment.sessionVariables = { LIBVA_DRIVER_NAME = "iHD"; }; # | environment.sessionVariables = { LIBVA_DRIVER_NAME = "iHD"; }; # Optionally, set the environment variable | ||
} | } | ||
</ | </nowiki>}} | ||
For 32-bit support, use {{nixos:option|hardware.opengl.extraPackages32}}: | |||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | |||
{ | |||
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ intel-vaapi-driver ]; | |||
} | |||
</nowiki>}} | |||
=== AMD === | |||
AMD configuration (at least for Ryzen 5 iGPUs) works out of the box: | |||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | |||
{ | { | ||
hardware.opengl.enable = true; | hardware.opengl.enable = true; | ||
} | } | ||
</ | </nowiki>}} | ||
== Testing your configuration == | == Testing your configuration == | ||
You can test your configuration by running: <code>nix-shell -p libva-utils --run vainfo</code> | You can test your configuration by running: <code>nix-shell -p libva-utils --run vainfo</code> | ||
See [https://wiki.archlinux.org/index.php/Hardware_video_acceleration#Verification Hardware video acceleration | See [https://wiki.archlinux.org/index.php/Hardware_video_acceleration#Verification Arch Linux wiki#Hardware video acceleration] for more information. | ||
== Applications == | == Applications == | ||
===Chromium=== | === Chromium === | ||
See [[Chromium#Enable GPU accelerated video decoding (VA-API) | See [[Chromium#Enable GPU accelerated video decoding (VA-API)]]. | ||
=== Firefox === | === Firefox === | ||
See [https://wiki.archlinux.org/index.php/Firefox#Hardware_video_acceleration Firefox | See [https://wiki.archlinux.org/index.php/Firefox#Hardware_video_acceleration Arch Linux wiki#Firefox]. | ||
=== | === MPV === | ||
You can place the following configuration in | You can place the following configuration in {{ic|~/.config/mpv/mpv.conf}}: | ||
<syntaxHighlight lang=ini> | <syntaxHighlight lang=ini> | ||
Line 66: | Line 53: | ||
vo=gpu | vo=gpu | ||
profile=gpu-hq | profile=gpu-hq | ||
gpu-context=wayland ; On wayland only | |||
</syntaxHighlight> | </syntaxHighlight> | ||
See [https://wiki.archlinux.org/title/mpv#Hardware_video_acceleration Arch Linux wiki#mpv]. | |||
== Also see == | == Also see == | ||
* [https://wiki.archlinux.org/index.php/Hardware_video_acceleration Arch Linux wiki#Hardware video acceleration]. | * [https://wiki.archlinux.org/index.php/Hardware_video_acceleration Arch Linux wiki#Hardware video acceleration]. | ||
* [https://github.com/NixOS/nixos-hardware nixOS-hardware] contains example configuration for different hardware. |
Revision as of 04:15, 8 April 2024
Accelerated video playback in NixOS is generally done by adding relevant packages to hardware.opengl.extraPackages
.
Installation
Intel
/etc/nixos/configuration.nix
{
hardware.opengl = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver # For Broadwell 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
}
For 32-bit support, use hardware.opengl.extraPackages32
:
/etc/nixos/configuration.nix
{
hardware.opengl.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#Enable GPU accelerated video decoding (VA-API).
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 contains example configuration for different hardware.