Accelerated Video Playback/ru: Difference between revisions
Created page with "Для поддержки 32-битной версии используйте" |
Updating to match new version of source page Tags: Mobile edit Mobile web edit |
||
| (14 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
<div | <div class="mw-translate-fuzzy"> | ||
Ускорение воспроизведения видео в NixOS обычно осуществляется путем добавления соответствующих пакетов в | |||
{{nixos:option|hardware.opengl.extraPackages}}. | |||
</div> | </div> | ||
== | <span id="Installation"></span> | ||
== Установка == | |||
=== Intel === | === Intel === | ||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | {{file|/etc/nixos/configuration.nix|nix|<nowiki> | ||
{ | { | ||
hardware.graphics = { | pkgs, | ||
... | |||
}: | |||
{ | |||
hardware.graphics = { | |||
enable = true; | enable = true; | ||
extraPackages = with pkgs; [ | extraPackages = with pkgs; [ | ||
intel-media-driver # For Broadwell (2014) or newer processors. LIBVA_DRIVER_NAME=iHD | intel-media-driver # For Broadwell (2014) or newer processors. LIBVA_DRIVER_NAME=iHD | ||
vpl-gpu-rt # For QSV/VPL API support on Tiger Lake (2020) or newer processors. | |||
intel-vaapi-driver # For older processors. LIBVA_DRIVER_NAME=i965 | intel-vaapi-driver # For older processors. LIBVA_DRIVER_NAME=i965 | ||
]; | ]; | ||
}; | }; | ||
environment.sessionVariables = { LIBVA_DRIVER_NAME = "iHD"; }; # Optionally, set the environment variable | environment.sessionVariables = { | ||
LIBVA_DRIVER_NAME = "iHD"; | |||
}; # Optionally, set the environment variable | |||
} | } | ||
</nowiki>}} | </nowiki>|name=|lang=}} | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
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> | 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> | ||
| Line 23: | Line 36: | ||
Для поддержки 32-битной версии используйте {{nixos:option|hardware.graphics.extraPackages32}}: | Для поддержки 32-битной версии используйте {{nixos:option|hardware.graphics.extraPackages32}}: | ||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | {{file|/etc/nixos/configuration.nix|nix|<nowiki> | ||
{ | { | ||
pkgs, | |||
... | |||
}: | |||
{ | |||
hardware.graphics.extraPackages32 = with pkgs.pkgsi686Linux; [ intel-vaapi-driver ]; | hardware.graphics.extraPackages32 = with pkgs.pkgsi686Linux; [ intel-vaapi-driver ]; | ||
} | } | ||
</nowiki>}} | </nowiki>}} | ||
=== AMD === | === AMD === | ||
Конфигурация AMD (по крайней мере, для iGPU Ryzen 5) работает из коробки: | Конфигурация AMD (по крайней мере, для iGPU Ryzen 5) работает из коробки: | ||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | {{file|/etc/nixos/configuration.nix|nix|<nowiki> | ||
{ | { | ||
hardware. | hardware.graphics.enable = true; | ||
} | } | ||
</nowiki>}} | </nowiki>}} | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
=== NVIDIA === | |||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
NVIDIA do not officially support accelerated video playback on Linux. A third-party implementation exists, but does not support Chrome<ref>https://github.com/elFarto/nvidia-vaapi-driver#chrome</ref>, and has significant limitations compared to the other implementations<ref>https://github.com/elFarto/nvidia-vaapi-driver#codec-support</ref>. | |||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
NVIDIA users with a separate iGPU should generally prefer to use their iGPU for this, and therefore look to the above Intel and AMD sections instead. | |||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
Users with only an NVIDIA GPU can attempt to use the third party implementation; the package is added to <code>hardware.graphics.extraPackages</code> by default, but it requires some additional setup to be useful<ref>https://github.com/elFarto/nvidia-vaapi-driver#configuration</ref>: | |||
</div> | |||
{{file|3=<nowiki> | |||
{ | |||
config, | |||
lib, | |||
... | |||
}: | |||
{ | |||
environment.variables.LIBVA_DRIVER_NAME = "nvidia"; | |||
# If used with Firefox | |||
environment.variables.MOZ_DISABLE_RDD_SANDBOX = "1"; | |||
programs.firefox.preferences = | |||
let | |||
ffVersion = config.programs.firefox.package.version; | |||
in | |||
{ | |||
"media.ffmpeg.vaapi.enabled" = lib.versionOlder ffVersion "137.0.0"; | |||
"media.hardware-video-decoding.force-enabled" = lib.versionAtLeast ffVersion "137.0.0"; | |||
"media.rdd-ffmpeg.enabled" = lib.versionOlder ffVersion "97.0.0"; | |||
"gfx.x11-egl.force-enabled" = true; | |||
"widget.dmabuf.force-enabled" = true; | |||
# Set this to true if your GPU supports AV1. | |||
# | |||
# This can be determined by reading the output of the | |||
# `vainfo` command, after the driver is enabled with | |||
# the environment variable. | |||
"media.av1.enabled" = false; | |||
}; | |||
} | |||
</nowiki>|name=/etc/nixos/configuration.nix|lang=nix}} | |||
<span id="Testing_your_configuration"></span> | <span id="Testing_your_configuration"></span> | ||
== Проверьте вашу конфигурацию == | == Проверьте вашу конфигурацию == | ||
| Line 46: | Line 117: | ||
See [https://wiki.archlinux.org/index.php/Hardware_video_acceleration#Verification Arch Linux wiki#Hardware video acceleration] for more information. | See [https://wiki.archlinux.org/index.php/Hardware_video_acceleration#Verification Arch Linux wiki#Hardware video acceleration] for more information. | ||
</div> | </div> | ||
<span id="Applications"></span> | |||
== Приложения == | |||
<span id="Chromium"></span> | |||
<div class="mw-translate-fuzzy"> | |||
=== Chromium === | === Chromium === | ||
См. [[Chromium#Accelerated_video_playback]]. | |||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
See [[Chromium#Accelerated_video_playback]]. | |||
</div> | |||
=== Firefox === | === Firefox === | ||
<div | <div class="mw-translate-fuzzy"> | ||
=== Firefox === | |||
</div> | </div> | ||
=== MPV === | === MPV === | ||
Вы можете разместить следующую конфигурацию в {{ic|~/.config/mpv/mpv.conf}}: | |||
<syntaxHighlight lang=ini> | <syntaxHighlight lang=ini> | ||
hwdec=auto | hwdec=auto | ||
</syntaxHighlight> | </syntaxHighlight> | ||
| Line 75: | Line 148: | ||
See [https://wiki.archlinux.org/title/mpv#Hardware_video_acceleration Arch Linux wiki#mpv]. | See [https://wiki.archlinux.org/title/mpv#Hardware_video_acceleration Arch Linux wiki#mpv]. | ||
</div> | </div> | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
== Also see == | == Also see == | ||
</div> | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
* [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://wiki.gentoo.org/wiki/VAAPI Gentoo Wiki#VAAPI.] | |||
* [https://github.com/NixOS/nixos-hardware nixos-hardware] has example configurations for various types of hardware. | * [https://github.com/NixOS/nixos-hardware nixos-hardware] has example configurations for various types of hardware. | ||
</div> | </div> | ||
[[Category:Video]] | [[Category:Video]] | ||
Latest revision as of 14:06, 5 October 2026
Ускорение воспроизведения видео в NixOS обычно осуществляется путем добавления соответствующих пакетов в
hardware.opengl.extraPackages.
Установка
Intel
{
pkgs,
...
}:
{
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver # For Broadwell (2014) or newer processors. LIBVA_DRIVER_NAME=iHD
vpl-gpu-rt # For QSV/VPL API support on Tiger Lake (2020) or newer processors.
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]
Для поддержки 32-битной версии используйте hardware.graphics.extraPackages32:
{
pkgs,
...
}:
{
hardware.graphics.extraPackages32 = with pkgs.pkgsi686Linux; [ intel-vaapi-driver ];
}
AMD
Конфигурация AMD (по крайней мере, для iGPU Ryzen 5) работает из коробки:
{
hardware.graphics.enable = true;
}
NVIDIA
NVIDIA do not officially support accelerated video playback on Linux. A third-party implementation exists, but does not support Chrome[2], and has significant limitations compared to the other implementations[3].
NVIDIA users with a separate iGPU should generally prefer to use their iGPU for this, and therefore look to the above Intel and AMD sections instead.
Users with only an NVIDIA GPU can attempt to use the third party implementation; the package is added to hardware.graphics.extraPackages by default, but it requires some additional setup to be useful[4]:
{
config,
lib,
...
}:
{
environment.variables.LIBVA_DRIVER_NAME = "nvidia";
# If used with Firefox
environment.variables.MOZ_DISABLE_RDD_SANDBOX = "1";
programs.firefox.preferences =
let
ffVersion = config.programs.firefox.package.version;
in
{
"media.ffmpeg.vaapi.enabled" = lib.versionOlder ffVersion "137.0.0";
"media.hardware-video-decoding.force-enabled" = lib.versionAtLeast ffVersion "137.0.0";
"media.rdd-ffmpeg.enabled" = lib.versionOlder ffVersion "97.0.0";
"gfx.x11-egl.force-enabled" = true;
"widget.dmabuf.force-enabled" = true;
# Set this to true if your GPU supports AV1.
#
# This can be determined by reading the output of the
# `vainfo` command, after the driver is enabled with
# the environment variable.
"media.av1.enabled" = false;
};
}
Проверьте вашу конфигурацию
Вы можете протестировать вашу конфигурацию выполнив:
nix-shell -p libva-utils --run vainfo
See Arch Linux wiki#Hardware video acceleration for more information.
Приложения
Chromium
Firefox
Firefox
MPV
Вы можете разместить следующую конфигурацию в ~/.config/mpv/mpv.conf:
hwdec=auto
See Arch Linux wiki#mpv.
Also see
- Arch Linux wiki#Hardware video acceleration.
- Gentoo Wiki#VAAPI.
- nixos-hardware has example configurations for various types of hardware.