Wayland - это протокол связи, который определяет связь между сервером отображения и его клиентами, а также реализацию этого протокола в библиотеке C. [8] Сервер отображения, использующий протокол Wayland, называется композитором Wayland , потому что он дополнительно выполняет задачу композитора оконного менеджера .
![]() | |
![]() Weston , эталонная реализация сервера Wayland. | |
Автор (ы) оригинала | Кристиан Хогсберг |
---|---|
Разработчики) | freedesktop.org и др. |
Первый выпуск | 30 сентября 2008 г . [1] |
Стабильный выпуск | |
Репозиторий | ![]() |
Написано в | C |
Операционная система | официальный: Linux неофициальный: NetBSD , FreeBSD , DragonFly BSD [4] |
Тип | |
Лицензия | Лицензия MIT [5] [6] [7] |
Веб-сайт | wayland |
Wayland разработано группой добровольцев , первоначально во главе с Кристианом Høgsberg как бесплатно и с открытым исходным кодом сообщества по инициативе проект с целью замены системы X Window с современным, безопасным [9] [10] [11] [12] более простая оконная система в Linux и других Unix-подобных операционных системах. [8] [13] Исходный код проекта опубликован в соответствии с условиями лицензии MIT License , разрешающей лицензии на свободное программное обеспечение . [13] [5]
В рамках своих усилий проект Wayland также разрабатывает эталонную реализацию композитора Wayland под названием Weston . [8]
Обзор
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/a/a7/Wayland_display_server_protocol.svg/350px-Wayland_display_server_protocol.svg.png)
- Evdev модуль Linux ядра получает событие и отправляет его на наборщик Wayland .
- Компоновщик Wayland просматривает свой граф сцены, чтобы определить, какое окно должно принять событие. Граф сцены соответствует тому, что находится на экране, и композитор Wayland понимает преобразования, которые он мог применить к элементам в графе сцены. Таким образом, композитор Wayland может выбрать правое окно и преобразовать координаты экрана в локальные координаты окна, применив обратные преобразования. Типы преобразования, которые могут быть применены к окну, ограничены только тем, что может делать композитор, если он может вычислять обратное преобразование для входных событий.
- Как и в случае X, когда клиент получает событие, он обновляет пользовательский интерфейс в ответ. Но в случае Wayland рендеринг выполняется клиентом через EGL , и клиент просто отправляет запрос композитору, чтобы указать регион, который был обновлен.
- Композитор Wayland собирает запросы о повреждении от своих клиентов, а затем повторно компонует экран. Затем наборщик может напрямую вызвать ioctl, чтобы запланировать переворот страницы с помощью KMS .
Начиная примерно с 2010 года настольная графика Linux перешла от «кучи интерфейсов рендеринга ... все они взаимодействуют с X-сервером , который находится в центре вселенной» к размещению ядра Linux и его компонентов (то есть инфраструктуры прямого рендеринга ( DRI) , Direct Rendering Manager (DRM) ) «посередине», с «оконными системами, такими как X и Wayland ... в углу». Это будет «значительно упрощенная графическая система, предлагающая большую гибкость и лучшую производительность». [14]
Кристиан Хогсберг мог бы добавить расширение к X, как это делали многие недавние проекты, но предпочел «[вытолкнуть] X из горячего пути между клиентами и оборудованием» по причинам, изложенным в FAQ проекта: [13]
Что изменилось сейчас, так это то, что большая часть инфраструктуры переехала с X-сервера в ядро (управление памятью, планирование команд, настройка режима ) или библиотеки ( cairo , pixman, freetype , fontconfig , pango и т. Д.), И очень мало осталось, что должно произойти в процессе центрального сервера. ... [X-сервер имеет] огромное количество функций, которые вы должны поддерживать, чтобы утверждать, что он говорит по X-протоколу, но никто никогда не будет использовать это. ... Это включает в себя кодовые таблицы, растеризацию и кэширование глифов , XLFD (серьезно, XLFD!) И весь основной API рендеринга, который позволяет рисовать пунктирные линии, многоугольники, широкие дуги и многие другие графики в стиле 1980-х годов. примитивы. Для многих вещей нам удалось сохранить современный сервер X.org, добавив такие расширения, как XRandR , XRender и COMPOSITE ... С помощью Wayland мы можем переместить X-сервер и все его унаследованные технологии на дополнительный путь кода. Достижение того момента, когда X-сервер является вариантом совместимости вместо основной системы рендеринга, займет некоторое время, но мы никогда не доберемся до этого, если [мы] не планируем этого.
Wayland состоит из протокола и эталонной реализации Weston . В рамках проекта также разрабатываются версии GTK и Qt, которые отрисовываются в Wayland, а не в X. Ожидается, что большинство приложений получат поддержку Wayland через одну из этих библиотек без модификации приложения.
Первоначальные версии Wayland не обеспечивали прозрачности сети , хотя в 2010 году Хогсберг отметил, что прозрачность сети возможна. [15] Это было предпринято как проект Google Summer of Code в 2011 году, но безуспешно . [16] Адам Джексон предусмотрел предоставление удаленного доступа к приложению Wayland либо путем «очистки пикселей» (например, VNC ), либо путем отправки «потока команд рендеринга» по сети (как в RDP , SPICE или X11 ). [17] В начале 2013 года Хогсберг экспериментирует с прозрачностью сети, используя прокси-сервер Wayland, который отправляет сжатые изображения в настоящий композитор. [18] [19] В августе 2017 года GNOME увидел первую такую реализацию VNC-сервера со сканированием пикселей под управлением Wayland. [20]
Архитектура программного обеспечения
Архитектура протокола
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/e/ea/Wayland_protocol_architecture.svg/350px-Wayland_protocol_architecture.svg.png)
Протокол Wayland следует модели клиент-сервер, в которой клиенты - это графические приложения, запрашивающие отображение буферов пикселей на экране, а сервер (композитор) - это поставщик услуг, управляющий отображением этих буферов.
Эталонная реализация Wayland была разработана как двухуровневый протокол: [21]
- Низкоуровневый уровень или проводной протокол, который управляет межпроцессным обменом данными между двумя задействованными процессами - «клиентом и композитором» - и упорядочивает данные, которыми они обмениваются. Этот уровень основан на сообщениях и обычно реализуется с использованием IPC-сервисов ядра, в частности сокетов домена Unix в случае Linux и Unix-подобных операционных систем. [22] : 9
- На нем построен высокоуровневый уровень, который обрабатывает информацию, которой клиент и наборщик должны обмениваться для реализации основных функций оконной системы . Этот уровень реализован как «асинхронный объектно-ориентированный протокол». [22] : 9
В то время как низкоуровневый уровень был написан вручную на C , высокоуровневый уровень автоматически генерируется из описания элементов протокола, хранящегося в формате XML . [23] Каждый раз, когда описание протокола этого XML-файла изменяется, исходный код C, реализующий такой протокол, может быть восстановлен для включения новых изменений, что позволяет создать очень гибкий, расширяемый и защищенный от ошибок протокол.
Эталонная реализация протокола Wayland разделена на две библиотеки : библиотеку для использования вызываемыми клиентами Wayland libwayland-client
и библиотеку для использования вызываемыми композиторами Wayland libwayland-server
. [22] : 57
Обзор протокола
Протокол Wayland описывается как «асинхронный объектно-ориентированный протокол». [22] : 9 Объектно-ориентированный означает, что услуги, предлагаемые композитором, представлены как серия объектов, живущих на одном и том же композиторе. Каждый объект реализует интерфейс, который имеет имя, ряд методов (называемых запросами ), а также несколько связанных событий . Каждый запрос и событие имеет ноль или более аргументов, каждый из которых имеет имя и тип данных . Протокол является асинхронным в том смысле, что запросы не должны ждать синхронизированных ответов или ACK , что позволяет избежать задержки на двусторонний переход и повысить производительность.
Клиенты Wayland могут сделать запрос (вызов метода) для некоторого объекта, если интерфейс объекта поддерживает этот запрос. Клиент также должен предоставить необходимые данные для аргументов такого запроса. Таким образом клиенты запрашивают услуги у наборщика. Композитор, в свою очередь, отправляет информацию обратно клиенту, заставляя объект генерировать события (возможно, с аргументами). Эти события могут быть отправлены композитором в ответ на определенный запрос или асинхронно, в зависимости от возникновения внутренних событий (например, от устройства ввода) или изменений состояния. Состояния ошибки также сигнализируются композитором как события. [22] : 9
Чтобы клиент мог сделать запрос к объекту, он сначала должен сообщить серверу идентификационный номер, который он будет использовать для идентификации этого объекта. [22] : 9 В композиторе есть два типа объектов: глобальные объекты и неглобальные объекты. Композитор объявляет глобальные объекты клиентам при их создании (а также при их уничтожении), в то время как неглобальные объекты обычно создаются другими объектами, которые уже существуют как часть их функциональности. [24]
Интерфейсы, их запросы и события являются основными элементами, определяющими протокол Wayland. Каждая версия протокола включает набор интерфейсов, а также их запросы и события, которые, как ожидается, будут в любом композиторе Wayland. Необязательно, композитор Wayland может определять и реализовывать свои собственные интерфейсы, которые поддерживают новые запросы и события, тем самым расширяя функциональность за пределы основного протокола. [22] : 10 Чтобы упростить внесение изменений в протокол, каждый интерфейс помимо имени содержит атрибут «номер версии»; этот атрибут позволяет различать варианты одного и того же интерфейса. Каждый композитор Wayland показывает не только доступные интерфейсы, но и поддерживаемые версии этих интерфейсов. [22] : 12
Основные интерфейсы Wayland
Интерфейсы текущей версии протокола Wayland определены в файле protocol / wayland.xml исходного кода Wayland. [23] Это XML- файл, в котором перечислены существующие интерфейсы в текущей версии, а также их запросы, события и другие атрибуты. Этот набор интерфейсов - минимум, необходимый для реализации любым композитором Wayland.
Вот некоторые из самых основных интерфейсов протокола Wayland: [22] : 10-12
- wl_display - основной глобальный объект, специальный объект для инкапсуляции самого протокола Wayland
- wl_registry - глобальный объект реестра, в котором композитор регистрирует все глобальные объекты, которые он хочет быть доступными для всех клиентов
- wl_compositor - объект, который представляет композитор и отвечает за объединение различных поверхностей в один вывод
- wl_surface - объект, представляющий прямоугольную область на экране, определяемую местоположением, размером и содержанием пикселей
- wl_buffer - объект, который при присоединении к объекту wl_surface предоставляет его отображаемое содержимое
- wl_output - объект, представляющий отображаемую область экрана
- wl_pointer , wl_keyboard , wl_touch - объекты, представляющие различные устройства ввода, такие как указатели или клавиатуры
- wl_seat - объект, представляющий сиденье (набор устройств ввода / вывода) в многопользовательских конфигурациях
Типичный сеанс клиента Wayland начинается с открытия соединения с композитором с помощью объекта wl_display . Это специальный локальный объект, который представляет соединение и не находится на сервере. Используя свой интерфейс, клиент может запросить глобальный объект wl_registry у композитора, в котором находятся все имена глобальных объектов, и связать те, которые интересуют клиента. Обычно клиент связывает по крайней мере объект wl_compositor, откуда он будет запрашивать один или больше объектов wl_surface для отображения вывода приложения на дисплей. [24]
Интерфейсы расширения Wayland
Композитор Wayland может определять и экспортировать свои собственные дополнительные интерфейсы. [22] : 10 Эта функция используется для расширения протокола за пределы базовой функциональности, обеспечиваемой базовыми интерфейсами, и стала стандартным способом реализации расширений протокола Wayland. Некоторые композиторы могут добавлять настраиваемые интерфейсы для предоставления специализированных или уникальных функций. Эталонный композитор Wayland, Weston, использовал их для реализации новых экспериментальных интерфейсов в качестве испытательной площадки для новых концепций и идей, некоторые из которых позже стали частью основного протокола (например, интерфейс wl_subsurface, добавленный в Wayland 1.4 [25] ).
Протоколы расширения до основного протокола
Протокол XDG-Shell
Протокол XDG-Shell ( XDG см. На freedesktop.org ) - это расширенный способ управления поверхностями с помощью композиторов Wayland (не только Weston). Традиционный способ управления поверхностями (развертывание, свертывание, полноэкранный режим и т. Д.) - использование функций wl_shell _ * (), которые являются частью основного протокола Wayland и находятся в libwayland-client . Напротив, реализация протокола xdg-shell должна быть предоставлена композитором Wayland. Так вы найдете xdg-shell-client-protocol.h в дереве исходных текстов Weston. Предполагается, что каждый композитор Wayland имеет собственную реализацию.
По состоянию на июнь 2014 г.[Обновить], Протокол XDG-Shell не был версирован и все еще подвержен изменениям.
xdg_shell - это протокол, предназначенный для замены wl_shell в долгосрочной перспективе, но он не будет частью основного протокола Wayland. Он начинается как нестабильный API, предназначенный для использования сначала в качестве места разработки, и после того, как функции определены в соответствии с требованиями нескольких оболочек рабочего стола, его можно, наконец, сделать стабильным. Он предоставляет в основном два новых интерфейса: xdg_surface и xdg_popup. Интерфейс xdg_surface реализует окно в стиле рабочего стола, которое можно перемещать, изменять размер, увеличивать и т. Д .; он предоставляет запрос на создание дочерних / родительских отношений. Интерфейс xdg_popup реализует всплывающее меню / меню в стиле рабочего стола; xdg_popup всегда является переходным для другой поверхности, а также имеет неявный захват. [26]
Протокол IVI-Shell
IVI-Shell - это расширение основного протокола Wayland, предназначенное для автомобильных информационно-развлекательных устройств (IVI). [27]
Модель рендеринга
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/2/2d/The_Linux_Graphics_Stack_and_glamor.svg/350px-The_Linux_Graphics_Stack_and_glamor.svg.png)
Протокол Wayland не включает API рендеринга. [22] : 7 [13] [28] [29] : 2 Вместо этого Wayland следует модели прямого рендеринга , в которой клиент должен рендерить содержимое окна в буфер, доступный для совместного использования с композитором. [22] : 7 Для этой цели клиент может выбрать выполнение рендеринга самостоятельно, использовать библиотеку рендеринга, такую как Cairo или OpenGL , или полагаться на механизм рендеринга высокоуровневых библиотек виджетов с поддержкой Wayland, таких как Qt или GTK . Клиент также может дополнительно использовать другие специализированные библиотеки для выполнения определенных задач, например Freetype для рендеринга шрифтов .
Результирующий буфер с визуализированным содержимым окна сохраняется в объекте wl_buffer . Внутренний тип этого объекта зависит от реализации. Единственное требование - данные содержимого должны быть доступны для совместного использования клиенту и композитору. Если клиент использует программный (ЦП) рендерер, а результат сохраняется в системной памяти , то клиент и композитор могут использовать общую память для реализации обмена данными с буфером без дополнительных копий. Протокол Wayland уже изначально предоставляет этот вид разделяемого буфера памяти через интерфейсы wl_shm и wl_shm_pool . [22] : 11, 20-21 Недостатком этого метода является то, что композитору может потребоваться дополнительная работа (обычно для копирования общих данных в графический процессор) для их отображения, что приводит к снижению графической производительности.
Наиболее типичный случай, когда клиент выполняет рендеринг непосредственно в буфер видеопамяти, используя API-интерфейс с аппаратным (GPU) ускорением, такой как OpenGL , OpenGL ES или Vulkan . Клиент и композитор могут совместно использовать этот буфер пространства графического процессора, используя специальный обработчик для ссылки на него. [30] Этот метод позволяет композитору избежать дополнительного копирования данных через себя методом «клиент-композитор-графический процессор», что приводит к более высокой производительности графики, и поэтому является предпочтительным методом. Композитор может дополнительно оптимизировать композицию финальной сцены, которая будет отображаться на дисплее, используя тот же API аппаратного ускорения, что и клиент API.
Когда рендеринг завершен в совместно используемом буфере, клиент Wayland должен проинструктировать композитора о том, что визуализированное содержимое буфера должно отображаться на дисплее. Для этого клиент привязывает буферный объект, в котором хранится визуализированное содержимое, к поверхностному объекту и отправляет на поверхность запрос «фиксации», передавая эффективное управление буфером композитору. [21] Затем клиент ожидает, пока композитор освободит буфер (о чем сигнализирует событие), если он хочет повторно использовать буфер для визуализации другого кадра, или он может использовать другой буфер для визуализации нового кадра, и, когда визуализация выполняется завершено, привяжите этот новый буфер к поверхности и зафиксируйте его содержимое. [22] : 7 Процедура, используемая для рендеринга, включая количество задействованных буферов и их управление, полностью находится под контролем клиента. [22] : 7
Сравнение с другими оконными системами
Различия между Wayland и X
Между Wayland и X есть несколько различий в производительности, удобстве сопровождения кода и безопасности: [31]
- Архитектура
- Менеджер композиции - это отдельная дополнительная функция в X, в то время как Wayland объединяет сервер отображения и композитор как единую функцию. [32] [28] Кроме того, он включает в себя некоторые задачи оконного менеджера , который в X является отдельным процессом на стороне клиента. [33]
- Композитинг
- Композиция необязательна в X, но обязательна в Wayland. Композиция в X «активна»; то есть композитор должен получить все данные пикселей, что приводит к задержке. В Wayland композитинг является «пассивным», что означает, что композитор получает пиксельные данные напрямую от клиентов. [34] : 8-11
- Рендеринг
- Сам X-сервер может выполнять рендеринг, хотя ему также можно дать указание отображать визуализированное окно, отправленное клиентом. Напротив, Wayland не предоставляет никаких API для рендеринга, но делегирует клиентам такие задачи (включая рендеринг шрифтов, виджетов и т. Д.). [32] [28] Декорации окон могут отображаться на стороне клиента (например, с помощью набора графических инструментов) или на стороне сервера (с помощью композитора). [35]
- Безопасность
- Wayland изолирует вход и выход каждого окна, обеспечивая конфиденциальность, целостность и доступность в обоих случаях; в оригинальном дизайне X отсутствуют эти важные функции безопасности, [10] [11] [12], хотя были разработаны некоторые расширения, пытающиеся смягчить их. [36] [37] [38] Кроме того, поскольку подавляющее большинство кода выполняется на клиенте, меньше кода необходимо запускать с привилегиями root , что повышает безопасность [10], хотя несколько популярных дистрибутивов Linux теперь позволяют запускать X без привилегии root. [39] [40] [41] [42]
- Межпроцессного взаимодействия
- X-сервер обеспечивает базовый метод связи между X-клиентами, позже расширенный соглашениями ICCCM . Это взаимодействие X-клиент-клиент используется оконными менеджерами, а также для реализации X-сеансов , выделения и перетаскивания и других функций. Основной протокол Wayland вообще не поддерживает связь между клиентами Wayland, и соответствующие функции (при необходимости) должны быть реализованы средой рабочего стола (например, KDE или GNOME) или третьей стороной (например, с использованием собственного IPC из базовая операционная система).
- Сети
- X Window System - это архитектура , в основе которой лежит работа по сети. Wayland сама по себе не обеспечивает прозрачности сети; [13] однако композитор может реализовать любой протокол удаленного рабочего стола для обеспечения удаленного отображения. Кроме того, ведутся исследования потоковой передачи и сжатия изображений Wayland, которые обеспечат удаленный доступ к кадровому буферу, аналогичный VNC . [19]
Совместимость с X
XWayland - это X-сервер, работающий как клиент Wayland, и поэтому он способен отображать собственные клиентские приложения X11 в среде композитора Wayland. [43] Это похоже на то, как XQuartz запускает X-приложения в собственной оконной системе macOS . Цель XWayland - облегчить переход от системы X Window к средам Wayland, предоставив тем временем возможность запускать непортированные приложения. XWayland был встроен в X.Org Server версии 1.16. [44]
Наборы инструментов для виджетов, такие как Qt 5 и GTK 3, могут переключать свой графический сервер во время выполнения, [45] позволяя пользователям выбирать во время загрузки , хотят ли они запускать приложение через X или через Wayland. Qt 5 предоставляет для этого -platform
опцию командной строки [46] , тогда как GTK 3 позволяет пользователям выбирать желаемую внутреннюю часть GDK , устанавливая GDK_BACKEND
переменную среды Unix . [45] [47]
Композиторы Wayland
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/1/14/Window_%28windowing_system%29.svg/350px-Window_%28windowing_system%29.svg.png)
Серверы отображения, которые реализуют протокол сервера отображения Wayland, также называются композиторами Wayland, потому что они дополнительно выполняют задачу диспетчера композиционных окон .
- Weston - эталонная реализация композитора Wayland; Weston реализует декорации на стороне клиента
- Lipstick - мобильная графическая оболочка, реализующая композитор Wayland; он используется в Sailfish OS , Nemo Mobile и AsteroidOS [48]
- Enlightenment заявлял о полной поддержке Wayland с версии 0.20 [49], но в настоящее время ведутся работы по созданию полноценного композитора Wayland [50]
- KWin практически полностью поддерживает Wayland по состоянию на 2021 год [51]
- Mutter поддерживает отдельную ветку для интеграции Wayland для GNOME 3.9 (в сентябре 2013 г.) [52]
- Clayland - простой пример композитора Wayland с использованием Clutter
- Westeros - библиотека композитора Wayland, которая позволяет приложениям создавать свои собственные дисплеи Wayland, что позволяет встраивать и встраивать сторонние приложения [53]
- wlroots - модульная реализация Wayland, которая функционирует как основа для других композиторов, в первую очередь Sway [54] [55]
- Sway - мозаичный композитор Wayland и незаменимая замена оконного менеджера i3 для X11 [56]
Вестон
Weston - эталонная реализация композитора Wayland [57], также разработанная в рамках проекта Wayland. Он написан на C и опубликован под лицензией MIT . Weston имеет официальную поддержку только для операционной системы Linux из-за зависимости Weston от определенных функций ядра Linux , таких как настройка режима ядра , Graphics Execution Manager (GEM) и udev , которые не были реализованы в других Unix-подобных операционных системах. системы. [58] При работе в Linux обработка аппаратного обеспечения ввода зависит от evdev , а обработка буферов - от Generic Buffer Management (GBM). Однако в 2013 году было объявлено о переносе прототипа Weston на FreeBSD . [59]
Weston поддерживает защиту широкополосного цифрового контента (HDCP). [60]
Weston полагается на GEM для совместного использования буферов приложений между композитором и приложениями. Он содержит подключаемую систему «оболочек» для общих функций рабочего стола, таких как док-станции и панели. [19] Клиенты несут ответственность за прорисовку границ своих окон и их украшения. Для рендеринга Weston может использовать OpenGL ES [61] или библиотеку pixman для рендеринга программного обеспечения . [62] Полная реализация OpenGL не используется, потому что в большинстве современных систем установка полных библиотек OpenGL также приведет к установке GLX и других поддерживающих библиотек системы X Window в качестве зависимостей. [63]
Интерфейс удаленного доступа для Weston был предложен в октябре 2013 года сотрудником RealVNC . [64]
Мэйнард
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/d/d8/Maynard_desktop.png/220px-Maynard_desktop.png)
Maynard - это графическая оболочка , написанная как надстройка для Weston, так же как GNOME Shell была написана как надстройка для Mutter . [65]
Фонд Raspberry Pi Foundation в сотрудничестве с Collabora выпустил Maynard и работает над улучшением производительности и потребления памяти. [66] [67]
libinput
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/1/1b/Libinput_for_Wayland_compositors.svg/310px-Libinput_for_Wayland_compositors.svg.png)
Код Weston для работы с устройствами ввода (клавиатуры, указатели, сенсорные экраны и т. Д.) Был разделен на отдельную библиотеку под названием libinput , поддержка которой была впервые объединена в Weston 1.5. [68] [69]
Libinput обрабатывает устройства ввода для нескольких композиторов Wayland, а также предоставляет общий драйвер ввода X.Org Server . Его цель - предоставить одну реализацию для нескольких композиторов Wayland с общим способом обработки событий ввода, минимизируя при этом количество настраиваемых композиторов входного кода, которые необходимо включать. libinput обеспечивает обнаружение устройства [ требуется пояснение ] (через udev ), обработку устройства, обработку событий устройства ввода и абстракцию. [70] [71]
Версия 1.0 libinput последовала за версией 0.21 и включала поддержку планшетов, наборов кнопок и жестов сенсорной панели. Эта версия будет поддерживать стабильный API / ABI. [72]
Поскольку в GNOME / GTK и KDE Frameworks 5 [73] внесены необходимые изменения, Fedora 22 заменит драйверы evdev и Synaptics от X.Org на libinput. [74]
В версии 1.16 сервер X.Org получил поддержку библиотеки libinput в форме оболочки, называемой xf86-вход-libinput . [75] [76]
Модуль безопасности Wayland
Модуль безопасности Wayland - это предложение, которое напоминает интерфейс модуля безопасности Linux в ядре Linux . [77]
Некоторым приложениям (особенно связанным с доступностью ) требуются привилегированные возможности, которые должны работать с разными композиторами Wayland. В настоящее время [ когда? ] приложения в Wayland, как правило, не могут выполнять какие-либо важные задачи, такие как создание снимков экрана или ввод событий ввода. Разработчики Wayland активно ищут возможные способы безопасной работы с привилегированными клиентами, а затем проектируют для них привилегированные интерфейсы.
Модуль безопасности Wayland - это способ делегировать решения по безопасности в композиторе централизованному механизму принятия решений. [77]
Принятие
Протокол Wayland разработан так, чтобы быть простым, поэтому необходимо определить и реализовать дополнительные протоколы и интерфейсы для достижения целостной оконной системы. По состоянию на июль 2014 г.[Обновить]над этими дополнительными интерфейсами работали. Итак, хотя наборы инструментов уже полностью поддерживают Wayland, разработчики графических оболочек сотрудничают с разработчиками Wayland, создавая необходимые дополнительные интерфейсы.
Дистрибутивы Linux для настольных ПК
По состоянию на 2020 год[Обновить] большинство дистрибутивов Linux поддерживают Wayland из коробки, вот некоторые известные примеры:
- Fedora, начиная с версии 25 (выпущенной 22 ноября 2016 г.), использует Wayland для сеанса рабочего стола GNOME 3.22 по умолчанию с X.Org в качестве запасного варианта, если графический драйвер не поддерживает Wayland. [78] Fedora использует Wayland по умолчанию для сеанса рабочего стола KDE, начиная с версии 34 (выпущенной 27 апреля 2021 г.)
- Ubuntu по умолчанию поставляет Wayland в Ubuntu 17.10 (Artful Aardvark). [79] Ubuntu вернулась к X.Org для Ubuntu 18.04 LTS, поскольку Wayland по-прежнему имеет проблемы с совместным использованием экрана и приложениями удаленного рабочего стола, а также не восстанавливается после сбоев диспетчера окон. [80] [81] Ubuntu объявила, что будет поставлять Wayland по умолчанию в Ubuntu 21.04 (за исключением графики NVIDIA ). [82]
- Red Hat Enterprise Linux поставляет Wayland в качестве сеанса по умолчанию в версии 8, выпущенной 7 мая 2019 г. [83]
- Debian отправляет Wayland в качестве сеанса по умолчанию для GNOME, начиная с версии 10, выпущенной 6 июля 2019 г. [84]
- Slackware Linux включил Wayland 20 февраля 2020 года [85] в разрабатываемую версию -current, которая в конечном итоге станет версией 15.0.
- Manjaro по умолчанию поставляет Wayland в версии Manjaro 20.2 (Nibia) для Gnome (выпущенной 22 ноября 2020 г.). [86]
Известный ранний последователь:
- RebeccaBlackOS - это действующий USB- дистрибутив Linux на основе Debian [87], который позволяет удобно опробовать настоящий рабочий стол Wayland без необходимости вносить какие-либо изменения в основную операционную систему компьютера. [88] Он использовался с 2012 года для демонстрации Wayland. [89] [90]
Поддержка инструментария
Наборы инструментов, поддерживающие Wayland, включают следующее:
- У Clutter есть полная поддержка Wayland. [91] [92] [93]
- EFL имеет полную поддержку Wayland, за исключением выбора. [94]
- GTK 3.20 полностью поддерживает Wayland. [95]
- Qt 5 имеет полную поддержку Wayland и может использоваться для написания как композиторов Wayland, так и клиентов Wayland.
- Поддержка SDL для Wayland дебютировала с выпуском 2.0.2 [96] и была включена по умолчанию, начиная с версии 2.0.4. [97]
- GLFW 3.2 поддерживает Wayland. [98]
- FreeGLUT имеет начальную поддержку Wayland. [99]
Среды рабочего стола
Окружения рабочего стола, переносимые с X на Wayland, включают GNOME , [100] KDE Plasma 5 [101] и Enlightenment . [102]
В ноябре 2015 года было объявлено о выходе Enlightenment e20 с полной поддержкой Wayland. [103] [49] [104] GNOME 3.20 была первой версией с полной сессией Wayland. [105] GNOME 3.22 включает значительно улучшенную поддержку Wayland в GTK, Mutter и GNOME Shell. [106] GNOME 3.24 поставлял поддержку проприетарных драйверов NVidia в Wayland. [107]
Поддержка Wayland для KDE Plasma была отложена до выпуска Plasma 5, [108] хотя ранее KWin 4.11 получал экспериментальную поддержку Wayland. [109] Версия 5.4 Plasma была первой с сессией Wayland. [110] В течение 2020 года Klipper был перенесен на Wayland, и следующий выпуск 5.20 в октябре 2020 года имеет целью улучшить трансляцию экрана и запись. [111] По крайней мере одна основная часть KDE: sddm еще не перенесена на Wayland по состоянию на сентябрь 2020 года. [112]
Другое программное обеспечение
Другое программное обеспечение, поддерживающее Wayland, включает следующее:
- Интеллектуальная шина ввода работает над поддержкой Wayland, она может быть готова для Fedora 22. [113]
- RealVNC опубликовала предварительную версию Wayland для разработчиков в июле 2014 года. [64] [114] [115]
- Maliit - это структура метода ввода , работающая под управлением Wayland. [116] [117] [118]
- kmscon поддерживает Wayland с wlterm. [119]
- В Mesa интегрирована поддержка Wayland. [120]
- Eclipse был запущен на Wayland во время проекта GSoC в 2014 году. [121]
- Vulkan WSI (Window System Interface) представляет собой набор вызовов API служат той же цели , как EGL делает для OpenGL ES или GLX для OpenGL. Vulkan WSI включает поддержку Wayland с первого дня: VK_USE_PLATFORM_WAYLAND_KHR. Клиенты Vulkan могут работать на немодифицированных серверах Wayland, включая Weston, GENIVI LayerManager, Mutter / GNOME Shell, Enlightenment и другие. WSI позволяет приложениям обнаруживать различные графические процессоры в системе и отображать результаты рендеринга графического процессора в оконной системе. [122]
- SPURV , уровень совместимости приложений Android для запуска в дистрибутивах Linux с использованием Wayland
Мобильное и встроенное оборудование
Мобильное и встроенное оборудование, поддерживающее Wayland, включает следующее:
- postmarketOS
- Альянс GENIVI : Консорциум автомобильной промышленности GENIVI для автомобильной информационно-развлекательной системы (IVI) поддерживает Wayland. [123]
- Raspberry Pi : Фонд Raspberry Pi в сотрудничестве с Collabora выпустил Maynard и работает над улучшением производительности и потребления памяти. [66] [67]
- Jolla : Смартфоны от Jolla используют Wayland. Он также используется в качестве стандартного, когда ОС Linux Sailfish используется с оборудованием других поставщиков или когда она устанавливается на устройства Android пользователями. [124] [125] [126]
- Tizen : Tizen до 2.x поддерживает Wayland в настройках бортовой информационно-развлекательной системы (IVI) [127], а начиная с версии 3.0 и далее по умолчанию используется Wayland. [128] [129]
История
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/b/ba/Linux_graphics_drivers_DRI_Wayland.svg/350px-Linux_graphics_drivers_DRI_Wayland.svg.png)
Kristian Høgsberg, Linux графики и X.Org разработчик , который ранее работал над AIGLX и DRI2 , начал Wayland в качестве запасного времени проекта в 2008 году во время работы в Red Hat . [130] [131] [132] [133] Его заявленной целью была система, в которой «каждый кадр идеален, под этим я подразумеваю, что приложения смогут достаточно контролировать рендеринг, чтобы мы никогда не увидели разрывов, задержек и т. Д. перерисовка или мерцание ". Хогсберг проезжал через город Вэйланд, штат Массачусетс, когда основные концепции «кристаллизовались», отсюда и название. [132] [134]
В октябре 2010 года Wayland стал проектом freedesktop.org . [135] [136] В рамках миграции предыдущая группа Google была заменена списком рассылки wayland-devel в качестве центральной точки обсуждения и развития проекта.
Библиотеки клиента и сервера Wayland первоначально были выпущены под MIT License , [137] в то время как ссылка наборщиком Weston и некоторые примеры клиенты использовали License версии GNU General Public 2 . [138] Позже весь код GPL был перелицензирован под лицензией MIT, «чтобы упростить перенос кода между эталонной реализацией и реальными библиотеками». [139] В 2015 году было обнаружено, что текст лицензии, используемый Wayland, был немного другой и старой версией лицензии MIT, а текст лицензии был обновлен до текущей версии, используемой проектом X.Org (известной как MIT Expat License ). [5]
Wayland работает со всеми Mesa-совместимыми драйверами с поддержкой DRI2 [120], а также с драйверами Android через проект Hybris . [140] [141] [142]
Релизы
Версия | Дата | Основные особенности | |
---|---|---|---|
Wayland | Вестон | ||
0,85 | 9 февраля 2012 г. [144] | Первый выпуск. | |
0,95 | 24 июля 2012 г. [145] | Началась стабилизация API. | |
1.0 | 22 октября 2012 г. [146] [147] | Стабильный Wayland-client API. | |
1.1 | 15 апреля 2013 года [148] [149] | Программный рендеринг. [62] FBDEV, серверные части RDP. | |
1.2 | 12 июля 2013 года [150] [151] | Стабильный API wayland-server. | Управление цветом. Подповерхности. Серверная часть Raspberry Pi . |
1.3 | 11 октября 2013 [152] | Больше форматов пикселей. Поддержка языковых привязок. | Поддержка драйверов Android через libhybris . |
1.4 | 23 января 2014 [25] | Новые интерфейсы wl_subcompositor и wl_subsurface. | Множественные форматы буфера кадра. поддержка logind для Уэстон без рут. |
1.5 | 20 мая 2014 [68] | libinput. Полноэкранная оболочка. | |
1.6 | 19 сентября 2014 [153] | libinput по умолчанию. | |
1,7 | 14 февраля 2015 года [154] [155] | Поддержка расширения презентаций Wayland и наземных ролей. Протокол оболочки IVI . | |
1,8 | 2 июня 2015 года [156] [157] | Отдельные заголовки для основного и сгенерированного протокола. | Перекрасить расписание. Именованные выходы. Выходные преобразования. API наземной съемки. |
1.9 | 21 сентября 2015 года [158] [159] | Обновленная лицензия. | Обновленная лицензия. Новая тестовая среда. Наборщик DRM с тремя головками. linux_dmabuf расширение. |
1,10 | 17 февраля 2016 г. [160] [161] | Функциональность перетаскивания, сгруппированные события указателя. [162] | Видео 4 Linux 2, сенсорный ввод, улучшения отладки. [163] |
1.11 | 1 июня 2016 г. [164] [165] | Новая процедура загрузки резервных копий, новая логика настройки. | Прокси-оболочки, изменения общей памяти, HTML-документы, созданные Doxygen. |
1,12 | 21 сентября 2016 [166] [167] | Улучшена поддержка отладки. | libweston и libweston-desktop. Блокировка и удержание указателя. Поддержка относительного указателя. |
1.13 | 24 февраля 2017 [168] [169] | ABI Вестона был изменен, поэтому новая версия получила название 2.0.0, а не 1.13.0. | |
1.14 | 8 августа 2017 [170] [171] | В то же время был выпущен Weston 3.0.0. | |
1,15 | 9 апреля 2018 г. [172] [173] | В то же время был выпущен Weston 4.0.0. | |
1,16 | 24 августа 2018 [174] [175] | В то же время был выпущен Weston 5.0.0. | |
1.17 | 20 марта 2019 г. [176] [177] | В то же время был выпущен Weston 6.0.0. | |
1.18 | 2 августа 2019 [178] [179] | Месяц спустя был выпущен Weston 7.0.0. | |
1.19 | 27 января 2021 г. [2] | ||
Уэстон 8 [180] | 24 января 2020 г. | ||
Уэстон 9 [181] | 4 сентября 2020 г. | ||
Старая версия Старая версия, все еще поддерживается Последняя версия Будущий выпуск |
Смотрите также
- Мир (программное обеспечение)
- X Window System
Рекомендации
- ^ Høgsberg, Kristian (30 сентября 2008). «Начальная фиксация» . Дата обращения 3 января 2020 .
- ^ а б Сер, Саймон (27 января 2021 г.). "[ОБЪЯВЛЕНИЕ] wayland 1.19.0" (список рассылки) . Проверено 27 января 2021 года .
- ^ Сер, Саймон (24 января 2020 г.). "[ОБЪЯВЛЕНИЕ] weston 8.0.0" (Список рассылки) . Проверено 12 февраля 2020 .
- ^ "Композитор Wayland & Weston перенесен на DragonFlyBSD - Phoronix" . www.phoronix.com .
- ^ а б в Харрингтон, Брайс (15 сентября 2015 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.8.93" . freedesktop.org (список рассылки).
- ^ "wayland / wayland: корень / КОПИРОВАНИЕ" . freedesktop.org . Проверено 14 июня 2015 года .
- ^ Ларабель, Майкл (10 июня 2015 г.). «Лицензия Wayland MIT будет обновлена / исправлена» . Phoronix.com . Проверено 17 апреля 2016 года .
- ^ а б в «Вэйланд» . Проект Wayland . Дата обращения 9 мая 2016 .
- ^ Сенгар, Шивам Сингх. "Wayland против Xorg: чем они похожи и чем отличаются" . secjuice . Проверено 10 сентября 2020 .
- ^ а б в Керриск, Майкл (25 сентября 2012 г.). «XDC2012: Безопасность графического стека» . LWN.net . Проверено 13 апреля +2016 .
- ^ а б Перес, Мартин (21 февраля 2014 г.). "Композиторы Wayland - Почему и как обращаться с привилегированными клиентами!" . Проверено 17 апреля 2016 года .
- ^ а б Грэсслин, Мартин (23 ноября 2015 г.). «Глядя на безопасность Plasma / Wayland» . Проверено 18 апреля 2016 года .
- ^ а б в г д "Вэйланд FAQ" . Проект Wayland . Дата обращения 9 мая 2016 .
- ^ Корбет, Джонатан (5 ноября 2010 г.). «LPC: Жизнь после X» . LWN.net . Проверено 17 апреля 2016 года .
- ^ Хогсберг, Кристиан (9 ноября 2010 г.). «Аргумент сетевой прозрачности» .
Wayland не является API удаленного рендеринга, как X, но это не исключает прозрачности сети. Клиенты выполняют рендеринг в общий буфер, а затем должны сообщить композитору (...), что они изменили. Затем композитор может отправить новые пиксели в этой области по сети. Протокол Wayland уже является сильно асинхронным, поэтому он должен уметь изящно справляться с небольшими задержками в сети. Удаленный полноэкранный просмотр видео или игры не будут работать хорошо, [но] я не знаю другой системы отображения, которая справилась бы с этим хорошо и прозрачно.
- ^ Ларабель, Майкл (18 августа 2011 г.). "Проект удаленного сервера Wayland: работает ли он?" . Phoronix.com . Проверено 17 апреля 2016 года .
- ^ Джексон, Адам (9 ноября 2010 г.). «[Re:] Ubuntu движется в сторону Wayland» .
- ^ Стоун, Дэниел (28 января 2013 г.). Настоящая история Wayland и X (Speech). linux.conf.au 2013. Канберра . Проверено 13 апреля +2016 .
- ^ а б в Уиллис, Натан (13 февраля 2013 г.). «ДМС: Пути Вейланда» . LWN.net . Дата обращения 19 мая 2016 .
- ^ Даниэль Александерсен. «Возможности удаленного рабочего стола вернутся в GNOME на Wayland» . Ctrl.blog . Проверено 29 августа 2017 года .
- ^ а б «Учебник Hello Wayland» . 8 июля 2014 . Проверено 25 июля 2014 года .
- ^ Б с д е е г ч я J к л м п о Хогсберг, Кристиан. "Документация Wayland 1.3" (PDF) . Проверено 16 марта 2016 .
- ^ а б Хогсберг, Кристиан. "протокол / wayland.xml" . FreeDesktop.org . Проверено 25 июля 2014 года .
- ^ а б Пааланен, Пекка (25 июля 2014 г.). «Дизайн протокола Wayland: срок службы объекта» . Проверено 6 апреля +2016 .
- ^ а б Хегсберг, Кристиан (24 января 2014 г.). «Wayland and Weston 1.4 вышла из игры» . Список рассылки wayland-devel .
- ^ «xdg_shell: Добавление нового протокола оболочки» . freedesktop.org . 3 декабря 2013 . Проверено 14 июня 2014 .
- ^ "GENIVI / wayland-ivi-extension" .
- ^ а б в Вервлосем, Коэн (15 февраля 2012 г.). «FOSDEM: сервер отображения Wayland» . LWN.net . Дата обращения 9 мая 2016 .
- ^ Барнс, Джесси. "Введение в Wayland" (PDF) . Центр технологий открытого исходного кода Intel . Проверено 18 апреля 2016 года .
Не включает API рендеринга - клиенты используют то, что хотят, и отправляют дескрипторы буфера на сервер.
- ^ Пааланен, Пекка (21 ноября 2012 г.). «О поддержке клиентов Wayland GL и проприетарных встраиваемых платформ» . Проверено 6 апреля +2016 .
Совместное использование буфера работает путем создания дескриптора для буфера и передачи этого дескриптора другому процессу, который затем использует дескриптор, чтобы снова обеспечить доступ графического процессора к тому же буферу.
- ^ Гриффит, Эрик (7 июня 2013 г.). «Ситуация в Вейланде: факты о X против Вейланда» . Phoronix.com . п. 2 . Проверено 17 апреля 2016 года .
- ^ а б «Вэйландская архитектура» . Проект Wayland . Дата обращения 9 мая 2016 .
- ^ Эдж, Джейк (11 апреля 2012 г.). «LFCS 2012: X и Wayland» . LWN.net . Проверено 17 апреля 2016 года .
- ^ «Пример архитектуры компоновщика Wayland / X: Enlightenment DR19» (PDF) . Проверено 18 апреля 2016 года .
- ^ а б Грэсслин, Мартин (7 февраля 2013 г.). "Декорации окон на стороне клиента и Wayland" . Проверено 17 апреля 2016 года .
- ^ «Безопасность X.Org» . Фонд X.Org . Проверено 2 июля 2017 года .
X-сервер уже давно включает в себя расширение SECURITY, которое обеспечивает поддержку простой модели доверенного / ненадежного соединения.
- ^ Виггинс, Дэвид П. (15 ноября 1996 г.). «Спецификация расширения безопасности» . X Консорциум Стандарт . Проверено 2 июля 2017 года .
- ^ Уолш, Имон Ф. (2009). «Спецификация расширения контроля доступа X» . Проверено 2 июля 2017 года .
- ^ «По умолчанию Debian переходит на сервер X.Org без полномочий root - Phoronix» . www.phoronix.com .
- ^ «Некорневой Xorg - Gentoo Wiki» . wiki.gentoo.org .
- ^ «X / Rootless - Ubuntu Wiki» . wiki.ubuntu.com .
- ^ «1078902 - Xorg без рут прав» . bugzilla.redhat.com .
- ^ «Клиенты X под Wayland (XWayland)» . Проект Wayland . Проверено 18 июля 2014 года .
- ^ «ОБЪЯВЛЕНИЕ: xorg-server 1.16.0» . freedesktop.org . 17 июля 2014 г.
- ^ а б Хегсберг, Кристиан (3 января 2011 г.). «Несколько бэкэндов для GTK» . Проверено 10 марта 2016 .
- ^ "QtWayland" . Qt Wiki . Проверено 9 марта +2016 .
- ^ «Полная поддержка Wayland в GTK» . Вики GNOME . Проверено 10 марта 2016 .
- ^ Эдж, Джейк (31 июля 2013 г.). «Jolla: Sailfish OS, Qt и открытый исходный код» . LWN.net . Проверено 17 апреля 2016 года .
- ^ а б Ларабель, Майкл (30 ноября 2015 г.). «Enlightenment 0.20 прибывает с полной поддержкой Wayland и улучшенной поддержкой FreeBSD» . Phoronix.com . Проверено 17 апреля 2016 года .
- ^ «Вэйланд» . www.enlightenment.org .
- ^ «Плазма 5.21» . Сообщество KDE . 16 февраля 2021 . Проверено 9 марта 2021 года .
- ^ "Указатель / sources / mutter-wayland" . download.gnome.org .
- ^ "Westeros Github Mirror" . Проверено 19 сентября 2016 года .
- ^ "swaywm / wlroots" . GitHub . Проверено 28 октября 2018 года .
- ^ "swaywm / sway" . GitHub . Проверено 28 октября 2018 года .
- ^ «Качать» . swaywm.org . Проверено 20 декабря 2018 года .
- ^ "README" . cgit.freedesktop.org .
- ^ "Файл README из репозитория исходного кода Wayland" . freedesktop.org .
- ^ Ларабель, Майкл (16 февраля 2013 г.). «Wayland начинает процесс переноса на FreeBSD» . Phoronix.com . Проверено 17 апреля 2016 года .
- ^ «Добавление поддержки защиты контента в drm-backend (! 48) · Запросы на слияние · wayland / weston» . GitLab . Проверено 27 октября 2019 года .
- ^ Пааланен, Пекка (10 марта 2012 г.). «Что делает EGL в стеке Wayland» . Дата обращения 19 мая 2016 .
- ^ а б Ларабель, Майкл (6 января 2013 г.). «Программный рендерер Pixman для Weston Wayland» . Phoronix.com . Проверено 17 апреля 2016 года .
- ^ Хогсберг, Кристиан (9 декабря 2010 г.). "Blender3D и фиксация курсора" .
- ^ а б «[RFC Weston] модуль интерфейса удаленного доступа» . freedesktop.org . 18 октября 2013 г.
- ^ "Объявление Мейнарда" . 16 апреля 2014 . Проверено 16 апреля 2014 года .
- ^ а б «Пример использования Raspberry Pi» . Collabora . Проверено 9 августа 2013 года .
- ^ а б «Предварительный просмотр Wayland» . Raspberry Pi . Проверено 9 августа 2013 года .
- ^ а б Хегсберг, Кристиан (20 мая 2014 г.). «Выпущена версия 1.5.0 Wayland and Weston» . Список рассылки wayland-devel .
- ^ Ådahl, Jonas (12 ноября 2013 г.). «[RFC] Общая библиотека устройств ввода» . Список рассылки Wayland.
- ^ "libinput" . Freedesktop.org . Проверено 21 мая 2014 .
- ^ Хаттерер, Питер (8 октября 2014 г.). Объединение входных стеков с помощью libinput (Speech). Конференция разработчиков X.Org 2014. Бордо . Проверено 14 января 2020 года .
- ^ Хаттерер, Питер (22 февраля 2015 г.). «libinput: путь к 1.0» .
- ^ «В Touchpad KCM добавлена поддержка Libinput» . 22 февраля 2015.
- ^ Гёде, Ханс де (23 февраля 2015 г.). «Libinput теперь включен в качестве драйвера xorg по умолчанию для установки рабочей станции F-22» .
- ^ Хаттерер, Питер (24 сентября 2014 г.). «libinput - общий стек ввода для композиторов Wayland и драйверов X.Org» . Проверено 17 апреля 2016 года .
- ^ де Геде, Ханс (1 февраля 2015 г.). «Замена ввода xorg - Драйверы на libinput» (PDF) . Проверено 18 апреля 2016 года .
- ^ а б Додье-Лазаро, Стив; Перес, Мартин (9 октября 2014 г.). Безопасность в настольных средах на основе Wayland: привилегированные клиенты, авторизация, аутентификация и песочница! (Речь). Конференция разработчиков X.Org 2014. Бордо . Проверено 18 апреля 2016 года .
- ^ «Изменения / WaylandByDefault - Проект Fedora Wiki» . fedoraproject.org . Дата обращения 9 ноября 2020 .
- ^ «Примечания к выпуску для Ubuntu 17.10» . Канонический.
- ^ «Ubuntu 18.04 вернется к устаревшему Xorg» .
- ^ «Bionic Beaver 18.04 LTS для использования Xorg по умолчанию» . Канонический.
- ^ «Ubuntu 21.04 по умолчанию будет использовать Wayland» . Боже мой! Ubuntu . Проверено 28 января 2021 года .
- ^ «Примечания к выпуску Red Hat Enterprise Linux 8.0» . Портал для клиентов Red Hat . Проверено 25 декабря 2020 года .
- ^ «NewInBuster - Debian Wiki» . wiki.debian.org . Проверено 15 июля 2019 .
- ^ «Журналы изменений Slackware» . Slackware Linux . Проверено 26 февраля 2020 года .
- ^ «Манджаро 20.2 Нибия освобождена» . Дата обращения 3 декабря 2020 .
- ^ «ОС Wayland Live теперь основана на тестировании Debian, работает поддержка KDE Wayland» . Фороникс.
- ^ "RebeccaBlackOS" . Sourceforge.
- ^ "Пробуем Вэйланд с Ребеккой Блэк" . Фороникс.
- ^ «У New Wayland Live CD много функций» . Фороникс.
- ^ Басси, Эммануэле (31 января 2011 г.). «ОБЪЯВЛЕНИЕ: Clutter 1.6.0 (стабильный)» . беспорядок-анонс (Список рассылки).
- ^ Брэдфорд, Роб (16 декабря 2011 г.). «Обновление Clutter & Cogl Wayland» . Проверено 9 марта +2016 .
Поддержка на стороне клиента Clutter в основном завершена
- ^ Басси, Эммануэле (24 сентября 2013 г.). «ОБЪЯВЛЕНИЕ: Clutter 1.16.0 (стабильный)» . беспорядок-анонс (Список рассылки).
- ^ «Вейланд - Просвещение» . Архивировано из оригинального 29 марта 2013 года . Проверено 6 марта 2013 года .
- ^ «Дорожная карта ГТК» . Проверено 8 марта +2016 .
- ^ Лантинга, Сэм (8 марта 2014 г.). "SDL 2.0.2 ВЫПУСКАЕТСЯ!" . SDL Project . Проверено 18 марта 2014 .
- ^ Ларабель, Майкл (9 января 2016 г.). «SDL 2.0.4 был незаметно выпущен на прошлой неделе вместе с Wayland & Mir по умолчанию» . Phoronix.com . Проверено 17 апреля 2016 года .
- ^ Берглунд, Камилла (8 апреля 2014 г.). «Реализация для Wayland · Проблема №106 · glfw / glfw · GitHub» . Проверено 14 августа 2014 года .
- ^ «FreeGLUT: реализовать начальную поддержку Wayland» . GitHub .
- ^ «Инициативы GNOME - Вэйланд» . GNOME Wiki . Проверено 8 марта +2016 .
- ^ "KWin / Wayland" . Вики Сообщества KDE . Проверено 8 марта +2016 .
- ^ «Просвещение - Вэйланд» . Enlightenment.org . Проверено 8 марта +2016 .
- ^ «Релиз Enlightenment DR 0.20.0» . Enlightenment.org . Проверено 8 марта +2016 .
- ^ «Просвещение Вэйланда» . FOSDEM.org . Проверено 8 марта +2016 .
- ^ «ReleasePlanning / FeaturesPlans» . Проект GNOME . Проверено 31 мая 2015 года .
- ^ «Взгляните на захватывающие возможности / улучшения GNOME 3.22» . Фороникс.
- ^ «GNOME обеспечивает основную поддержку NVIDIA Wayland с помощью EGLStreams» . Фороникс.
- ^ «Путь Плазмы в Вейланд» . 25 июля 2014 г.
- ^ Ларабель, Майкл (14 июня 2013 г.). «Выпущена бета-версия KDE 4.11, работает в Wayland» . Phoronix.com . Проверено 17 апреля 2016 года .
- ^ Грэсслин, Мартин (29 июня 2015 г.). «Четыре года спустя» . Проверено 17 апреля 2016 года .
- ^ Лиам Доу. «KDE Plasma 5.20 будет правильно поддерживать запись экрана на Wayland и других устройствах» . gamingonlinux.com . Проверено 10 сентября 2020 .
- ^ "SDDM без X" . фабрикатор . Проверено 10 сентября 2020 .
- ^ Шаллер, Кристиан (3 июля 2014 г.). «Wayland в обновлении Fedora» . blogs.gnome.org . Проверено 17 апреля 2016 года .
- ^ «Предварительная версия для разработчиков VNC® Wayland» . 8 июля 2014. Архивировано из оригинала 14 июля 2014 года.
- ^ «Электронное письмо разработчика RealVNC Wayland с предварительным просмотром» . freedesktop.org . 9 июля 2014 г.
- ^ «Обновление статуса Малиита» . Постерный. 2 апреля 2013 г. Архивировано из оригинального 17 мая 2013 . Проверено 14 октября 2013 года .
- ^ «Дополнительные улучшения клавиатуры Maliit: QtQuick2» . Блог Мюррея. 2 апреля 2013 . Проверено 14 октября 2013 года .
- ^ «Малиит под Вейландом» . Архивировано из оригинального 11 июня 2013 года . Проверено 14 сентября 2013 года .
- ^ "wlterm" . Freedesktop.org . Проверено 8 июля 2014 .
- ^ a b Хиллесли, стр. 3.
- ^ «Затмение теперь работает на Вэйланде» . 18 августа 2014 г.
- ^ Стоун, Дэниел (16 февраля 2016 г.). «Спецификация Vulkan 1.0 выпущена с первой поддержкой Wayland» .
- ^ "Backend DRM Wayland | Управление уровнем IVI" . GENIVI Alliance. Архивировано из оригинала на 1 февраля 2014 года . Проверено 15 июля 2013 года .
- ^ «Первый смартфон Jolla работает с Wayland» . LinuxG.net. 14 июля 2013 . Проверено 8 октября 2013 года .
- ^ VDVsx [@VDVsx] (13 июля 2013 г.). "#sailfishos схема основных компонентов. # Qt5 #Wayland #JollaHQ #Akademy" (твит) - через Twitter .
- ^ Джолла [@JollaHQ] (13 июля 2013 г.). «@faenil @PeppeLaKappa @VDVsx, наша первая Jolla будет поставляться с Wayland, да» (твит) - через Twitter .
- ^ «Настройка IVI / IVI» . Tizen Wiki . Проверено 8 апреля 2013 года .
- ^ ВанКутсем, Жоффрой (10 июля 2013 г.). «[IVI] Выпущен Tizen IVI 3.0-M1» . IVI (список рассылки).
- ^ Амадео, Рон. «Samsung Z4 - новый флагманский смартфон Tizen» . Ars Technica . Дата обращения 13 мая 2017 .
- ^ Хогсберг, Кристиан (3 ноября 2008 г.). «Преждевременная огласка лучше, чем ее отсутствие» . Проверено 6 апреля +2016 .
- ^ «Интервью: Кристиан Хогсберг» . Архив FOSDEM . 29 января 2012 . Проверено 8 марта +2016 .
- ^ а б Хиллесли, Ричард (13 февраля 2012 г.). «Вэйланд - За пределами X» . The H Open . Heise Media UK . Проверено 8 марта +2016 .
- ^ Хогсберг, Кристиан. «Wayland - новый дисплейный сервер для Linux» . Linux Conference сантехников, 2009. Архивировано из оригинала 11 августа 2017 года.
- ^ Дженкинс, Эван (22 марта 2011 г.). «Стек графики Linux от X до Wayland» . Ars Technica . Проверено 17 апреля 2016 года .
- ^ Ларабель, Майкл (29 октября 2010 г.). «Wayland становится проектом FreeDesktop.org» . Phoronix.com . Проверено 17 апреля 2016 года .
- ^ Хогсберг, Кристиан (29 октября 2010 г.). «Переход на freedesktop.org» . Проверено 31 июля 2013 года .
- ^ Хогсберг, Кристиан (3 декабря 2008 г.). «Wayland теперь находится под лицензией MIT» . wayland-display-server (список рассылки).
- ^ Хогсберг, Кристиан (22 ноября 2010 г.). «Уточнение лицензии Wayland» . wayland-devel (список рассылки).
- ^ Хегсберг, Кристиан (19 сентября 2011 г.). «Обновление лицензии» . wayland-devel (список рассылки).
- ^ Мунк, Карстен (11 апреля 2013 г.). «Wayland, использующая драйверы графического процессора Android в системах на основе glibc, часть 1» . Мер Проект . Проверено 3 июля 2013 года .
- ^ Мунк, Карстен (8 июня 2013 г.). «Wayland, использующая драйверы графического процессора Android в системах на основе glibc, часть 2» . Мер Проект . Проверено 3 июля 2013 года .
- ^ Ларабель, Майкл (11 апреля 2013 г.). «Jolla приносит Wayland поверх драйверов графического процессора Android» . Phoronix.com . Проверено 17 апреля 2016 года .
- ^ «Вэйланд» . Wayland.freedesktop.org . Проверено 15 июля 2013 года .
- ^ Хегсберг, Кристиан (9 февраля 2012 г.). «[ОБЪЯВЛЕНИЕ] Выпущена версия 0.85.0 Wayland and Weston» . Список рассылки wayland-devel .
- ^ Хегсберг, Кристиан (24 июля 2012 г.). «Выпущен Wayland and Weston 0.95.0» . Список рассылки wayland-devel .
- ^ Хегсберг, Кристиан (22 октября 2012 г.). «Вэйланд и Уэстон 1.0» . Список рассылки wayland-devel .
- ^ Шершель, Фабиан (23 октября 2012 г.). «Веха Wayland 1.0 исправляет графический протокол» . The H Open . Heise Media UK . Проверено 17 апреля 2016 года .
- ^ Ларабель, Майкл (16 апреля 2013 г.). «Wayland 1.1 официально выпущен вместе с Weston 1.1» . Phoronix.com . Проверено 17 апреля 2016 года .
- ^ Хогсберг, Кристиан (15 апреля 2013 г.). «1.1 Выпущено» . Список рассылки wayland-devel .
- ^ Ларабель, Майкл (13 июля 2013 г.). «Выпущен Wayland 1.2.0, к нему присоединился Weston Compositor» . Phoronix.com . Проверено 17 апреля 2016 года .
- ^ Хегсберг, Кристиан (12 июля 2013 г.). «Выпущен Wayland and Weston 1.2.0» . Список рассылки wayland-devel .
- ^ Хегсберг, Кристиан (11 октября 2013 г.). «Релизы Wayland и Weston 1.3 отсутствуют» . Список рассылки wayland-devel .
- ^ Пааланен, Пекка (19 сентября 2014 г.). «Выпущен Wayland and Weston 1.6.0» . Список рассылки wayland-devel .
- ^ Харрингтон, Брайс (14 февраля 2015 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.7.0" . Список рассылки wayland-devel .
- ^ Харрингтон, Брайс (14 февраля 2015 г.). "[ОБЪЯВЛЕНИЕ] Вестон 1.7.0" . Список рассылки wayland-devel .
- ^ Харрингтон, Брайс (2 июня 2015 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.8.0" . Список рассылки wayland-devel .
- ^ Харрингтон, Брайс (2 июня 2015 г.). "[ОБЪЯВЛЕНИЕ] Вестон 1.8.0" . Список рассылки wayland-devel .
- ^ Харрингтон, Брюс (21 сентября 2015 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.9.0" . wayland-devel (список рассылки).
- ^ Харрингтон, Брюс (21 сентября 2015 г.). "[ОБЪЯВЛЕНИЕ] Вестон 1.9.0" . wayland-devel (список рассылки).
- ^ Харрингтон, Брюс (17 февраля 2016 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.10.0" . wayland-devel (список рассылки).
- ^ Харрингтон, Брюс (17 февраля 2016 г.). "[ОБЪЯВЛЕНИЕ] Weston 1.10.0" . wayland-devel (список рассылки).
- ^ Нестор, Мариус (18 февраля 2016 г.). «Сервер дисплея Wayland 1.10 официально выпущен, Wayland 1.11 выйдет в мае 2016 года» . Софтпедия .
- ^ Ларабель, Майкл (16 февраля 2016 г.). "Официальный выпуск Wayland 1.10" . Phoronix.com . Проверено 17 апреля 2016 года .
- ^ Харрингтон, Брюс (1 июня 2016 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.11.0" . wayland-devel (список рассылки) . Проверено 1 июня +2016 .
- ^ Харрингтон, Брюс (1 июня 2016 г.). "[ОБЪЯВЛЕНИЕ] Вестон 1.11.0" . wayland-devel (список рассылки) . Проверено 1 июня +2016 .
- ^ Харрингтон, Брюс (21 сентября 2016 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.12.0" . wayland-devel (список рассылки) . Проверено 21 сентября 2016 года .
- ^ Харрингтон, Брюс (21 сентября 2016 г.). "[ОБЪЯВЛЕНИЕ] Weston 1.12.0" . wayland-devel (список рассылки) . Проверено 21 сентября 2016 года .
- ^ Харрингтон, Брюс (21 февраля 2017 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.13.0" . wayland-devel (список рассылки) . Проверено 30 апреля 2017 года .
- ^ Харрингтон, Брюс (25 февраля 2017 г.). «[ОБЪЯВЛЕНИЕ] Weston 2.0.0» . wayland-devel (список рассылки) . Проверено 30 апреля 2017 года .
- ^ Харрингтон, Брюс (8 августа 2017 г.). "[ОБЪЯВЛЕНИЕ] wayland 1.14.0" . wayland-devel (список рассылки) . Проверено 25 марта 2018 года .
- ^ Харрингтон, Брюс (8 августа 2017 г.). "[ОБЪЯВЛЕНИЕ] Уэстон 3.0.0" . wayland-devel (список рассылки) . Проверено 25 марта 2018 года .
- ^ Форман, Дерек (9 апреля 2018 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.15.0" . wayland-devel (список рассылки) . Проверено 15 апреля 2018 года .
- ^ Форман, Дерек (9 апреля 2018 г.). "[ОБЪЯВЛЕНИЕ] Уэстон 4.0.0" . wayland-devel (список рассылки) . Проверено 15 апреля 2018 года .
- ^ Форман, Дерек (24 августа 2018 г.). "[ОБЪЯВЛЕНИЕ] wayland 1.16.0" . wayland-devel (список рассылки) . Проверено 30 ноября 2018 года .
- ^ Форман, Дерек (24 августа 2018 г.). "[ОБЪЯВЛЕНИЕ] Вестон 5.0.0" . wayland-devel (список рассылки) . Проверено 30 ноября 2018 года .
- ^ Форман, Дерек (28 марта 2019 г.). "[ОБЪЯВЛЕНИЕ] wayland 1.17.0" (список рассылки) . Проверено 17 июня 2019 .
- ^ Форман, Дерек (21 марта 2019 г.). "[ОБЪЯВЛЕНИЕ] weston 6.0.0" (Список рассылки) . Проверено 17 июня 2019 .
- ^ Сер, Саймон (11 февраля 2020 г.). "[ОБЪЯВЛЕНИЕ] wayland 1.18" (список рассылки) . Проверено 12 февраля 2020 .
- ^ Сер, Саймон (23 августа 2019 г.). "[ОБЪЯВЛЕНИЕ] weston 7.0.0" (Список рассылки) . Проверено 22 октября 2019 года .
- ^ https://lists.freedesktop.org/archives/wayland-devel/2020-January/041147.html
- ^ https://lists.freedesktop.org/archives/wayland-devel/2020-September/041595.html
Внешние ссылки
- Официальный веб-сайт