Π’ 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 для Wayland  обСспСчСно Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ ускорСниС WebGL ΠΈ Π²ΠΈΠ΄Π΅ΠΎ

Из грядущих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Firefox 75 Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ:

  • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ· Π’Π΅Π»ΠΈΠΊΠΎΠ±Ρ€ΠΈΡ‚Π°Π½ΠΈΠΈ (Ρ€Π°Π½Π΅Π΅ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π»Π°ΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΈΠ· БША) отобраТСния ΠΎΠΏΠ»Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… спонсорами Π±Π»ΠΎΠΊΠΎΠ² Π½Π° стартовой страницС Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ сСрвисом Pocket ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° (Π±Π»ΠΎΠΊΠΈ явно ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ° ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ Π² настройках).
  • Π’ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ (about:logins), Ссли Π½Π΅ установлСн мастСр-ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ОБ ΠΈ Π²Π²ΠΎΠ΄Π° систСмных ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ просмотром сохранённых ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ интСрфСйса профилирования страниц Π±Π΅Π· установки дополнСния, Ρ‡Π΅Ρ€Π΅Π· Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Enable Profiler Menu Button» Π½Π° сайтС profiler.firefox.com. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ€Π΅ΠΆΠΈΠΌ очистки старых Cookie ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… сайта ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ сайтам с ΠΊΠΎΠ΄ΠΎΠΌ отслСТивания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π½Π΅ взаимодСйствовал. Π Π΅ΠΆΠΈΠΌ Π½Π°Ρ†Π΅Π»Π΅Π½ Π½Π° Π±ΠΎΡ€ΡŒΠ±Ρƒ с отслСТиваниСм Ρ‡Π΅Ρ€Π΅Π· Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚Ρ‹.
  • ΠΠ°Ρ‡Π°Π»Π°ΡΡŒ рСализация ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ², привязанных ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌ ΠΈ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… вСсь интСрфСйс.

    Π’ Firefox для Wayland  обСспСчСно Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ ускорСниС WebGL ΠΈ Π²ΠΈΠ΄Π΅ΠΎ

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru