Мэйнтейнер пакетов с Firefox для Fedora Linux сообщил о готовности к использованию в Fedora аппаратного ускорения декодирования видео в Firefox при помощи VA-API. Ускорение пока работает только в окружениях на базе Wayland. Поддержка VA-API в Chromium была реализована в Fedora в прошлом году.

Аппаратное ускорение декодирования видео в Firefox стало возможным благодаря новому бэкенду для Wayland, который использует механизм DMABUF для отрисовки в текстуры и организации совместного использования разными процессами буферов с этими текстурами. В Fedora 32 и Fedora 31 в свежем пакете с Firefox 77 новый бэкенд по умолчанию включается при запуске в сеансе GNOME на базе Wayland, но для активации аппаратного ускорения декодирования видео дополнительно требуется установка пакетов ffmpeg, libva и libva-utils из репозитория RPM Fusion, собранных с поддержкой VA-API.

На системах с видеокартами Intel ускорение работает только с драйвером libva-intel-driver (драйвер libva-intel-hybrid-driver пока не поддерживается). Для GPU AMD ускорение работает при наличии штатной библиотеки radeonsi_drv_video.so, входящей в состав пакета mesa-dri-drivers. Для видеокарт NVIDIA поддержка пока не реализована. Для оценки поддержки VA-API драйвером можно воспользоваться утилитой vainfo. Если поддержка подтверждена, то для включения ускорения в Firefox на странице «about:config» следует установить в значение true переменные «gfx.webrender.enabled» и «widget.wayland-dmabuf-vaapi.enabled». После перезапуска браузера необходимо проверить активацию WebRender и нового бэкенда (Wayland/drm) на странице «about:support».


После этого нужно убедиться в применении VA-API для ускорения при просмотре видео (могут быть проблемы совместимости с кодеками, размерами видео и библиотеками), для чего можно включить отладочный режим, запустив Firefox c переменной окружения MOZ_LOG и проверить в выводе наличие сторк «VA-API FFmpeg init successful» и
«Got one VAAPI frame output».

MOZ_LOG=»PlatformDecoderModule:5″ MOZ_ENABLE_WAYLAND=1 firefox

Применение ускорения при просмотре Youtube зависит от способа кодирования ролика (H.264, AV1 и т.п.). Посмотреть формат можно в открываемом по клику правой кнопкой мыши контекстном меню в секции «Stats for nerds». Для выбора формата, поддерживаемого системой аппаратного декодирования видео, можно использовать дополнение enhanced-h264ify.

Отдельно отмечается, что в пакеты с Firefox 77.0 для Fedora включены дополнительные патчи, влияющие на производительность и стабильность, которые отсутствуют в штатных сборках Firefox 77.0 от Mozilla. Включение данных патчей в основной состав ожидается только в Firefox 78.0 (пользователи могут использовать бета-версию Firefox 78 или ночные сборки от Mozilla, запуская браузер командой «MOZ_ENABLE_WAYLAND=1 ./firefox»). Кроме того, в сборках от Mozilla для декодирования VP8/VP9 применяется встроенная библиотека libvpx, не поддерживающая VA-API — при необходимости ускорения декодирования VP8/VP9 следует отключить libvpx, установив в about:config переменную «media.ffvpx.enabled» в значение «false» (в пакете из репозитория Fedora libvpx уже отключён).