В Firefox для Wayland обеспечено аппаратное ускорение WebGL и видео
В ночных сборках Firefox, на основе которых 7 апреля будет сформирован релиз Firefox 75, реализована полноценная поддержка WebGL в окружениях, использующих протокол Wayland. До сих пор уровень производительности WebGL в Linux-сборках Firefox оставлял желать лучшего из-за отсутствия поддержки аппаратного ускорения, вследствие проблем с gfx-драйверами для X11 и применения разных стандартов. Ускорение на базе gfx в X11 было обеспечено в Chrome, но ценой поддержания огромного списка исключений и обходных манёвров для избежания проблем (см. chrome://gpu/). В Firefox аппаратное ускорение WebGL для Linux никогда не было включено по умолчанию, так как компания Mozilla не имела ресурсов для разбора каждого проблемного драйвера и видеокарты.
При использовании Wayland ситуация изменилась благодаря появлению нового бэкенда, использующего механизм DMABUFдля отрисовки в текстуры и организации совместного использования разными процессами буферов с этими текстурами, размещёнными в видеопамяти. Изначально новый бэкенд развивался с оглядкой на предоставление качественной поддержки gfx-ускорения. Кроме аппаратного ускорения WebGL бэкенд также дал возможность реализовать поддержку ускорения декодирования видео h.264 с использованием VA-API (Video Acceleration API) и FFmpegDataDecoder.
В сборках Firefox на базе Wayland удалось подготовить унифицированное рабочее GL-окружение, не привязанное к конкретным композитным серверам, таким как GNOME Mutter или KDE Kwin. Поддержка ускорения с использованием бэкенда на базе DMABUF реализована для двух доступных в Firefox механизмов отрисовки - WebRender (новый, использующий GPU для отрисовки web-страниц) и GL compositor (классический). В обоих случаях при использовании нового бэкенда текстуры создаются в GPU и могут использоваться напрямую без копирования между процессами браузера, отвечающими за композитинг и взаимодействие с GPU. Кадры WebGL могут отрисовываться сразу в память GPU, которая может отражаться во фреймбуфер EGL, обрабатываться в основном процессе и отрисовываться как текстура при сведении элементов web-страницы.
Для включения ускорения WebGL и видео следует запустить Firefox с переменной окружения "MOZ_ENABLE_WAYLAND=1" и в about:config установить параметры "widget.wayland-dmabuf-webgl.enabled" и "widget.wayland-dmabuf-vaapi.enabled", после чего проверить включилось ли ускорение на странице about:support. Для работы требуется наличие библиотеки libva версии 2.6.0+ (протестировано в Fedora 31 c GPU Intel UHD 630).

Из грядущих изменений в Firefox 75 также можно отметить:
Включение для пользователей из Великобритании (ранее реклама показывалась только пользователям из США) отображения оплаченных спонсорами блоков на стартовой странице в разделе рекомендованного сервисом Pocket контента (блоки явно помечены как реклама и отключаемы в настройках).
В менеджере паролей (about:logins), если не установлен мастер-пароль, реализована начальная поддержка вывода диалога аутентификации ОС и ввода системных учётных данных перед просмотром сохранённых паролей.
Добавлена возможность активации интерфейса профилирования страниц без установки дополнения, через нажатие кнопки "Enable Profiler Menu Button" на сайте profiler.firefox.com. Добавлен режим анализа производительности только активной вкладки.
Реализован режим очистки старых Cookie и данных сайта при обращении к сайтам с кодом отслеживания перемещений, с которыми пользователь интерактивно не взаимодействовал. Режим нацелен на борьбу с отслеживанием через редиректы.
Началась реализация модальных диалогов, привязанных к отдельным вкладкам и не блокирующих весь интерфейс.

Комментарии
Отправить комментарий