Wayland 1.24 тепер реальність: стабільність, нові функції та багато іншого

шлях-гном

Після тринадцяти місяців безперервної розробки було оголошено про офіційний запуск Wayland 1.24, останньої стабільної версії протоколу, яка реалізує різні покращення, окрім виправлення різних помилок.

На відміну від попередніх релізів, ця нова версія Wayland 1.24 не вносить жодних руйнівних змін, але об'єднує попередню роботу з покращеннями стабільності, незначними вдосконаленнями протоколу та повною зворотною сумісністю як на рівні API, так і ABI.

Що нового у Wayland 1.24

У цій новій версії Wayland 1.24 однією з найпомітніших нових функцій є реалізація інтерфейсу wl_fixes , призначеного для виправлення обмежень в інших основних інтерфейсах протоколу . Серед його можливостей є destroy_registry, яка дозволяє явно завершити використання об'єкта wl_registry.

Ще однією цікавою новою функцією, представленою у Wayland 1.24, є нова функція, додана до API wl_keyboard::key , яка тепер включає новий псевдостан під назвою "repeated ". Ця модифікація покращує спосіб представлення тривалих натискань клавіш, особливо в середовищах, де точність введення з клавіатури є критично важливою, таких як віддалені робочі столи або сеанси VNC через Wayland.

За допомогою `wl_keyboard::key` клавішу можна встановити у стан « повторюється » лише після того, як вона була натиснута, але до того, як її буде відпущено. Поки клавіша залишається в цьому стані, сервер може явно генерувати кілька подій « повторюється » , відмінних від стану «натиснуто». Ця зміна особливо корисна в сценаріях, коли необхідно розрізняти одинарне натискання та довге натискання, наприклад, під час введення довгих символів або дистанційного керування графічними інтерфейсами, де традиційна поведінка відрізняється.

Wayland 1.24 також включає нові функції, такі як:

  • wl_display_dispatch_queue_timeout() та wl_display_dispatch_timeout(): Обробляють події з тайм-аутом.
  • wl_shm_buffer_ref() та wl_shm_buffer_unref(): дозволяють доступ до буферів спільної пам'яті навіть після їх знищення.
  • wl_proxy_get_interface() та wl_resource_get_interface(): сприяють динамічному пошуку інтерфейсів.
  • wl_resource_post_error_vargs(): Покращує обробку помилок зі списками змінних аргументів.

Нові розширення

Варто також зазначити, що екосистема Wayland за останній рік збагатилася новими розширеннями , які розширюють її можливості, особливо щодо управління кольором, візуальних ефектів та обробки вводу. Хоча більшість цих нових розширень не є ексклюзивними для останнього випуску, варто виділити найважливіші з них, представлені за останні місяці:

  • керування кольором та представлення кольору v1: увімкнути керування кольором та підтримку HDR.
  • тег-топлевел xdg: спрощує ідентифікацію вікон після перезавантаження.
  • ефект зовнішнього фону: дозволяє розмиття та ефекти в прозорих областях.
  • вказівник-деформація: дозволяє миттєво змінювати положення вказівника.
  • керування сеансами xx: відновлює стан вікон після непередбачених закринь.
  • xx-метод-введення: досягнення в новій системі методів введення.
  • зовнішній контроль даних: дозволяє привілейованим клієнтам маніпулювати даними (ідеально підходить для буферів обміну).
  • зовнішній робочий простір: керує віртуальними робочими столами та їхнім станом.
  • xdg-системний-дзвінок: дозволяє системі подавати сигнали тривоги.
  • xdg-toplevel-icon: пов'язує значки з вікнами верхнього рівня.
  • джерело-захоплення-зображення та копіювання-захоплення-зображення: дозволяють захоплювати вміст екрана.
  • FIFO та час фіксації: керувати часом оновлення та пріоритезацією відображеного контенту.

Зрештою, якщо ви зацікавлені дізнатися більше, ви можете знайти деталі за наступним посиланням.

Як встановити Wayland, якщо його немає в моєму дистрибутиві?

Wayland не встановлюється як окремий застосунок, оскільки це протокол, який вимагає сумісного сервера дисплеїв, такого як Wayfire, Weston, Sway або wlroots, а також композитора, такого як GNOME, KDE Plasma тощо, для його підтримки.

Важливо зазначити, що більшість сучасних дистрибутивів вже постачаються з Wayland, встановленим за замовчуванням, принаймні як опція. Але якщо ви не впевнені, чи він присутній, або хочете оновити його, ви можете виконати наведені нижче кроки.

Як дізнатися, чи використовую я Wayland?

Щоб перевірити, чи є Wayland у вашому дистрибутиві, просто введіть:

відлуння $XDG_SESSION_TYPE

Якщо там написано wayland, ви використовуєте Wayland.

Якщо там написано x11, ви використовуєте X11.

Ви також можете перевірити цю змінну:

loginctl show-session $(loginctl | grep $(whoami) | awk '{print $1}') -p Тип

Якщо ви вже перевірили, чи у вас є Wayland, і вважаєте, що його немає, ви можете встановити його за допомогою однієї з наступних команд:

Debian / Ubuntu

sudo apt install libwayland-client0 libwayland-server0

Fedora

sudo dnf встановити wayland

Arch Linux та похідні:

sudo pacman -S wayland

OpenSUSE

sudo zypper встановити wayland libwayland-egl1 libwayland-client0 libwayland-server0

Додати як пріоритетне джерело в Google