Firefox и VAAPI: аппаратное ускорение видео в Linux
При воспроизведении видео в Linux-браузере Firefox часто вся обработка ложится на процессор. Это может вызывать высокую загрузку CPU, нагрев системы и быстрое разряжение аккумулятора на ноутбуках. Однако Firefox умеет использовать VAAPI (Video Acceleration API) - механизм аппаратного ускорения, который переносит декодирование видео на графический процессор.
Использование VAAPI заметно снижает нагрузку на процессор и повышает плавность воспроизведения. Поддержка зависит от драйверов и видеокарты: Intel и AMD работают «из коробки» через Mesa, а для NVIDIA требуется дополнительный слой совместимости через VDPAU.
Содержание
- Установка драйверов и библиотек
- Запуск и настройка в X11
- Запуск и настройка в Wayland
- Изменения в about:config (Firefox)
- Проверка работы VAAPI
- Диагностика и логирование
- Особенности Flatpak-версии
- Ограничения и известные нюансы
- Советы по оптимизации
- Заключение
Установка драйверов и библиотек
Пакеты для VAAPI и видео-стека (Manjaro/Arch):
sudo pacman -S libva libva-utils ffmpeg mesa
Видеокарта/драйверы:
- Intel (Broadwell и новее):
sudo pacman -S intel-media-driver
- Intel (более старые GPU):
sudo pacman -S libva-intel-driver
- AMD (Mesa):
sudo pacman -S libva-mesa-driver mesa-vdpau
- NVIDIA (проприетарные):
sudo pacman -S nvidia-utils libva-nvidia-driver vdpauinfo
Проверка поддержки VAAPI/драйвера:
vainfo
В выводе ищем поддерживаемые профили (например, H.264, HEVC, VP9) и какой VA-драйвер выбран.
Запуск и настройка в X11
В X11 Firefox часто требует явных переменных окружения:
env MOZ_X11_EGL=1 MOZ_DISABLE_RDD_SANDBOX=1 firefox
MOZ_X11_EGL=1
- рендер через EGL вместо GLX (чаще стабильнее).MOZ_DISABLE_RDD_SANDBOX=1
- отключает песочницу RDD-процесса, если она мешает VAAPI.
Чтобы не вводить команду каждый раз, создайте ярлык:
[Desktop Entry]
Name=Firefox VAAPI (X11)
Exec=env MOZ_X11_EGL=1 MOZ_DISABLE_RDD_SANDBOX=1 firefox %u
Type=Application
Categories=Network;WebBrowser;
Сохраните файл как ~/.local/share/applications/firefox-vaapi-x11.desktop
.
Запуск и настройка в Wayland
В Wayland VAAPI обычно работает стабильнее. Хватает одной переменной:
env MOZ_ENABLE_WAYLAND=1 MOZ_DISABLE_RDD_SANDBOX=1 firefox
Ярлык для Wayland:
[Desktop Entry]
Name=Firefox VAAPI (Wayland)
Exec=env MOZ_ENABLE_WAYLAND=1 MOZ_DISABLE_RDD_SANDBOX=1 firefox %u
Type=Application
Categories=Network;WebBrowser;
MOZ_USE_XINPUT2=1
.
Изменения в about:config (Firefox)
Откройте about:config, согласитесь с предупреждением и установите:
media.ffmpeg.vaapi.enabled
→ truemedia.rdd-ffmpeg.enabled
→ truemedia.ffvpx.enabled
→ false (чтобы не перехватывал софт-декодер)media.rdd-vpx.enabled
→ false (иногда помогает с VP9)gfx.webrender.all
→ true (ускоренный рендеринг интерфейса)- опционально
media.hardware-video-decoding.force-enabled
→ true(форсировать, если Firefox блокирует декодирование)
Перезапустите браузер.
Проверка работы VAAPI
Внутри Firefox
- Откройте about:support.
- В блоке Graphics → Video Acceleration ожидаем VA-API active / VAAPI Video Decoder: available.
Через системные инструменты
- vainfo - список поддерживаемых профилей/кодеков и активный драйвер.
- Мониторинг загрузки видеоядра:
- Intel:
intel_gpu_top
- AMD:
radeontop
- Intel:
- Параллельно запустите видео 1080p/4K на YouTube и наблюдайте снижение загрузки CPU в
htop
.
Диагностика и логирование
Если непонятно, какой декодер используется, запустите Firefox с логом модулей декодера:
MOZ_LOG="PlatformDecoderModule:5" firefox
Переменная MOZ_LOG
включает детальный вывод; PlatformDecoderModule:5
- уровень подробности. В консоли ищите строки о VA-API/FFmpeg инициализации.
Особенности Flatpak-версии
У Flatpak Firefox VAAPI обычно работает, но иногда требуется проброс окружения и доступ к драйверам:
flatpak override --user --env=MOZ_ENABLE_WAYLAND=1 org.mozilla.firefox
flatpak override --user --filesystem=/usr/lib/dri org.mozilla.firefox
Проверьте flatpak info org.mozilla.firefox
. Если VAAPI не стартует - сравните с нативным пакетом.
Ограничения и известные нюансы
- Кодеки: обычно аппаратно доступны H.264/AVC и VP9; AV1 - только на новых GPU (Intel Arc, AMD RDNA3, NVIDIA RTX 40).
- DRM-контент (Widevine: Netflix/Prime): часто декодируется CPU - это ограничение DRM-стека.
- NVIDIA: через
libva-nvidia-driver
возможно VAAPI, но стабильность/качество зависят от версии драйверов; иногда надёжнее VDPAU или Chromium VAAPI. - YouTube: если поток идёт в VP9/AV1, а GPU не умеет - поставьте расширение h264ify, чтобы форсировать H.264.
- Гибридная графика: при наличии iGPU+dGPU убедитесь, что Firefox использует нужное устройство; можно указать
MOZ_DRM_DEVICE=/dev/dri/renderD128
.
Советы по оптимизации
- Firefox → Настройки → Производительность → «Использовать аппаратное ускорение, когда доступно» - включить.
- Для Wayland добавьте
MOZ_USE_XINPUT2=1
(плавнее ввод). - Если VAAPI не работает в X11 - попробуйте только
MOZ_X11_EGL=1
без отключения RDD, либо наоборот. - Следите за актуальностью
ffmpeg
и Mesa - обновления часто исправляют декодеры.
Заключение
После настройки VAAPI Firefox перекладывает декодирование видео на GPU, что снижает нагрузку на CPU, уменьшает нагрев и повышает автономность. На Wayland, как правило, всё работает стабильнее, но и в X11 можно добиться отличных результатов.
Совместимость и названия пакетов могут немного отличаться между дистрибутивами; ориентируйтесь на репозитории вашей системы.
При подготовке статьи использовались материалы Arch Wiki - Hardware video acceleration , а также практический опыт настройки Firefox в Manjaro-Linux.
Комментарии
Отправить комментарий