Премини към съдържанието
RagnerBG

Активиране на хардуерното ускорение във Firefox и Chromium под Linux

Препоръчан отговор


Последните дни си играя с някои мултимедийни функции на приложенията в Linux и специално при тези два браузъра (Firefox, Chromium), но предполагам, че така е и в Opera-та, забелязах, че използването на хардуерно ускорение през видеокартата (OpenGL под Linux) е забранено по-подразбиране, специално за Linux платформа. Нека не им позволим да ни цакат с топла бира, поне докато има възможности за правилните настройки.

За Firefox нещата са лесни. Ако съдим по-това - Blocklisting/Blocked Graphics Drivers, всичко изглежда чист алтруизъм - забранили са определени видео драйвери (затворени предимно), които били потенциален риск. Въпреки, че те са същият риск и за Windows платформата, но както бяха обещали преди, от версия 57 там вече ускорението е активирано по-подразбиране. Под Linux също е активирано ускорението по-подразбиране, но само за WebGL. Точно така - това, заради което беше целият шум и забрана на ускорението в старите версии, защото имало риск за сигурността. А рендерирането на енджинът, което би донесло по-пъргава работа на браузърът, е забранено по-подразбиране без никакво обяснение и причина - "GL layers acceleration is not yet enabled by default (see bug 594876)" (бъгът, всъщност е молба за активирането му). Както и да е.

Разрешаването става сравнително лесно - about:config, търси се - layers.acceleration.force-enabled и се разрешава (двоен клик). Рестартира се браузърът и се проверява какво е положението в about:support (Menu-Help-Troubleshooting Information):

D1XA0E7.jpg

В ляво е преди активирането (Basic), в дясно след (OpenGL). Би трябвало да забележите по-пъргава работа на браузърът, особено на лаптопи и по-стари машини.

Забележка: Това няма да се отрази на натоварването в сайтове като youtube.com, ако видеокартата ви не е по-ново поколение, което поддържа webm/vp9 хардуерно ускорение, вече h264 не важи, благодарение на google.

 

И като споменахме google, ако при Mozilla може и да има съмнение, че са орязали функциите под Linux за да имитират по-бърза работа под Windows и да речем има някаква случайност, или неизчистени бъгове. То нека да видим какви стъпки са ни нужни за активирането на същото това ускорение под Linux за Chromium (Chrome). Първо проверяваме какво е текущото положение като пишем в адресната лента - chrome://gpu :

KdNSZ9A.jpg

Забележете накрая - "decode is unavailable on Linux", красота нали :)? I don't think so. Тук пак става дума за някакво рязане на драйвери и модели видеокарти, освен за рязане на Linux като цяло, така положение е възможно да го заварите и в Windows, ако сте с определена видеокарта (по-стар модел) и описаните стъпки (повечето) важат и за там също. За да заобиколим ограничението за платформа и хардуер отиваме на chrome://flags, търсим настройките - Override software rendering list и GPU rasterization разрешаваме ги и рестартираме браузърът:

fnOkHB6.jpg

9JGKxFB.jpg

Интересен е и този раздел:

xKdSk2E.jpg

Това ще си остане така, независимо какво правим, ако видеокартата ви не поддържа webm/vp9 ускорение, както писах и за лисицата горе. След рестартиране, положението в chrome://gpu би трябвало да е такова:

0il0U2w.jpg

Изглежда по-добре, но не е. На практика още нищо не работи. Ако скролнете надолу, ще забележите и още една интересна функция:

Compositor Information - Tile Update Mode    One-copy

За директен достъп до видеопаметта ни е нужно Zero-copy. Освен това в chrome://flags няма настройка, с която да активираме Native GpuMemoryBuffers, но има друг начин да ги форсираме с използване на командни параметри. Палим конзолата и стартираме браузърът така:

chromium --enable-zero-copy --enable-native-gpu-memory-buffers

