Главная / ПК и сети / Отсутствие Hardware Acceleration в Mozilla Firefox для GPU от AMD. Шрифты и видео.

Отсутствие Hardware Acceleration в Mozilla Firefox для GPU от AMD. Шрифты и видео.

Автор: | 12.01.2024

Столкнулся с тем, что пропала аппаратная поддержка (вообще как опция) в мозилле. Соответствующей секции просто нет в настройках. Начал копать…

Обратил на это внимание в связи с тем, что некоторые шрифты выглядят довольно «коряво» в фаерфоксе на видяхах AMD, а вот в хромоподобных — красиво. За сглаживание шрифтов в фаерфоксе отвечает как раз «аппаратное ускорение».

Пример шрифтов без сглаживания (слева — фаерфокс в котором имеется та самая проблема) и с ним (справа — Chrome в котором эта проблема не наблюдается):

С данной проблемой столкнулся только на видяхах (драйверах) AMD (а именно gpu семейства polaris с дровами 2023.09 и более новые). В тот же комп поставил видяху от Nvidia (GP106, driver 457.30) — шрифты прекрасно сглаживаются:

Согласно инфы из инета, за сглаживание кроме «аппаратного ускорения» отвечает ещё и gfx.font_rendering.cleartype_params.rendering_mode который у меня по дефолту имел значение -1. Поставил 5. Стало красивей, но всё равно отличается от хрома. Да и аппаратное ускорение видео на ютубе не работает (непорядок). Поэтому поехали дальше — будем искать аппаратное ускорение.

В документации к Mozilla Firefox (конкретно в моем случае — версия firefox 121.0.1 х64) просто и лаконично написано «если у вас не включено аппаратное ускорение в браузере то включите его! А если опция недоступна — значит ваш GPU не поддерживается». При этом нигде нет этого самого списка GPU. Я то по наивности своей подумал что не может отсутствовать аппаратная поддержка у видеокарты которая миллионными тиражами в свое время разошлась по миру (rx 580) и подумал что проблема в моем конфиге.

А страница о проблемах с аппаратным ускорением в браузере мозилла гласит следующее: обновите драйвера на видеокарту! Драйвера последние, однако не помогло.

VIDEO_HARDWARE_OVERLAY
default blocked Blocklisted by gfxInfo

А уже по этому коду ошибки выяснил что в 2023 году стало появляться множество тем на форумах, о том, что у людей не работает аппаратная поддержка в мозилле. Некоторые пользователи пишут о том, что мозилла внесла в «блеклист» множество видеокарт/драйверов амд в последних релизах.

Попробовал Firefox Portable более старых версий — безрезультатно. Возможно, что тот самый «блеклист» хранится онлайн и считывается при первом запуске/обновлении.

Ищу варианты решения…

Посмотрел на другом компе, с видяхой Intel HD5500 — поддержка имеется.

Далее, в about:config делаю поиск по ключу gfx:

Там интересной показалась следующая информация:

gfx.blacklist.direct2d.failureid FEATURE_FAILURE_DL_BLOCKLIST_g974
gfx.blacklist.suggested-driver-version 15.2010.1151.0
gfx.blacklist.video-overlay.failureid FEATURE_FAILURE_DL_BLOCKLIST_NO_ID
gfx.blacklist.webrender.failureid FEATURE_FAILURE_DL_BLOCKLIST_NO_ID

Погуглил, нашел страничку https://wiki.mozilla.org/Blocklisting/Blocked_Graphics_Drivers . Инфа там очень устаревшая (последний апдейт 2016 года), однако имеется секция, в которой имеются полезные настройки для конфига, которые я и испробовал.

How to force-enable blocked graphics features

If you would like to forcibly enable a graphics feature that is blocked on your system, follow these instructions. Warning: do this at your own risk. There usually are good reasons why features are blocked.

To force-enable WebGL, go to about:config and set webgl.force-enabled=true.
To force-enable WebGL anti-aliasing, go to about:config and set webgl.msaa-force=true.
To force-enable Layers Acceleration, go to about:config and set layers.acceleration.force-enabled=true.

On Windows Vista and Windows 7, to force-enable Direct2D Content Acceleration, go to about:config and set gfx.direct2d.force-enabled=true.

On Android, to force-enable StageFright software decoding, go to about:config and set stagefright.force-enabled=true.

If force-enabling a feature doesn’t work, that probably means that your hardware doesn’t support it. For example, layers acceleration currently requires support for 4Kx4K textures, which rules out some graphics cards, like the Intel G31/G33.

Отсюда мы берем в about:config

webgl.force-enabled=true и webgl.msaa-force=true

Пробуем…. Вроде бы стало получше. Аппаратное ускорение правда в опциях так и не появилось:

Собственно на этом пока что всё. А дальше пару слов не имеющих прямого отношения к теме, но имеющих косвенное влияние (а возможно когда-то и решение)

Оффтоп: WebGPU

это был ложный след, в какой-то момент я переключился на изучение этого параметра и совсем упустил из вида что эта довольно молодая фича для подключения gpu к «тяжелым» браузерным задачам. Например для рендера хайрез видео. Для моей задачи это не нужно. Собственно эта фишка в данный момент работает лишь в nightly билдах фаерфокса.

Дальше, в about:support выяснил следующее

WEBGPU:
default: available,
runtime: blocked, WebGPU cannot be enabled in release or beta, Заблоковано; код помилки WEBGPU_DISABLE_RELEASE_OR_BETA

Копаясь в конфигах нашел ещё опцию gfx.webgpu.ignore-blocklist и dom.webgpu.enabled — перевел в значение false и true соответственно.

—-
Однако ничего из этого не помогло решить вопрос с аппаратным ускорением :) И хотя шрифты более менее приглядно смотрятся, но аппаратное ускорение все равно нужно. Так что процесс продолжается. В данный момент статус WebGPU выглядит так:

Ключевым здесь можно назвать данные:

Стандартний адаптер WebGPU {
"navigator.gpu.requestAdapter({})": {
"not_supported": "WebGPU is not yet available in Release or Beta builds."
}
}

которые говорят нам о том, что WebGPU не поддерживается. Ответ на это я уже писал выше :)

Попробуем его насильно включить: добавляем параметр gfx.webgpu.force-enabled true

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *