LINUX.ORG.RU

Аппаратное ускорение в Firefox

 , ,


1

2

Есть ноут на Athlon 300U Установлены Ubuntu 20.10, Firefox 82

В about:config включил media.ffmpeg.vaapi.enabled и layers.acceleration.force-enabled

При проигрывании видео 1080p лис жрёт 60+% проца согласно htop

Рядом ноут на оффтопике, проц там пошустрее (i7-10750H), но то же видео грузит проц всего на 3%.

Как узнать, используется ли аппаратное ускорение в Firefox? В about:support про видео нашёл:

Видеокарта №1
Активна	Да
Описание	AMD RAVEN2 (DRM 3.38.0, 5.8.0-29-generic, LLVM 11.0.0)
Код производителя	0x1002
Код устройства	0x15d8
Поставщик драйвера	mesa/radeonsi
Версия драйвера	20.2.1.0
Видеопамять	2048


Ответ на: комментарий от Gennadevich

проверил в VLC, загрузка 8% для видео 1080. Явно ускорение работает.

Aster ()

layers.acceleration.force-enabled

В Firefox есть три пути вывода картинки на экран. Basic, OpenGL и WebRender. В большинстве конфигураций под Linux автоматически выбирается Basic. Опция layers.acceleration.force-enabled принудительно включает OpenGL. А декодирование видео через VA-API реализовано только для WebRender. Принудительно его можно включить установкой опции gfx.webrender.all в true. Опцию layers.acceleration.force-enabled лучше отключить.

Проверить, какой композитор используется сейчас, можно на about:support, в строке «Compositing». Тебе нужно добиться, чтобы там было «WebRender».

Про MOZ_X11_EGL=1 выше уже упоминали. EGL тоже обязателен.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Сделал так

export MOZ_X11_EGL=1
export MOZ_ACCELERATED=1
export MOZ_WEBRENDER=1

gfx.webrender.all = true
media.ffmpeg.vaapi.enabled = true

ускорение не работает.

В about:support следующие значения:

Композитинг	WebRender
HW_COMPOSITING	available by default
OPENGL_COMPOSITING	available by default
WEBRENDER	opt-in by default: WebRender is an opt-in feature; available by user: Force enabled by envvar
WEBRENDER_QUALIFIED	available by default denied by env: Not on allowlist
WEBRENDER_COMPOSITOR	disabled by default: Disabled by default
WEBRENDER_ANGLE	opt-in by default: WebRender ANGLE is an opt-in feature
WEBRENDER_DCOMP_PRESENT	opt-in by default: WebRender DirectComposition is an opt-in feature
OMTP	available by default
WEBGPU	disabled by default: Disabled by default; blocked by runtime: WebGPU can only be enabled in nightly
Aster ()
Ответ на: комментарий от Aster

Осталась тяжёлая артиллерия. Собираешь лог:

MOZ_X11_EGL=1 MOZ_LOG="PlatformDecoderModule:5" firefox > log.txt 2>&1

Потом смотришь в лог на предмет строчки, содержащей «D/PlatformDecoderModule DMABUF/VA-API Got one frame output with». На остальные строки тоже стоит глянуть, особенно на содержащие «vaapi», «VAAPI» и «VA-API».

i-rinat ★★★★★ ()

Athlon 300U

Два ядра, четыре потока.

60+% проца согласно htop

Этот же htop показывает «четыре ядра»? Так тогда htop считает процессор полностью загруженным, когда он загружен на 400%, а не на 100%. Соответственно, 60% от 400% - это, возможно, и нормально. Ютубовский плеер на яваскирптах внутри Файрфокса крутить - это вам не шутки.

Dementy ★★ ()
Ответ на: комментарий от i-rinat

Пишет так:

[Child 4816: MediaPDecoder #3]: D/PlatformDecoderModule Got one frame output with pts=67000 dts=67000 duration=16000 opaque=-9223372036854775808

Про vaapi ничего.

Согласно vainfo, драйвер умеет h264 и VP9.

Непонятно, чего ему не хватает …

Aster ()
Ответ на: комментарий от Dementy

Проверил, если все настройки по умолчанию загрузка чуть-чуть больше. И chromium примерно столько же жрёт.

Попробую chromium с vaapi, вдруг заработает.

Aster ()
Ответ на: комментарий от Aster

Да я не о том же.

У меня Firefox с ютубчиком жрал вообще всё, что ему позволялось жрать. С аппатарным ускорением стал жрать ~15%. Если считать так, как считает htop, то насчитать можно 15*4=60.

top тоже так считает.

   PID USER       PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                             
   5262 dementy   20   0 4591464 726844 306384 S  34,8   6,0  23:37.35 firefox                             
   5501 dementy   20   0 4020552 650580 253128 S  34,1   5,3  19:08.14 Web Content                         
68,9% от 400%.

Dementy ★★ ()
Ответ на: комментарий от Dementy

68,9% от 400%

поржал. там должно быть переключение в нормальные проценты, или наверху должен быть инликатор который можно переключить в нормальные проценты

anonymous ()
Ответ на: комментарий от Dementy

и да, ещё заметил, что проценты эти считаются как-то неправильно при взаимодействии с энергосбережением процессора

anonymous ()
Ответ на: комментарий от anonymous

Так скажи ТСу, как ему проверить, в каком положении у htop этот «переключатель» и как индикатор переключать. Мне ksysguard как я хочу, так и считает.

Dementy ★★ ()
Ответ на: комментарий от Dementy

Проверил ещё раз с опцией CPU Average в htop.

Беру видео https://www.youtube.com/watch?v=LXb3EKWsInQ в качестве 720p60 (1080 не скачивается)

Запускаю видео в VLC, CPU Average 4-5% (это все процессы в системе)

Открываю то же видео в Firefox, CPU Average 30%

Отключаю все ускорения в Firefox, CPU Average 30%

Вывод:

  1. в VLC ускорение работает
  2. в Firefox оно не работает либо реализовано так убого, что нет разницы, с ускорением или без него)
Aster ()
Ответ на: комментарий от fornlr

Нету, в mesa есть встроенный мониторинг но только по графической части.

anonymous ()
Ответ на: комментарий от anonymous

ты нагрузку на проц с нагрузкой на asic сравниваешь?

Нет.

fornlr ★★★★★ ()
Ответ на: комментарий от Aster

Принятие и смирение. Поздравляю. в MPV/VLC работает и ладно, а браузеры не то чтобы сверхважный софт. Меня браузерное видеоускорение даже на винде никогда не интересовало. Проигрывай > 1080p в плеерах и не парься.

RedEyedMan666 ()
Последнее исправление: RedEyedMan666 (всего исправлений: 1)
Ответ на: комментарий от RedEyedMan666

видеоускорение даже на винде никогда не интересовало

а чё там интересоваться, оно просто работает. если б не работало, тогда может была бы причина интересоваться

anonymous ()
Ответ на: комментарий от anonymous

оно просто работает. если б не работало, тогда может была бы причина интересоваться

На винде у меня не развешены индикаторы нагрузки ЦП, так что там мне на это было пофиг. Запустил игру, поиграл. Ненадолго прервался на листание браузера и снова вернулся в игру. А под линуксом «игор-то нет», большую часть времени тормозилла открыта, ютуб что-нибудь да грузит, судя по виджетам. Неприятно, но я смирился. Можно еще скармливать плееру ютубовские ссылки, а с другими сайтами это не прокатит скорее всего, нужны прямые ссылки.

RedEyedMan666 ()
Ответ на: комментарий от i-rinat

Помогло отключение media.ffvpx.enabled. Не заладилось у Лиса декодирование vp9 аппаратно, хотя видеокарта и драйвер якобы поддерживают.

При

gfx.webrender.all=true
gfx.webrender.compositor.force-enabled=true
media.ffmpeg.vaapi.enabled=true
media.ffvpx.enabled=false

MOZ_X11_EGL=1 firefox

видео 1080p60 занимает 20% CPU Average. Если выключить MOZ_X11_EGL, то 40% CPU Average.

В общем, для слабого проца 20% загрузки на видео 1080p60 считаю приемлемым результатом.

Тем более для оси, где графика в зачаточном состоянии (Wayland, ау)

Aster ()
Ответ на: комментарий от Aster

Помогло отключение media.ffvpx.enabled. Не заладилось у Лиса декодирование vp9 аппаратно, хотя видеокарта и драйвер якобы поддерживают.

ffvpx это особая сборка ffmpeg, которую Firefox таскает с собой для VP9 и прочих кодеков, которые можно распространять без лицензионных выплат. Всё ненужное там вырезано, включая VA-API.

Попытки вернуть VA-API в ffvpx вроде как есть, но пару месяцев назад там были какие-то сложности. Не знаю, как там сейчас. Видимо, ещё не сделали.

i-rinat ★★★★★ ()
Ответ на: комментарий от Aster

А это хорошая идея. Сразу много проблем решает.

i-rinat ★★★★★ ()