Тези параметри (--enable-zero-copy --enable-native-gpu-memory-buffers) можем да ги добавими на краят на стартерите/линковете след пътят до бинарито, така че ще се стартира така и от там. Иии най вероятно ще видим следното съобщение в конзолата (ако не - добре, игнорирайте следващите няколко изречения):

ERROR:browser_gpu_channel_host_factory.cc(107)] Failed to launch GPU process

И въпреки, че в настройките всичко ще свети в зелено, това е индикация, че пак нищо не работи. Тоест, гадовете от google не се предават, каквото и да направим пак ще намерят начин да ни изключат хардуерното ускорение. Е, почти. Това, което трябва да направим е да изпълним следното в терминала:

export BROWSER=google-chrome

С "echo $BROWSER" можем да проверим каква е стойността. Преди командата трябва да е празно, след нея - google-chrome. За да запазим променливата и след рестартиране, горният ред се добавяна краят на .bashrc в домашната директория, или /etc/environment за цялата система:

nano .bashrc
sudo nano /etc/environment

Вече грешката в конзолата трябва да е изчезнала, а chrome://gpu да изглежда така:

PeRR3Yd.jpg

А Compositor Information ще изглежда така:

Compositor Information - Tile Update Mode    Zero-copy

Сега вече всичко би трябвало да работи.

Редактирано от RagnerBG (преглед на промените)
  • Харесва ми 5

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Малко развитие по темата. Първо, тези стъпки при Chromium са почти аналогични и важат и за Windows, където този браузър е орязан по същият начин. Единствено "export BROWSER=" командата не е нужна (а и не съм сигурен, как би се интерпретирала), там екзето си се казва chrome. Не съм напълно сигурен, но изглежда, че освен за композиране на енджинът, с тези настройки се активира и хардуерното ускорение на видео поне в youtube. Кoето е странно за мен, защото моята възстара AMD видеокарта, от както ги придобиха google и смениха кодеците, никога не е успявала да ускорява там. Малко скрийншоти.

Chromium:

KlsEpoJ.jpg

Firefox:

kMcfUZC.jpg

 

Както се вижда, условията са почти еднакви, но по някаква причина Chromium не пуска видеото в 60, а с 30 кадъра. И двата браузъра показват някаква активност на видеокартата в Catalyst Control Center. Освен това, преди активирането на тези настройки, имах проблем с някои 1080p видеа в Chromium и се дропваха много кадри. Явно е бъг на прозоречният билд, защото в Linux го няма. С активирането на видеокартата, това се оправи.

Предстои да тествам дали и под Linux се активира хардуерното ускорение на видео в youtube. Но при същата конфигурация имам проблем с драйверите точно за видеоускорение при затвореният видеодрайвер на AMD за новите кернели. По-точно, липсват изцяло. Ще трябва да кача временно някакво убунту 14, където работят, за да се тества присъщите условия.

