Розробник пакетів Firefox для Fedora оголосив, що підтримка апаратного прискорення для декодування відео Firefox за допомогою VA-API тепер доступна у Fedora , оскільки раніше прискорення працювало лише в середовищах на основі Wayland, оскільки минулого року у Fedora було реалізовано підтримку Chromium VA-API.
Ця додаткова підтримка апаратного прискорення декодування відео у Firefox стала можливою завдяки новому серверу Wayland , який використовує механізм DMABUF для малювання текстур та організації обміну буферами з цими текстурами різними процесами.
Так, це нарешті тут. Через півтора року після того, як Tom Callaway Engineering Manager @ Red Hat додав патч до Chromium, ми також отримуємо апаратне прискорене відтворення відео для Firefox. Шкода, що це зайняло занадто багато часу, але я все ще вчусь.
Підтримка VA-API у Firefox є дещо специфічною, оскільки вона працює в Wayland лише зараз. Технічних причин для цього немає, у мене просто не вистачає часу на його реалізацію для X11, тому помилка 1619523 чекає сміливих хакерів.
Йонас Адал (Red Hat) допоміг мені в роботі з Wayland, починаючи з першого патчу Wayland чотири роки тому.
У Fedora 32 і Fedora 31 нова версія Firefox 77 за замовчуванням включає новий серверний сервер при запуску в сеансі бази даних GNOME на Wayland, але для активації апаратного прискореного декодування відео також потрібні певні додаткові пакети, які повинні бути встановлені в системі: ffmpeg, libva та libva-utils RPM Fusion сховище, складене з підтримкою VA-API.
На системах з відеокартами Intel прискорення працює лише з драйвером libva-intel (драйвер libva-intel-hybrid ще не підтримується).
Для графічних процесорів AMD прискорення працює, якщо у вас є стандартна бібліотека radeonsi_drv_video.so , яка є частиною пакета mesa-dri-drivers. Підтримка відеокарт NVIDIA ще не реалізована. Щоб оцінити сумісність драйверів VA-API, можна скористатися утилітою vainfo.
Якщо підтримка підтверджена, щоб увімкнути прискорення у Firefox, на сторінці "about:config" змінні "gfx.webrender.enabled" та "widget.wayland-dmabuf-vaapi.enabled" необхідно встановити в значення true.
Після перезапуску браузера вам потрібно перевірити активацію WebRender та новий серверний сервер (Wayland / drm) на сторінці про: підтримку.
Після цього користувачеві потрібно переконатися, що VA-API використовується для прискорення відображення відео (можуть виникнути проблеми сумісності з кодеками, розмірами відео та бібліотеками), для яких режим налагодження можна ввімкнути, запустивши Firefox із середовищем MOZ_LOG змінної та перевірка наявності «VA-API FFmpeg init успіхи.

MOZ_LOG = "PlatformDecoderModule: 5" MOZ_ENABLE_WAYLAND = 1 firefox
Використання прискорення під час перегляду YouTube залежить від способу кодування фільму (H.264, AV1 тощо).
Ви можете побачити формат у контекстному меню правою кнопкою миші в розділі "Статистика для ботаніків". Щоб вибрати формат, що підтримується апаратною системою декодування відео, можна скористатися вдосконаленим плагіном h264ify.
Окремо зазначається, що пакети Firefox 77.0 для Fedora містять додаткові патчі , які впливають на продуктивність та стабільність, і яких немає у стандартних збірках Mozilla Firefox 77.0. Включення цих патчів до основної збірки очікується лише у Firefox 78.0 (користувачі можуть використовувати бета-версію Firefox 78 або нічні збірки від Mozilla, запускаючи браузер командою `MOZ_ENABLE_WAYLAND=1 ./firefox`).
Крім того, збірки Mozilla використовують вбудовану бібліотеку libvpx, яка не підтримує VA-API для декодування VP8/VP9; якщо потрібне прискорення декодування VP8/VP9 , libvpx потрібно вимкнути, встановивши змінну "media.ffvpx.enabled" у значення "about:config" false (libvpx вже вимкнено в пакеті з репозиторію Fedora).
Зрештою, якщо ви хочете дізнатися більше про це, ви можете ознайомитися з оригінальною статтею на офіційному вебсайті Мартіна Странського.