Loading AI tools
Протокол дисплейного сервера для Linux З Вікіпедії, вільної енциклопедії
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.22 (4 квітня, 2023 ) |
Операційна система | Unix-подібні |
Мова програмування | C |
Стан розробки | активний |
Ліцензія | MIT |
Онлайн-документація | wayland.freedesktop.org/docs/html/ |
Репозиторій | gitlab.freedesktop.org/wayland/wayland |
Вебсайт | wayland.freedesktop.org |
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).
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.