Редактирано от RagnerBG (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

  • Разглеждащи това в момента   0 потребители

    Няма регистрирани потребители разглеждащи тази страница.

  • Подобни теми

    • от Недко
      Здравейте !
      Не успявам да инсталирам VIBER на Linux Mint 18 XFCE 
      (заедно с лаптопа са описани в подписа ми)

      Свалих си .deb пакет за Линукс Убунту от сайта на Вайбър
      Опитах от терминал и с GDebi
      Не става. Излиза ми съобщение, че това не е deb пакет.

      Гугъл показа, че и други са имали същия проблем,
      https://forums.linuxmint.com/viewtopic.php?t=269712

      има и решение :
      https://forums.linuxmint.com/viewtopic.php?f=47&t=258067&hilit=viber

      но от постовете разбирам, че, изглежда VIBER има проблем с начина, по който създава .deb пакета 
      и решението е било, чрез изтегляне на .rpm , преформатиране в .deb
      и чак тогава инсталиране.
      Даже авторът на решението дава линк към файла, който е направил, но е за 64 битова версия ...
      а аз съм с 32 битова ...

      Моля за съвет или линк, ако някъде вече е публикувано решение на конкретната или подобна ситуация.

      Предварително ви благодаря !

      P.S. Пиша същия въпрос и в темите за Минт и за начинаещи в Linux ... знам ли къде ще се види по-рано и ще се намери решението.
      Моля да ме извините !
    • от rado7318@abv.bg
      Има много лесен начин да разберем Windows или Линукс е по добър!
      1. Ако се продават лаптопи, на които може да работи само Windows ще се купуват ли?   ДА!
      2. Ако на лаптопите може да работи само Линукс?
      Е , ще кажете то си има такива- Chromebook със Google Chrome OS.
      Следователно проблема на останалите Линукс дистрибуции е, че просто не са достатъчно разработени и на този етап са по скоро платформа за мазохисти. Не може безброй малки фирмички с по 5-6 програмисти да направят завършен качествен продукт, който да се равнява на продукта на фирми като Microsoft, Google или Аpple, нали?
    • от Недко
      Здравейте !

      Днес опитах да задействам Скайп, но не иска да ме "впише".
      Завърта анимацията с кръжащите точки ... и изключва.
      Опитах да го деинсталирам със Софтуерния мениджър,
      стигна до 75 % и спря.
      Изпълних едни команди :
      sudo apt-get autoremove --purge && sudo apt-get clean && sudo apt-get autoclean

      при което се появи и изречение, че почиства нещо, останало от Скайп.
      След това потърсих да инсталирам Скайп отново,
      но вече го няма в списъка на предлаганите пакети
      (или приложения, простете, аз съм начинаещ в Линукс вече около 9-10 години и 3 линукса).
      Вече без Скайп ли ще я караме ? 
      (Забравил съм откога не съм го ползвал)

      А всъщност си търсех начин да изпробвам микрофона на едни мултимедийни слушалки втора употреба,
      без да звъня на никого. (В Скайп имаше такава възможност)

      Моля за съвет или за линк, ако вече е отговаряно на тези въпроси.
      (Много теми виждам по темата, но докато ги прегледам всичките,
      ще стане ... утре... ).

      Предварително ви благодаря !
    • от slavcho hadjiyata
      Здравейте, фенове на Puppy Linux! 
      Свалих си на флашка Slacko64-6.3.0. Свалям Chrome.deb и той се инсталира автоматично на флашката, но не мога да го стартирам, въпреки че иконката му се появява в папка Интернет. Не зная кода за стартиране от терминал на Puppy Slacko6.3.0. 
      Моля, помогнете! 
    • от cybercop
      Пускам тема за един универсален метод за инсталиране на Firefox, независимо от дистрибуцията.
      Първо сваляте пакета от официалния сайт. Най- добре е да го направите от списъка с локализациите, за да се избегнат грешки с автоматичното разпознаване на локализацията и архитектурата.
      https://www.mozilla.org/bg/firefox/all/
      Браузъра е окомплектован с езиковата добавка, българските речници и дори шрифтове.
      Разархивирате пакета, отваряте файловия мениджър с администраторски права и поставяте папката firefox от архива в /opt директория.
      Снимка
      С това, браузъра е инсталиран.
      За да го ползвате комфортно е добре да направите един  стартер за менюто на програмите, който да сложите в /usr/share/applications и един пряк път до изпълнимия файл на приложението, който да сложите в usr/bin за да го ползва графичната среда за файловите асоциации (MIME типовете).
      Пускам един пакет  в който има готов стартер и пряк път и откъдето да поглеждате, кое, къде се намира, защото съм описал директориите подробно.
      Връзка
      При излизане на нова версия, браузъра ще ви покаже уведомление за това и автоматично ще ви препрати към връзка от която да я изтеглите. Сваляте архива с новата версия, разархивирате и  поставяте папката (firefox) на мястото на старата в /opt директорията. Цялата операция отнема няколко секунди. Прекият път и стартера си остават същите. Те се създават еднократно.
      Успех !
       
       
  • Дарение

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.