Відкрити головне меню

Waylandграфічний сервер для Linux та інших UNIX-подібних операційних систем, що складається з протоколу, механізму міжпроцесної взаємодії та бібліотек. Розробка Wayland була розпочата Крістіаном Гоґсберґом (Kristian Høgsberg), членом «Центру відкритих технологій Intel» (Intel's Open Source Technology Center) і співробітником Red Hat. Wayland є вільним ПЗ[1][2][3].

Wayland
Wayland Display Server logo
Wayland demo 2.png
Тип графічний сервер
Автор(и) Kristian Høgsberg
Перший випуск 0.85 / 9 лютого 2011; 3060 днів тому
Стабільний випуск 1.13 (21 лютого 2017; 856 днів тому)
Репозиторій cgit.freedesktop.org/wayland/wayland/
Операційна система Unix-подібні
Написано на C
Стан розробки активний
Ліцензія MIT
Онлайн-документація cgit.freedesktop.org/wayland/wayland/tree/doc/Contributing
wayland.freedesktop.org

Wayland у Вікісховищі?

Зміст

Основні принципиРедагувати

 
  1. Модуль evdev ядра Linux отримує подію і надсилає її до композитора.
  2. Композитор здійснює пошук серед графів сцени, щоб з'ясувати, яке вікно отримає подію. Граф сцени відповідає тому, що знаходиться на екрані, також композитор приймає до уваги можливі трансформації елементів графа. Таким чином, композитор обирає правильне вікно і обчислює локальні кординати вікна з координат екрану шляхом зворотної трансформації.
  3. Як і у схемі з X11, коли клієнтська програма отримує подію, вона оновлює свої елементи екранного інтерфейсу. У випадку Wayland різниця полягає у тому, що рендеринг здійснюється клієнтом через EGL, і клієнт просто надсилає повідомлення про оновлений регіон композиторові.
  4. Композитор об'єднує англ. damage requests від всіх клієнтів і перекомпоновує екран. Після цього композитор може здійснити прямий виклик ioctl до KMS, який здійснює переключення екранної сторінки (англ. page flip).

Wayland використовує вже існуючі в ядрі Linux технології, такі як Kernel mode-setting (KMS), Direct Rendering Manager (DRM) і Graphics Execution Manager (GEM). Також до складу Wayland входить власний вбудований композитний менеджер (згодом виокремлений в окремий проект Weston), який використовує OpenGL ES. Сервер Wayland його творець характеризує так: «Wayland — новий сервер дисплея, який виконує тільки крихітну частину тих функцій X Window System, які ми фактично використовуємо, коли запускаємо композитний робочий стіл. Wayland — це, по суті, буферний менеджер (подібно до того, чим DRI2 є для X.org), обробник вхідних даних. Весь рендеринг виконується на стороні клієнта — так, як сьогодні працює OpenGL, а завдання режимів та інші апаратні установки виконуються в ядрі. Такий підхід дозволяє значно спростити організацію сервера».

Wayland відрізняється від класичного X-сервера тим, що на рівні сервера виконується тільки переадресація всіх вікон, а всі операції рендеринга і управління вікнами виробляються на стороні клієнта і передаються для обробки сервера зі вбудованим композитним менеджером. Сервер не підтримує API відтворення і оперує тільки з вже сформованими вікнами, що дозволяє позбутися подвійної буферизації, при використанні таких бібліотек як GTK+, Qt і Clutter. Всі операції відтворення провадяться силами додаткових бібліотек, наприклад, OpenGL ES, FreeType і Cairo. Wayland надає протокол взаємодії композитного сервера і працюючих з ним застосунків. Клієнти самостійно виконують малювання своїх вікон в окремому буфері, передаючи інформацію про оновлення композитному серверу, який комбінує вміст буферів окремих застосунків для формування підсумкового виводу з урахуванням можливих нюансів, таких як перекриття вікон і прозорість. Взаємодія з апаратним забезпеченням, наприклад, проведення ініціалізації, перемикання відеорежимів (drm modesetting) і керування пам'яттю (GEM) графічних карт, проводиться через KMS-модуль, що працює на рівні ядра, що дозволяє обійтися без привілеїв суперкористувача.

У рамках супутнього проекту Weston розвивається один з прототипів реалізації композитного сервера. Підкреслюється, що це лише одна з реалізацій (за аналогією з віконними менеджерами), оскільки в ролі композитного сервера може виступати будь-який інший продукт, що підтримує протокол Wayland. Наприклад, ведеться робота із забезпеченню підтримки Wayland в таких існуючих композитних менеджерах для X11, як KWin і Compiz. Композитний сервер Weston може працювати з використанням DRM-модуля ядра Linux, поверх X11 або поверх іншого композитного сервера Wayland.

ВикористанняРедагувати

Підтримка прямої роботи з Wayland вже реалізована для бібліотек Gtk3+, Qt 5, SDL, Clutter і EFL (Enlightenment Foundation Library).

  • Wayland мав використовуватися в створюваній Intel і Nokia операційній системі MeeGo[4]
  • Марк Шаттлворт анонсував у своєму блозі, що Ubuntu, можливо, буде використовувати Wayland замість X.org для стільничного середовища Unity[5] Попередні пакети з Wayland вже включені до складу репозиторію universe та можуть бути випробувані користувачами Ubuntu 11.04. Іншим важливим кроком вперед є забезпечення підтримки запуску Compiz поверх Wayland. Проте за найоптимістичнішими оцінками в базову версію Ubuntu Wayland може бути інтегрувати не раніше випуску 12.10, запланованого на жовтень 2012 року.[6] Проте в березні 2013 року розробоники з Canonical прийняли рішення про створення свого власного графічного сервера, що має назву Mir[7]
  • Графічна система дистрибутиву Fedora буде переведена на Wayland[8]
  • Графічна систему дистрибутиву Ubuntu переведена на Wayland, починаючи з версії 17.10 «Artful Aardvark»[9]

ВиноскиРедагувати

  1. Офіційний сайт
  2. Michael Larabel (November 03, 2008) Wayland: A New X Server For Linux
  3. Kristian Høgsberg (2010-11-22). Wayland license clarification. wayland-devel mailing list. Архів оригіналу за 2012-04-08. Процитовано 2010-11-23. 
  4. Michael Larabel (2010-09-16). Where Wayland May First Appear In Use By A Distro. Архів оригіналу за 2013-07-09. Процитовано 2010-11-24. 
  5. Марк Шаттлворт (2010-11-04). Unity on Wayland. Марк Шаттлворт. Архів оригіналу за 2011-08-24. Процитовано 2010-11-04. 
  6. Ubuntu начнет использовать дисплейный сервер Wayland как минимум через полтора года
  7. Oliver Ries (Mar 4 2013). Taking Unity to the next level. ubuntu-devel mailing list. 
  8. The Fedora Plans For Wayland
  9. ArtfulAardvark/ReleaseNotes - Ubuntu Wiki. wiki.ubuntu.com. Процитовано 2017-10-19. 

ПосиланняРедагувати