Firefox внедряет аппаратное ускорение Vulkan Video, которое избавит пользователей Nvidia на Linux от ручной настройки пакета nvidia-vaapi-driver.

Изменение войдёт в Firefox 153, который выйдет 21 июля, но изначально функция будет отключена по умолчанию.

Вместо этого пользователи смогут активировать пару настроек в about:config, чтобы протестировать новинку, и им стоит помнить о возможных ошибках и нестандартных ситуациях (особенно на устройствах с гибридной графикой, о чём пойдёт речь ниже).

Учитывая возможности GPU Nvidia (это мягко сказано), удивительно, что функция ранее не работала. Оказывается, Firefox полностью отключает аппаратное декодирование видео для всех устройств Nvidia в Linux, из-за чего и потребовалось стороннее решение.

Добавление в кодовую базу собственного пути декодирования через Vulkan Video означает, что обходные пути больше не понадобятся.

Vulkan Video представляет собой кроссплатформенную спецификацию, а не решение только для Nvidia. Реализация в Firefox основана на поддержке декодирования Vulkan в FFmpeg.

Изначально эта работа была нацелена на Arm и встроенные GPU и призвана исправить ошибку, вызванную полным отсутствием аппаратного декодирования видео на Aarch64 Linux.

Собственный компьютер Nvidia DGX Spark на Arm с Ubuntu сейчас лишён аппаратного декодирования видео в Firefox, поскольку чип GB10 не поддерживает VA-API или V4L2. Решение этой проблемы в баг-трекере Mozilla зависит от текущих работ по Vulkan Video.

Проверка в бета- и ночных сборках

Списка совместимости нет: Firefox проверяет поддержку Vulkan вашим GPU при первом включении, поэтому единственный способ узнать, работает ли она — попробовать.

Потребуется драйвер Nvidia версии 595.x или выше и Firefox 153 beta (или ночная сборка).

Перейдите в about:config и установите следующие параметры в true:

  • media.hardware-video-decoding-vulkan.enabled

  • media.hardware-video-decoding-vulkan.direct-export.enabled

Перезапустите Firefox и воспроизведите видео с кодеком, для которого ваш GPU поддерживает ускорение (H264 — надёжный вариант). Проверить, работает ли декодирование, можно с помощью nvtop или MOZ_LOG="FFmpegVideo:5" firefox.

На ноутбуках с двумя GPU (интегрированной и дискретной графикой Nvidia) некоторые пользователи сообщают, что при включённом декодировании Vulkan дискретный GPU пробуждается без необходимости, что приводит к кратковременным рывкам при переключении рабочих столов во время воспроизведения.

Mozilla пока не объявила, в какой версии Firefox функция будет включена по умолчанию, но даже после включения она будет ограничиваться так, чтобы её получали только владельцы совместимого оборудования и драйвера Nvidia.