Поиск по сайту:

Включите аппаратное ускорение видео (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.

Вот и все. Наслаждаться!

Статьи по данной тематике