Компания Valve запустила ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Frog для ускорСния продвиТСния Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² Wayland

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Valve прСдставили ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ frog-protocols, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ планируСтся Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² для Wayland, Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° wayland-protocols, ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Wayland-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для построСния ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹Ρ… сСрвСров ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΊ Wayland ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ слишком ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ ΠΈ Π±ΡƒΠΊΡΡƒΡŽΡ‰ΠΈΠΌ Π² бСсконСчных обсуТдСниях процСссом принятия Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² Π² wayland-protocols, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° мСсяцы ΠΈ Π³ΠΎΠ΄Ρ‹.

Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ frog-protocols ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Ρ‹ Π΄ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС — ΠΏΠΎ мнСнию создатСлСй ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Ρ‹ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² окруТСниях Π½Π° Π±Π°Π·Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° X11 ΠΈΠ·-Π·Π° отсутствия Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдоставлСна ΡƒΠΆΠ΅ сСйчас, Π½ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Π΅Ρ‘ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ блокируСтся. Π“ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ с ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсиСй frog-protocols ΡƒΠΆΠ΅ приняты Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Arch Linux, Fedora 41 ΠΈ Fedora 40, Π° Ρ‚Π°ΠΊΠΆΠ΅ находятся Π½Π° стадии Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² состав openSUSE.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌΠΈ двумя Wayland-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ, Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹ΠΌΠΈ Π² состав frog-protocols, стали frog-fifo-v1 ΠΈ frog-color-management-v1. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» frog-color-management добавляСт Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для управлСния Ρ†Π²Π΅Ρ‚ΠΎΠΌ, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… возмоТности для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с HDR Π² ΠΈΠ³Ρ€Π°Ρ…. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» frog-fifo отмСчаСтся ΠΊΠ°ΠΊ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠΎ своСй сути, Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π²Π°ΠΆΠ½Ρ‹Π΅ возмоТности, Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с высокой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Π½Π° GPU ΠΏΡ€ΠΈ использовании VSync, сниТСниСм ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ зависаниСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΈΡ… ΠΎΠΊΠΎΠ½ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠΌ FIFO/VSync.

Код с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° frog-fifo ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² основной состав Mesa. ИзмСнСния, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ для ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° KWin, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ развиваСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ KDE. РСализация ΡƒΠΆΠ΅ ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π½Π° Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ SteamOS (Steam Deck) ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠ³ΠΎ сСрвСра Gamescope. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ сводится ΠΊ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Wayland-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° с FIFO благодаря ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ ΠΊ оТиданию Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚ΠΊΠΈ (vblank) вмСсто использования callback-Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ готовности ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€.

Π’ Ρ…ΠΎΠ΄Π΅ обсуТдСния ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² Mesa измСнСния Π‘ΠΈΠΌΠΎΠ½ Π‘Π΅Ρ€ (Simon Ser), ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² wlroots, Π²Ρ‹Ρ€Π°Π·ΠΈΠ» сомнСниС Π² цСлСсообразности добавлСния ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π² ΠΎΠ±Ρ…ΠΎΠ΄ основанной Π½Π° достиТСнии консСнсуса ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ wayland-protocols ΠΈΠ»ΠΈ Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… интСрСсы Wayland-сообщСства. ΠŸΡŒΠ΅Ρ€-Π›Ρƒ Π“Ρ€ΠΈΡ„Ρ„Π΅ (Pierre-Loup Griffais) ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Valve ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ wayland-protocols Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ быстрого Ρ†ΠΈΠΊΠ»Π° продвиТСния ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» Π±Ρ‹ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ экспСримСнты, сразу ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΏΡ€ΠΈ дальнСйшСй Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

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