Loading AI tools
Протокол дисплейного сервера Из Википедии, свободной энциклопедии
Wayland — протокол для организации графического сервера в Linux и других UNIX-подобных операционных системах. Разработка Wayland была начата Кристианом Хогсбергом (дат. Kristian Høgsberg), на тот момент сотрудником Red Hat, ныне членом Центра открытых технологий Intel[5]. Wayland является свободным ПО[6][7][8]. Название происходит от города Вэйланд[англ.], когда Хогсберг ехал через этот город, ему пришёл в голову концепт системы[9]. Названия родственных проектов Weston и Maynard (см. ниже) произошли соответственно от соседних городов Вестон[англ.] и Мейнард [10].
Wayland | |
---|---|
Тип | Оконный интерфейс |
Разработчики | Кристиан Хогсберг[вд][1][2] и Freedesktop.org[3] |
Написана на | Си |
Первый выпуск | 2008 |
Последняя версия |
|
Репозиторий | gitlab.freedesktop.org/w… |
Лицензия | лицензия MIT |
Сайт | wayland.freedesktop.org (англ.) |
Медиафайлы на Викискладе |
По мнению разработчиков, Wayland является «работой над ошибками» X.org, которые накопились за четыре десятилетия его развития. Кардинальное отличие от X.org заключается в том, что Wayland лишь управляет буферами (плоскостями) окон и возлагает всю отрисовку их содержимого на инструментальные пакеты (GTK, Qt и так далее). API рисования (drawing API) полностью отсутствует. Все версии протокола строго определены, а сама система определения версий продумана. У X.org есть серьёзная проблема с версиями разных расширений, часто перекрещивавшимися или дополняющими, вместо того чтобы быть самодостаточными и исключающими. Функцию композиции буферов осуществляет референтный композитный менеджер (менеджер-композитор) Weston, использующий как OpenGL ES, так и программную отрисовку. В состав Wayland также входит унифицированный протокол устройств ввода, предоставляющий одну виртуальную клавиатуру, одну виртуальную мышь и один экранно-сенсорный интерфейс — разделяемые всеми приложениями. Wayland знает о состояниях устройств ввода и способен запоминать их. (X.org напротив не сохраняет состояния устройств (stateless-протокол), но может быть настроен через файлы конфигурации.)
О Wayland его создатель отзывается так:
Wayland — новый графический сервер, который выполняет только крошечную часть функций Х, которые мы действительно используем, когда запускаем композитный рабочий стол. Wayland, по сути, — буферный менеджер (подобно DRI2 для X.org), обработчик входных данных. Весь рендеринг выполняется на клиентской стороне — так, как сегодня работает OpenGL, а задание режимов и другие аппаратные установки выполняются в ядре. Такой подход значительно упрощает организацию сервера.
Wayland использует уже существующие в ядре Linux технологии, такие как Kernel mode-setting (KMS), Direct Rendering Manager (DRM) и Graphics Execution Manager (GEM).
Weston — это эталонная реализация композитного менеджера Wayland. Написан на языке Си, сначала был опубликован под лицензией GPLv2, позже вышел под MIT. Weston изначально создавался под API ядра Linux, поэтому официально поддерживает работу только с ядром Linux из-за зависимости от KMS, GEM и udev.
Weston использует GEM для обмена буферов между графическим сервером и приложениями. Для рендеринга может использовать OpenGL, cairo и pixman[11].
Maynard — графическая оболочка, которая была создана как плагин к Weston, аналогично тому, как GNOME Shell был создан как плагин к Mutter. Изначально Maynard проектировался для Raspberry Pi как легковесная графическая оболочка, поскольку в то время (2014 год) легковесные окружения рабочего стола, такие как LXDE, не поддерживали Wayland, а функциональные окружения типа GNOME и KDE были слишком ресурсоёмкими.[12] Проект не ограничен платформой Raspberry Pi и может использоваться на обычных рабочих станциях.[13] Оболочка отличается низким потреблением ресурсов, высокой производительностью, качественным оформлением и легковесностью.
Марк Шаттлворт анонсировал в своём блоге, что Ubuntu будет использовать Wayland вместо X.org для своей среды рабочего стола Unity[14]. Однако 4 марта 2013 года разработчики из Canonical приняли решение написать собственный графический сервер, получивший название Mir[15]. 5 апреля 2017 года они отказались от Mir и Unity в пользу Wayland и GNOME[16].
В операционной системе Fedora начиная с версии 35, по умолчанию используется окружение рабочего стола GNOME на базе Wayland.
Был разработан xwayland[17], который позволяет работать X11-приложениям поверх Wayland. Аналогично X.org приложения запускаются и под нативным окружением Mac OS X.
Основные релизы Wayland/Weston[18] | |||
---|---|---|---|
Версия | Дата | Ключевые изменения в Wayland | Ключевые изменения в Weston |
0.85 | 9 фев 2012[19] | Первый релиз. | |
0.95 | 24 июл 2012[20] | Начало стабилизации API. | |
1.0 | 22 окт 2012[21][22] | Стабилизация клиентского API. | |
1.1 | 15 апр 2013[23][24] | Программный рендеринг[25]. | |
1.2 | 12 июл 2013[26][27] | Стабилизация серверного API. | Средства управления цветом. Протокол для манипулирования субповерхностями и группами поверхностей. Бэкэнд для Raspberry Pi. |
1.3 | 11 окт 2013[28] | Новые пиксельные форматы для wl_shm. Поддержка биндингов к высокоуровневым языкам. | Поддержка Android с Hybris. |
1.4 | 23 янв 2014[29] | Новые интерфейсы wl_subcompositor и wl_subsurface. | Поддержка форматов фреймбуфера, отличных от XRGB8888. Теперь права суперпользователя необязательны благодаря задействованию logind из состава systemd. |
1.5 | 20 май 2014[30] | libinput. Полноэкранный shell. | |
1.6 | 19 сен 2014[31] | libinput по умолчанию. | |
1.7 | 14 фев 2015[32][33] | Интерфейс xdg-shell. | |
1.8 | 2 июня 2015[34][35][36] | Разделены заголовочные файлы клиента и сервера на базовые компоненты и генерируемые протоколы. | Поддержка перерисовки по расписанию. API для захвата содержимого поверхностей Началось тестирование оболочки для информационно-развлекательных систем (IVI), добавлена экранная раскладка для IVI. |
1.9 | 21 сентября 2015[37][38][39] | Обновлена лицензия. | Обновлена лицензия. Предварительная реализация библиотеки libweston, в которую вынесен код внутренней функциональности Weston. Добавлено новое расширение linux_dmabuf, предоставляющее средство для прямого вывода (zero-copy) видео на экран. |
1.10 | 17 февраля 2016[40][41] | Поддержка Drag-and-Drop, событий от группируемых указателей | Поддержка Video 4 Linux 2. Ввод от сенсорных экранов. Улучшение отладочных средств |
1.11 | 1 июня 2016[42][43] | Новая сервисная процедура загрузки, новая логика установки | Proxy wrappers, изменение интерфейсов разделяемой памяти, Doxygen-генерированная HTML документация |
1.12 | 21 сентября 2016[44] | Улучшения поддержки отладки | Разделение на libweston и libwestond-desktop. Захват и ограничение указателя. Поддержка относительных указателей. |
1.13 | 24 февраля 2017[45][46][47] | Изменение ABI Weston. Новая версия имеет порядковый номер 2.0, а не 1.13 | |
1.14 | 8 августа 2017[48][49][50] | Смена номера версии Weston на 3.0 обусловлена изменениями ABI, нарушающими совместимость | |
1.15 | 10 апреля 2018[51][52][53] | Смена номера версии Weston на 4.0 обусловлена изменениями ABI, нарушающими совместимость | |
1.16 | 24 августа 2018 | Weston 5.0.0 | |
1.17 | 20 марта 2019 | Weston 6.0.0 | |
1.18 | 2 августа 2019 | Weston 7.0.0 вышел на месяц позже | |
1.19 | 27 января 2021 | ||
1.20 | 9 декабря 2021 | ||
1.21 | 30 июня 2022 | ||
1.22 | 4 апреля 2023 | ||
1.23 |
Условные обозначения:
Будущая версия Текущая версия Поддерживается Не поддерживается
Данные в этом списке после 2013 года отсутствуют или неполны. |
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.