Linux firefox аппаратное ускорение

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

Рядом ноут на оффтопике, проц там пошустрее (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 

сначала скажи сколько ест то же видео на 300U например когда в консоле через mpv смотришь

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

В 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 тоже обязателен.

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 

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

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».

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

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

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

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

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

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

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

 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 

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

Читайте также:  Steam big picture linux

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

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

Проверил ещё раз с опцией 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 оно не работает либо реализовано так убого, что нет разницы, с ускорением или без него)

А чего у AMD вообще нет утилит по мониторингу?

fornlr ★★★★★ ( 19.11.20 14:02:09 MSK )
Последнее исправление: fornlr 19.11.20 14:02:53 MSK (всего исправлений: 1)

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

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

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

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

RedEyedMan666 ★ ( 19.11.20 14:31:45 MSK )
Последнее исправление: RedEyedMan666 19.11.20 14:32:59 MSK (всего исправлений: 1)

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

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

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

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

Выложи куда-нибудь полный лог. Возможно там упоминаются причины в начале.

Помогло отключение 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, ау)

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

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

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

Читайте также:  Linux mint windows 10 no grub

Понятно. Могли бы разрабы использовать ffmpeg по умолчанию, раз уж он есть в системе.

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

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

есть еще один вариант, возможно вот что еще влияет: в убунте и в арче, да и в других дистрах (рпм или слаквэйр) есть варианты (наверняка, по поводу слаки и сусе или рпм дистров не уверен, но магея и опенмандрива точно делят это дело так же) пакетов с 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

Для интелов да может быть такое, я сижу на апдэйт скрипте который тянет (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)

Читайте также:  Linux просмотр все соединений

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

Есть ноут на 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 ★ ( 03.01.21 21:33:07 MSK )
Последнее исправление: zor1984qq 03.01.21 21:42:37 MSK (всего исправлений: 4)

Источник

compizomania

В настоящее время Firefox поставляется по умолчанию с отключенным аппаратным ускорением во всех дистрибутивах Linux.
Firefox 57, вероятно, будет первым релизом, в котором аппаратное ускорение будет включено по умолчанию для Linux. Но так как Firefox 53 только что вышел и до Firefox 57 еще долго ждать, вы можете самостоятельно включить аппаратное ускорение в Firefox. Для этого необходимо выполнить всего лишь одно действие в настройках браузера.

Откройте новую вкладку, в адресной строке введите about:config, нажмите клавишу Ввод (Enter) и подтвердите: Я принимаю на себя риск!

Далее в строку поиска скопируйте/вставьте layers.acceleration.force-enabled и сделайте двойной клик в столбце Значение на слове false, чтбы получилось true:

Вот и всё. Остаётся перезапустить браузер, чтобы пользоваться аппаратным ускорением.

P.S. Если у вас что-то пойдёт не так, войдите опять в настройки браузера: about:config и проделайте всё в обратном порядке, т.е. вернитесь к прежним настройкам. И вновь перезапустите браузер.

Источник

Оцените статью
Adblock
detector