А зависит ли поддержка аппаратного декодирования в ФФ от версии ядра? Просто щас столкнулся, что на 5.4 хардварь работает, а на 4.19 нет. На одной системе. При этом vlc/mpv на обеих версиях используют хардварь. Мониторю intel_gpu_top.

tt47 ()
Ответ на: комментарий от Aster

есть еще один вариант, возможно вот что еще влияет: в убунте и в арче, да и в других дистрах (рпм или слаквэйр) есть варианты (наверняка, по поводу слаки и сусе или рпм дистров не уверен, но магея и опенмандрива точно делят это дело так же) пакетов с va-api драйверами, которые по идее использует меса драйвер радеон или amdgpu. Вопрос в том что на встройке вашей может это не работать, либо до перезапуска, либо оно и у меня будет работать через жопу. Что касается VLC то с десктопом это сравнивать точно не стоит.

i965-va-driver/groovy 2.4.0-0ubuntu1 amd64 VAAPI driver for Intel G45 & HD Graphics family

i965-va-driver-shaders/groovy,now 2.4.1-1 amd64 [установлен] VAAPI driver for Intel G45 & HD Graphics family

intel-media-va-driver/groovy 20.2.0+dfsg1-1 amd64 VAAPI driver for the Intel GEN8+ Graphics family

intel-media-va-driver-non-free/groovy,now 20.2.0+ds1-1 amd64 [установлен] VAAPI driver for the Intel GEN8+ Graphics family

zor1984qq ()
Ответ на: комментарий от tt47

Для интелов да может быть такое, я сижу на апдэйт скрипте который тянет (ubuntu mainlike kernel sh git гуглить если че) 5.10.4 релизный мне, 5.11 у них релиз кандидат 1 не собрался.

Для radeon, intel, amdgpu драйверов ядро и версия mesa актуальны ну и пакетов драйверов xorg.

Для Nvidia тоже но в пределах совместимости бинарного драйвера с текущим доступным ядром (в смысле 455й который самый последний вроде какое там ядро поддерживает, но это для убунты 20.10, а так там уже вроде 500 какой то выходил).

Про intel-gpu-tools не знал, у меня Е4500 + радеон р5 230 1Гб памяти, а в е4500 lspci | grep Intel:

intel_gpu_top Failed to detect engines! (No such file or directory) (Kernel 4.16 or newer is required for i915 PMU support.)

uname -a Linux sergey-pc 5.10.4-051004-generic #202012301142 SMP Wed Dec 30 11:44:55 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

очевидно, что при присутствии дискретной карточки от амд встройка не работает (ну или может быть работает как процессор простой)

lspci | grep Radeon 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] 01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Caicos HDMI Audio [Radeon HD 6450 / 7450/8450/8490 OEM / R5 230/235/235X OEM]

00:00.0 Host bridge: Intel Corporation 82P965/G965 Memory Controller Hub (rev 02) 00:01.0 PCI bridge: Intel Corporation 82P965/G965 PCI Express Root Port (rev 02) 00:1a.0 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 02) 00:1a.1 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 02) 00:1a.7 USB controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 02) 00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02) 00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 02) 00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 02) 00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (rev 02) 00:1d.0 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 02) 00:1d.1 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 02) 00:1d.2 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 02) 00:1d.7 USB controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev f2) 00:1f.0 ISA bridge: Intel Corporation 82801HB/HR (ICH8/R) LPC Interface Controller (rev 02) 00:1f.2 IDE interface: Intel Corporation 82801H (ICH8 Family) 4 port SATA Controller [IDE mode] (rev 02) 00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02) 00:1f.5 IDE interface: Intel Corporation 82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode] (rev 02)

что касается сравнения, то в принципе тут проц от интела скорей всего намного мощнее оказался чем от амд:

Есть ноут на Athlon 300U Установлены Ubuntu 20.10, Firefox 82

В about:config включил media.ffmpeg.vaapi.enabled и layers.acceleration.force-enabled

При проигрывании видео 1080p лис жрёт 60+% проца согласно htop

Рядом ноут на оффтопике, проц там пошустрее (i7-10750H), но то же видео грузит проц всего на 3%.

А когда я вот эту видеокарту брал, амдшный графический проц был наоборот помощнее того же от нвидии, но там было двухсотое или трехсотое поколение нвидия 200 или 300 серия простеньких таких десктопных. Ну у i7 по любому будет площадь кристалла и ядер с конвеерами побольше чем у А300 я думаю. +Ко всему А300 это как урезанный АПУ наверное ;)…а i7 таки там так не задумывался.

zor1984qq ()
Последнее исправление: zor1984qq (всего исправлений: 4)
Ограничение на отправку комментариев: только для зарегистрированных пользователей