Wayland
Wayland — графічний сервер для Linux та інших UNIX-подібних операційних систем, що складається з протоколу, механізму міжпроцесної взаємодії та бібліотек. Розробка Wayland була розпочата Крістіаном Гоґсберґом (Kristian Høgsberg), членом «Центру відкритих технологій Intel» (Intel's Open Source Technology Center) і співробітником Red Hat. Wayland є вільним ПЗ[4][5][6].
| |
| |
Тип | графічний сервер |
---|---|
Автор(и) | Kristian Høgsberg |
Розробники | Kristian Høgsbergd[1][2] і Freedesktop.org[3] |
Перший випуск | 0.85 / 9 лютого, 2011 |
Стабільний випуск | 1.13 (21 лютого, 2017 ) |
Репозиторій | gitlab.freedesktop.org/wayland/wayland.git |
Операційна система | Unix-подібні |
Мова програмування | C |
Стан розробки | активний |
Ліцензія | MIT |
Онлайн-документація | wayland.freedesktop.org/docs/html/ |
Вебсайт | wayland.freedesktop.org |
Wayland у Вікісховищі |
Основні принципи
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[7]
- Марк Шаттлворт анонсував у своєму блозі, що Ubuntu, можливо, буде використовувати Wayland замість X.org для стільничного середовища Unity[8] Попередні пакети з Wayland вже включені до складу репозиторію universe та можуть бути випробувані користувачами Ubuntu 11.04. Іншим важливим кроком вперед є забезпечення підтримки запуску Compiz поверх Wayland. Проте за найоптимістичнішими оцінками в базову версію Ubuntu Wayland може бути інтегрувати не раніше випуску 12.10, запланованого на жовтень 2012 року.[9] Проте в березні 2013 року розробники з Canonical прийняли рішення про створення свого власного графічного сервера, що має назву Mir[10]
- Графічна система дистрибутиву Fedora була переведена на Wayland
- Графічна система дистрибутиву Ubuntu переведена на Wayland, починаючи з версії 17.10 «Artful Aardvark»[11]
Виноски
- Høgsberg K. Premature publicity is better than no publicity — 2008.
- Larabel M. Wayland: A New X Server For Linux // Phoronix — 2008.
- Larabel M. Wayland Becomes A FreeDesktop.org Project // Phoronix — 2010.
- Офіційний сайт
- Michael Larabel (November 03, 2008) Wayland: A New X Server For Linux
- Kristian Høgsberg (22 листопада 2010). Wayland license clarification. wayland-devel mailing list. Архів оригіналу за 8 квітня 2012. Процитовано 23 листопада 2010.
- Michael Larabel (16 вересня 2010). Where Wayland May First Appear In Use By A Distro. Архів оригіналу за 9 липня 2013. Процитовано 24 листопада 2010.
- Марк Шаттлворт (4 листопада 2010). Unity on Wayland. Архів оригіналу за 24 серпня 2011. Процитовано 4 листопада 2010.
- Ubuntu начнет использовать дисплейный сервер Wayland как минимум через полтора года
- Oliver Ries (Mar 4 2013). Taking Unity to the next level. ubuntu-devel mailing list.
- ArtfulAardvark/ReleaseNotes - Ubuntu Wiki. wiki.ubuntu.com. Процитовано 19 жовтня 2017.