Включите аппаратное ускорение видео (VA-API) для Firefox в Ubuntu 20.04/18.04 и выше
В этом руководстве показано, как включить аппаратное ускорение видео (VA-API) для Firefox, чтобы он использовал видеокарту для декодирования/кодирования видео в целях экономии энергии.
Аппаратное ускорение видео — это компьютерная технология, позволяющая видеокарте кодировать и декодировать видео, тем самым разгружая процессор для экономии энергии. И по сравнению с процессором, графический процессор обычно более эффективен в работе.
Есть несколько способов добиться этого в Ubuntu Linux, в том числе:
- API ускорения видео (VA-API) – API с открытым исходным кодом, разработанный Intel.
- API декодирования и представления видео для Unix (VDPAU) – API с открытым исходным кодом, разработанный NVIDIA.
- NVENC/NVDEC – собственный API NVIDIA.
VA-API поддерживает графические процессоры Intel, AMD и NVIDIA (через драйверы Nouveau с открытым исходным кодом). И он широко поддерживается программным обеспечением, например, MPV по умолчанию использует аппаратное ускорение va-api для воспроизведения видео, если оно доступно.
API VDPAU поддерживает как AMD, так и NVIDIA, но не поддерживает Firefox или Chromium. И хотя NVENC/NVDEC используется только для графических процессоров NVIDIA, мы обычно используем VA-API для аппаратного ускорения видео.
Кодирование/декодирование всплывающего окна Firefox с помощью графического процессора Intel
Проверьте VA-API:
ПРИМЕЧАНИЕ. VA-API не работает на NVIDIA через проприетарные драйверы, как указано выше. Если вы установили проприетарный драйвер NVIDIA с помощью утилиты «Дополнительные драйверы», это будет работать только тогда, когда вы выберете режим «Intel (Энергосбережение)» в настройках NVIDIA Prime.
VA-API может работать в Ubuntu «из коробки». Сначала вы можете открыть терминал из меню «Пуск» (нажмите «Действия» и выберите терминал).
Затем установите пакет vainfo
с помощью команды:
sudo apt install vainfo
И запустите его, чтобы проверить информацию VA-API:
vainfo
Он выводит драйвер, а также поддерживаемый профиль. VAEntrypointVLD
означает поддержку декодирования этого формата, VAEntrypointEncSlice
означает поддержку кодирования.
Если команда выдает ошибку, вы можете попробовать установить драйверы с помощью команды:
-
Для NVIDIA nouveau и AMD выполните команду:
sudo apt install mesa-va-drivers
Для оборудования Intel поколения 8+ установите команду:
sudo apt install intel-media-va-driver
А для старого оборудования Intel вместо этого установите
i965-va-driver
с помощью команды apt install.
Установив переменную среды, вы можете выбрать, какой драйвер использовать. Например, установите «export LIBVA_DRIVER_NAME=i965», чтобы использовать драйвер i965. Также можно установить значение «nouveau» для NVIDIA или «radeonsi» для AMDGPU.
Включите VA-API в Firefox:
Начиная с версии 80 в Firefox добавлена поддержка VA-API, хотя по умолчанию она не включена. Вы можете включить его вручную, выполнив следующие шаги один за другим.
Сначала откройте Firefox и перейдите к about:config в строке URL. Нажмите «Принять риск и продолжить». Затем найдите следующие ключи, включите или отключите их один за другим:
- Для
media.ffmpeg.vaapi.enabled
установлено значениеtrue
- Для
media.ffvpx.enabled
установлено значениеfalse
. - Для
media.rdd-vpx.enabled
установлено значениеfalse
. - Для
media.navigator.mediadatadecoder_vpx_enabled
установлено значениеtrue
. - Если у вас возникли сбои на странице, попробуйте установить для
security.sandbox.content.level
значение0
.
Во-вторых, установите переменную среды (только для текущего пользователя). Откройте терминал и выполните команду для редактирования файла профиля:
gedit ~/.profile
Когда файл откроется, добавьте в конец следующие строки:
-
(Необязательно) Укажите драйвер va-api, как указано выше (соответственно замените iHD):
export LIBVA_DRIVER_NAME=iHD
Вы можете ПРПУСТИТЬ это, если
vainfo
выводит без ошибок! Песочница Diable RDD:
export MOZ_DISABLE_RDD_SANDBOX=1
Для сеанса Xorg по умолчанию в Ubuntu 18.04/Ubuntu 20.04:
export MOZ_X11_EGL=1
Для сеанса Wayland по умолчанию в Ubuntu 21.04 и выше:
export MOZ_ENABLE_WAYLAND=1
Наконец, выйдите из системы и снова войдите в нее. Откройте Firefox, воспроизведите видео и посмотрите результат!
Проверьте, работает ли аппаратное ускорение видео:
Во время воспроизведения видео вы можете использовать команду top, чтобы увидеть использование ЦП до и после включения VA-API. Для графического процессора Intel существует команда intel_gpu_top
, которая постоянно его контролирует.
Откройте терминал и выполните команду, чтобы сначала установить инструмент:
sudo apt install intel-gpu-tools
Далее выполните команду:
sudo intel_gpu_top
Начните воспроизведение видео в Firefox, и вы увидите, что панель видео занята (выше 0%), если VA-API начнет работать.
Для графического процессора AMD существует еще один инструмент командной строки «radeontop», позволяющий отслеживать активность графического процессора.
ПРИМЕЧАНИЕ: для видео YouTube видеокодек иногда может не поддерживаться вашим оборудованием. В качестве обходного пути попробуйте расширение h264ify или Enhanced-h264ify, чтобы YouTube транслировал видео H.264 вместо VP8/VP9.
Вот и все. Наслаждаться!