Wayland (протокол сервера отображения) - Wayland (display server protocol)

Wayland
Wayland Logo.svg
Weston, эталонная реализация сервера Wayland.
Оригинальный автор (ы)Кристиан Хегсберг
Разработчики)freedesktop.org и другие.
изначальный выпуск30 сентября 2008 г.; 12 лет назад (2008-09-30)[1]
Стабильный выпуск
Wayland: 1,18,[2] Уэстон: 8,0[3] / 11 февраля 2020; 9 месяцев назад (2020-02-11)
Репозиторий Отредактируйте это в Викиданных
Написано вC
Операционная системаофициальный: Linux
неофициальный: NetBSD, FreeBSD, DragonFly BSD[4]
Тип
ЛицензияЛицензия MIT[5][6][7]
Интернет сайтWayland.freedesktop.org

Wayland это протокол связи который определяет связь между сервер отображения и его клиентов, а также C библиотечная реализация этого протокола.[8] Сервер отображения, использующий протокол Wayland, называется Композитор Wayland, потому что он дополнительно выполняет задачу композитинг оконный менеджер.

Wayland разрабатывается группой добровольцев, первоначально возглавляемой Кристианом Хогсбергом как свободный и Открытый исходный код проект, управляемый сообществом, с целью замены X Window System с современным, безопасным[9][10][11][12] проще оконная система в Linux и другие Unix-подобный операционные системы.[8][13] Исходный код проекта публикуется на условиях Лицензия MIT, а разрешающая лицензия свободных программ.[13][5]

В рамках своих усилий проект Wayland также разрабатывает эталонная реализация композитора Wayland под названием Вестон.[8]

Обзор

  1. В Evdev модуль Ядро Linux получает событие и отправляет его Композитор Wayland.
  2. Композитор Wayland просматривает граф чтобы определить, какое окно должно получить событие. Граф сцены соответствует тому, что находится на экране, и композитор Wayland понимает преобразования, которые он мог применить к элементам в графе сцены. Таким образом, композитор Wayland может выбрать правое окно и преобразовать координаты экрана в локальные координаты окна, применив обратные преобразования. Типы преобразования, которые могут быть применены к окну, ограничены только тем, что может делать композитор, если он может вычислять обратное преобразование для входных событий.
  3. Как и в случае X, когда клиент получает событие, он обновляет пользовательский интерфейс в ответ. Но в случае с Wayland рендеринг выполняется клиентом через EGL, и клиент просто отправляет запрос композитору, чтобы указать регион, который был обновлен.
  4. Композитор Wayland собирает запросы о повреждении от своих клиентов, а затем повторно компонует экран. Затем наборщик может напрямую выдать ioctl запланировать переворот страницы с KMS.

Примерно с 2010 года настольная графика Linux перестала иметь "кучу" рендеринг интерфейсы ... все говорят с X сервер, который находится в центре вселенной ", чтобы поместить ядро ​​Linux и его компоненты (т.е. Инфраструктура прямого рендеринга (DRI), Менеджер прямого рендеринга (DRM) ) "посередине", с "оконными системами, такими как X и Wayland ... в углу". Это будет «значительно упрощенная графическая система, предлагающая большую гибкость и лучшую производительность».[14]

Кристиан Хогсберг мог бы добавить расширение до X как и во многих недавних проектах, но предпочитают «[вытолкнуть] X из горячего пути между клиентами и оборудованием» по причинам, объясненным в FAQ проекта:[13]

Что изменилось сейчас, так это то, что большая часть инфраструктуры переехала из X сервер в ядро ​​(управление памятью, планирование команд, установка режима ) или библиотеки (Каир, pixman, freetype, fontconfig, панго и т. д.), и в процессе центрального сервера должно произойти очень немногое. ... [X-сервер имеет] огромное количество функций, которые вы должны поддерживать, чтобы утверждать, что он говорит по X-протоколу, но никто никогда не будет использовать это. ... Сюда входят кодовые таблицы, растеризация и кеширование глифов, XLFD (серьезно, XLFD!), и весь основной API рендеринга, который позволяет рисовать пунктирные линии, многоугольники, широкие дуги и многие другие графические примитивы в стиле 1980-х годов. Для многих вещей нам удавалось поддерживать сервер X.org в современном состоянии, добавляя такие расширения, как XRandR, XRender и КОМПОЗИТНЫЙ ... С помощью Wayland мы можем переместить X-сервер и все его унаследованные технологии на дополнительный путь кода. Достижение того момента, когда X-сервер является вариантом совместимости, а не основной системой рендеринга, займет некоторое время, но мы никогда этого не добьемся, если [мы] не планируем это делать.

Wayland состоит из протокола и эталонной реализации с именем Вестон. Проект также разрабатывает версии GTK и Qt которые визуализируются в Wayland, а не в X. Ожидается, что большинство приложений получат поддержку Wayland через одну из этих библиотек без модификации приложения.

Первоначальные версии Wayland не предоставлены прозрачность сети, хотя в 2010 году Хогсберг отметил, что сетевая прозрачность возможна.[15]Это было предпринято как Google Summer of Code проект в 2011 году, но успеха не имел.[16]Адам Джексон предусмотрел предоставление удаленного доступа к приложению Wayland путем «очистки пикселей» (например, VNC ) или заставить его отправлять "поток команд рендеринга" по сети (как в RDP, СПЕЦИЯ или же X11 ).[17] По состоянию на начало 2013 года Хогсберг экспериментирует с прозрачностью сети, используя прокси-сервер Wayland, который отправляет сжатые изображения настоящему композитору.[18][19] В августе 2017 года GNOME увидел первую такую ​​реализацию VNC-сервера с парсингом пикселей под Wayland.[20]

Архитектура программного обеспечения

Архитектура протокола

В архитектуре протокола Wayland клиент и наборщик взаимодействуют через протокол Wayland с использованием эталонных библиотек реализации.

Протокол Wayland следует клиент-серверная модель в котором клиенты - это графические приложения, запрашивающие отображение буферов пикселей на экране, а сервер (композитор) - это поставщик услуг, контролирующий отображение этих буферов.

Эталонная реализация Wayland была разработана как двухуровневый протокол:[21]

  • Низкоуровневый слой или проводной протокол это обрабатывает межпроцессного взаимодействия между двумя вовлеченными процессы ‍ - «клиент и наборщик» - ‌ и сортировка данных, которыми они обмениваются. Этот уровень основан на сообщениях и обычно реализуется с помощью служб IPC ядра, в частности Доменные сокеты Unix в случае Linux и Unix-подобный операционные системы.[22]:9
  • На нем построен высокоуровневый уровень, который обрабатывает информацию, которой клиент и наборщик должны обмениваться для реализации основных функций оконная система. Этот уровень реализован как «асинхронный объектно-ориентированный протокол».[22]:9

Хотя низкоуровневый слой был написан вручную на C, уровень высокого уровня автоматически генерируется из описания элементов протокола, хранящихся в XML формат.[23] Каждый раз, когда описание протокола этого XML-файла изменяется, исходный код C, реализующий такой протокол, может быть регенерирован для включения новых изменений, что позволяет создать очень гибкий, расширяемый и защищенный от ошибок протокол.

Эталонная реализация протокола Wayland разделена на две части. библиотеки: библиотека для использования клиентами Wayland, называемая libwayland-client и библиотека для использования композиторами Wayland под названием libwayland-сервер.[22]:57

Обзор протокола

Протокол Wayland описывается как "асинхронный объектно-ориентированный протокол ».[22]:9 Объектно-ориентированный означает, что услуги, предлагаемые наборщиком, представлены в виде серии объекты живет на одном композиторе. Каждый объект реализует интерфейс у которого есть имя, ряд методов (называемых Запросы), а также несколько связанных События. Каждый запрос и событие имеет ноль или более аргументов, каждый из которых имеет имя и тип данных. Протокол асинхронный в том смысле, что запросы не должны ждать синхронизированных ответов или ACK, избегая время задержки туда и обратно и достижение улучшенной производительности.

Клиенты Wayland могут сделать запрос (вызов метода) для некоторого объекта, если интерфейс объекта поддерживает этот запрос. Клиент также должен предоставить необходимые данные для аргументов такого запроса. Таким образом клиенты запрашивают услуги у наборщика. Компоновщик, в свою очередь, отправляет информацию обратно клиенту, заставляя объект генерировать события (возможно, также с аргументами). Эти события могут быть отправлены композитором в ответ на определенный запрос или асинхронно, в зависимости от возникновения внутренних событий (например, от устройства ввода) или изменений состояния. Состояния ошибки также сообщаются композитором как события.[22]:9

Чтобы клиент мог сделать запрос к объекту, ему сначала необходимо сообщить серверу идентификационный номер, который он будет использовать для идентификации этого объекта.[22]:9 В композиторе есть два типа объектов: глобальные объекты и неглобальные объекты. Композитор объявляет глобальные объекты клиентам при их создании (а также при их уничтожении), в то время как неглобальные объекты обычно создаются другими объектами, которые уже существуют как часть их функциональности.[24]

Интерфейсы, их запросы и события являются основными элементами, определяющими протокол Wayland. Каждая версия протокола включает набор интерфейсов, а также их запросы и события, которые, как ожидается, будут в любом композиторе Wayland. При желании композитор Wayland может определять и реализовывать свои собственные интерфейсы, которые поддерживают новые запросы и события, тем самым расширяя функциональность за пределы основного протокола.[22]:10 Чтобы облегчить внесение изменений в протокол, каждый интерфейс помимо имени содержит атрибут «номер версии»; этот атрибут позволяет различать варианты одного и того же интерфейса. Каждый композитор Wayland показывает не только доступные интерфейсы, но и поддерживаемые версии этих интерфейсов.[22]:12

Основные интерфейсы Wayland

Интерфейсы текущей версии протокола Wayland определены в файле протокол / 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 (см. freedesktop.org for XDG) - это расширенный способ управления поверхностями в композиторах 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]

Модель рендеринга

Композитор Wayland и его клиенты используют EGL рисовать прямо в кадровый буфер; Сервер X.Org с XWayland и Гламур.

Протокол Wayland не включает API рендеринга.[22]:7[13][28][29]:2 Вместо этого Wayland следует прямой рендеринг модель, в которой клиент должен отображать содержимое окна в буфер, доступный для совместного использования с композитором.[22]:7 Для этого клиент может выбрать выполнение рендеринга самостоятельно, используя библиотеку рендеринга, например Каир или же OpenGL, или положитесь на механизм рендеринга высокоуровневых библиотек виджетов с поддержкой Wayland, таких как Qt или же GTK. Клиент также может дополнительно использовать другие специализированные библиотеки для выполнения определенных задач, таких как Freetype за рендеринг шрифтов.

Результирующий буфер с визуализированным содержимым окна сохраняется в wl_buffer объект. Внутренний тип этого объекта зависит от реализации. Единственное требование - данные содержимого должны быть доступны для совместного использования клиенту и композитору. Если клиент использует программный (ЦП) рендерер, и результат сохраняется в системная память, то клиент и наборщик могут использовать Общая память для реализации буферной связи без дополнительных копий. Протокол Wayland уже изначально предоставляет такой буфер разделяемой памяти через wl_shm и wl_shm_pool интерфейсы.[22]:11, 20-21 Недостатком этого метода является то, что композитору может потребоваться дополнительная работа (обычно для копирования общих данных в графический процессор) для их отображения, что приводит к снижению производительности графики.

Наиболее типичный случай, когда клиент выполняет рендеринг непосредственно в видеопамять буфер с использованием API с аппаратным (GPU) ускорением, например OpenGL, OpenGL ES или же Вулкан. Клиент и композитор могут совместно использовать этот буфер пространства GPU, используя специальный обработчик для ссылки на него.[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] Кроме того, поскольку подавляющее большинство кода выполняется на клиенте, требуется выполнять меньше кода с корень привилегии, повышающие безопасность,[10] хотя несколько популярных дистрибутивов Linux теперь позволяют запускать X без привилегий root.[39][40][41][42]
Межпроцессного взаимодействия
X-сервер обеспечивает базовый метод связи между X-клиентами, позже расширенный ICCCM условности. Это взаимодействие X-клиент-клиент используется оконными менеджерами, а также для реализации X сессий, выделение и перетаскивание, и другие функции. Основной протокол Wayland вообще не поддерживает связь между клиентами Wayland, и соответствующие функции (при необходимости) должны быть реализованы окружения рабочего стола (например, KDE или GNOME) или третьей стороной (например, с помощью собственного МПК базовой операционной системы).
Сети
Система X Window - это архитектура который был разработан по своей сути для работы в сети. Wayland сам по себе не обеспечивает прозрачности сети;[13] однако композитор может реализовать любой протокол удаленного рабочего стола для достижения удаленного отображения. Кроме того, проводятся исследования потоковой передачи и сжатия изображений Wayland, которые обеспечат доступ к удаленному буферу кадра, аналогичный доступу VNC.[19]

Совместимость с X

Скриншот, показывающий xwayland

XWayland является X сервер работает как клиент Wayland и, таким образом, может отображать собственные клиентские приложения X11 в среде композитора Wayland.[43] Это похоже на способ XQuartz запускает X-приложения в macOS Родная оконная система. Цель XWayland - облегчить переход от системы X Window к средам Wayland, предоставив тем временем возможность запускать непортированные приложения. XWayland была включена в Сервер X.Org версия 1.16.0[44]

Наборы инструментов для виджетов, такие как Qt 5 и GTK 3 могут переключать свои графические серверы во время выполнения,[45] позволяя пользователям выбирать время загрузки хотят ли они запускать приложение через X или через Wayland. Qt 5 предоставляет -Платформа параметр командной строки[46] для этого, тогда как GTK 3 позволяет пользователям выбирать желаемый GDK back-end, установив GDK_BACKEND Переменная среды Unix.[45][47]

Композиторы Wayland

Типовые элементы окно. Ни Wayland, ни X11 не указывают, какое программное обеспечение отвечает за рендеринг украшение окна. Уэстон требует, чтобы их нарисовал клиент, но KWin реализует оформление на стороне сервера.[35]

Показать серверы реализующие протокол сервера отображения Wayland, также называются Композиторы Wayland потому что они дополнительно выполняют задачу композитинг оконный менеджер.

  • Вестон - в эталонная реализация композитора Wayland; Уэстон реализует клиентские украшения
  • Помада - мобильная графическая оболочка фреймворк, реализующий композитор Wayland; он используется в ОС Sailfish, Nemo Mobile и AsteroidOS[48]
  • Просвещение заявлена ​​полная поддержка Wayland с версии 0.20[49] но в настоящее время ведутся работы по созданию полноценного композитора Wayland [50]
  • KWin имеет почти полную поддержку Wayland по состоянию на 2018 год[нужна цитата ]
  • Бормотать поддерживает отдельную ветку для интеграции Wayland для GNOME 3.9 (в сентябре 2013 г.)[51]
  • Clayland - простой пример композитора Wayland с использованием Clutter
  • Вестерос - библиотека композитора Wayland, которая позволяет приложениям создавать свои собственные дисплеи Wayland, что позволяет вкладывать и встраивать сторонние приложения[52]
  • wlroots - модульная реализация Wayland, которая функционирует как база для других композиторов, в первую очередь Качаться[53][54]
  • Качаться - мозаичный композитор Wayland и заменяющий оконный менеджер i3 для X11[55]

Вестон

Уэстон работает postmarketOS

Weston - эталонная реализация композитора Wayland[56] также разработан проектом Wayland. Это написано в C и опубликовано под Лицензия MIT. Уэстон официально поддерживает только Linux операционной системы из-за зависимости Вестона от определенных функций Ядро Linux, Такие как установка режима ядра, Менеджер исполнения графики (GEM) и udev, которые не были реализованы в других Unix-подобных операционных системах.[57] При работе в Linux обработка входного оборудования зависит от Evdev, а обработка буферов зависит от Общее управление буфером (ГБМ). Однако в 2013 году прототип порта Вестона на FreeBSD было объявлено.[58]

Уэстон поддерживает Защита широкополосного цифрового контента (HDCP).[59]

Weston полагается на GEM для совместного использования буферов приложений между композитором и приложениями. Он содержит подключаемую систему «оболочек» для общих функций рабочего стола, таких как док-станции и панели.[19] Клиенты несут ответственность за прорисовку рамок окон и украшения. Для рендеринга Уэстон может использовать OpenGL ES[60] или библиотека pixman сделать программный рендеринг.[61] Полная реализация OpenGL не используется, потому что в большинстве современных систем установка полных библиотек OpenGL также приведет к установке GLX и другие X Window System библиотеки поддержки как зависимости.[62]

Интерфейс удаленного доступа для Weston был предложен в октябре 2013 г. RealVNC наемный рабочий.[63]

Мэйнард

Рабочий стол Maynard в январе 2017 года

Мэйнард это графическая оболочка и был написан как плагин для Weston, как и Оболочка GNOME был написан как плагин к Бормотать.[64]

libinput

libinput был создан для объединения входного стека нескольких композиторов Wayland.

Код Weston для работы с устройствами ввода (клавиатуры, указатели, сенсорные экраны и т. Д.) Был разделен на отдельную библиотеку под названием libinput, поддержка которых была впервые объединена в Weston 1.5.[65][66]

Libinput обрабатывает устройства ввода для нескольких композиторов Wayland, а также предоставляет общий Сервер X.Org драйвер ввода. Он направлен на предоставление одной реализации для нескольких композиторов Wayland с общим способом обработки событий ввода при минимальном количестве настраиваемых композиторов кода ввода, которые необходимо включать. libinput обеспечивает обнаружение устройства[требуется разъяснение ] (через udev ), управление устройством, обработка событий устройства ввода и абстракция.[67][68]

Версия 1.0 libinput последовала за версией 0.21 и включала поддержку планшетов, наборов кнопок и жестов сенсорной панели. Эта версия будет поддерживать стабильный API / ABI.[69]

Как GNOME / GTK и Фреймворки KDE 5[70] внесены необходимые изменения, Fedora 22 заменит драйверы evdev и Synaptics X.Org на libinput.[71]

В версии 1.16 Сервер X.Org получил поддержку libinput библиотека в виде оболочки под названием xf86-вход-libinput.[72][73]

Модуль безопасности Wayland

Модуль безопасности Wayland - это предложение, которое напоминает Модуль безопасности Linux интерфейс найден в Ядро Linux.[74]

Некоторые приложения (особенно связанные с доступность ) требуют привилегированных возможностей, которые должны работать с разными композиторами Wayland. В настоящее время,[когда? ] приложения в Wayland обычно не могут выполнять какие-либо важные задачи, такие как создание снимков экрана или внедрение событий ввода. Разработчики Wayland активно ищут возможные способы безопасной работы с привилегированными клиентами, а затем проектируют для них привилегированные интерфейсы.

Модуль безопасности Wayland - это способ делегировать решения по безопасности в композиторе централизованному механизму принятия решений.[74]

Принятие

Протокол Wayland разработан так, чтобы быть простым, поэтому необходимо определить и внедрить дополнительные протоколы и интерфейсы для достижения целостной оконной системы. По состоянию на июль 2014 года эти дополнительные интерфейсы находились в стадии разработки. Итак, хотя инструментарий уже полностью поддерживает Wayland, разработчики графические оболочки сотрудничают с разработчиками Wayland, создавая необходимые дополнительные интерфейсы.

Дистрибутивы Linux для настольных ПК

По состоянию на 2020 год большинство дистрибутивов Linux поддерживают Wayland из коробки, вот некоторые известные примеры:

  • Fedora начиная с версии 25 (выпущенной 22 ноября 2016 г.) использует Wayland для сеанса рабочего стола GNOME 3.22 по умолчанию, с X.Org в качестве запасного варианта, если графический драйвер не поддерживает Wayland.[75]
  • Ubuntu поставляет Wayland по умолчанию в Ubuntu 17.10 (Artful Aardvark).[76] Ubuntu вернулась к X.Org для Ubuntu 18.04 LTS, так как Wayland все еще имеет проблемы с совместным использованием экрана и приложениями удаленного рабочего стола, а также не восстанавливается после сбоев диспетчера окон.[77][78] В выпуске Ubuntu 20.10 Xorg по-прежнему использовался по умолчанию.[79]
  • Red Hat Enterprise Linux отправляет Wayland в качестве сеанса по умолчанию в версии 8, выпущенной 14 ноября 2018 г.[80]
  • Debian поставляет Wayland в качестве сеанса по умолчанию для GNOME с версии 10, выпущенной 6 июля 2019 года.[81]
  • Slackware Linux включен Wayland 20 февраля 2020 г.[82] для разрабатываемой версии - -current, которая со временем станет версией 15.0.
  • PureOS включил Wayland 20 февраля 2020 года в разрабатываемую версию -current, которая в конечном итоге станет версией 15.0.[83]
  • Манджаро поставляет Wayland по умолчанию в Manjaro 20.2 (Nibia) (выпущен 22 ноября 2020 г.).[84]

Известный ранний последователь:

  • RebeccaBlackOS - это живой USB На основе Debian[85] Дистрибутив Linux, который позволяет легко опробовать настоящий рабочий стол Wayland без необходимости вносить какие-либо изменения в основную операционную систему компьютера.[86] Он использовался с 2012 года для демонстрации Wayland.[87][88]

Поддержка инструментария

Наборы инструментов, поддерживающие Wayland, включают следующее:

  • Беспорядок имеет полную поддержку Wayland.[89][90][91]
  • EFL имеет полную поддержку Wayland, за исключением выбора.[92]
  • GTK 3.20 имеет полную поддержку Wayland.[93]
  • Qt 5 имеет полную поддержку Wayland и может использоваться для написания как композиторов Wayland, так и клиентов Wayland.
  • SDL поддержка Wayland дебютировала с выпуском 2.0.2[94] и был включен по умолчанию с версии 2.0.4.[95]
  • GLFW 3.2 имеет поддержку Wayland.[96]
  • FreeGLUT имеет начальную поддержку Wayland.[97]

Среды рабочего стола

Окружения рабочего стола в процессе переноса с X на Wayland включают ГНОМ,[98] KDE Plasma 5[99] и Просвещение.[100]

В ноябре 2015 года был анонсирован Enlightenment e20 с полной поддержкой Wayland.[101][49][102] GNOME 3.20 была первой версией, в которой была полнофункциональная сессия Wayland.[103] GNOME 3.22 включает значительно улучшенную поддержку Wayland в GTK, Mutter и GNOME Shell.[104] GNOME 3.24 предоставил поддержку проприетарных драйверов NVidia в Wayland.[105]

Поддержка Wayland для KDE Plasma была отложена до выпуска Plasma 5,[106] хотя ранее KWin 4.11 получила экспериментальную поддержку Wayland.[107] Версия 5.4 Plasma была первой с сессией Wayland.[108] В течение 2020 года Klipper был перенесен на Wayland, а следующая версия 5.20 в октябре 2020 года имеет целью улучшить трансляцию экрана и запись.[109] По крайней мере, одна основная часть KDE: sddm еще не перенесена на Wayland по состоянию на сентябрь 2020 года.[110]

Другое ПО

Другое программное обеспечение, поддерживающее Wayland, включает следующее:

  • Интеллектуальная входная шина работает над поддержкой Wayland, возможно, он будет готов для Fedora 22.[111]
  • RealVNC опубликовал предварительную версию Wayland для разработчиков в июле 2014 года.[63][112][113]
  • Малиит является Метод ввода фреймворк, работающий под управлением Wayland.[114][115][116]
  • кмскон поддерживает Wayland с wlterm.[117]
  • Меса имеет встроенную поддержку Wayland.[118]
  • Затмение был вынужден бежать по Вейленду во время GSoC -Проект 2014г.[119]
  • В Вулкан ВИС (Интерфейс оконной системы) - это набор вызовов API, служащих той же цели, что и EGL для OpenGL ES или GLX для OpenGL. Vulkan WSI включает поддержку Wayland с первого дня: VK_USE_PLATFORM_WAYLAND_KHR. Клиенты Vulkan могут работать на немодифицированных серверах Wayland, включая Weston, GENIVI LayerManager, Mutter / GNOME Shell, Enlightenment и другие. WSI позволяет приложениям обнаруживать различные графические процессоры в системе и отображать результаты рендеринга графического процессора в оконной системе.[120]
  • SPURV, уровень совместимости для приложений Android для запуска в дистрибутивах GNU / Linux с использованием Wayland

Мобильное и встроенное оборудование

Мобильное и встроенное оборудование, поддерживающее Wayland, включает следующее:

История

Wayland использует прямой рендеринг над EGL.

Кристиан Хегсберг, а Linux графика и X.Org разработчик кто ранее работал над AIGLX и DRI2, начал Wayland в качестве свободного времени в 2008 году, работая в Красная шляпа.[130][131][132][133] Его заявленной целью была система, в которой «каждый кадр идеален, под этим я подразумеваю, что приложения смогут достаточно контролировать рендеринг, чтобы мы никогда не увидели разрывов, задержек, перерисовки или мерцания». Хёгсберг проезжал через город Wayland, Массачусетс когда основные концепции «кристаллизовались», отсюда и название.[132][134]

В октябре 2010 года Wayland стала freedesktop.org проект.[135][136] В рамках миграции предыдущий Группа Google был заменен Wayland-Devel список рассылки как центральная точка обсуждения и развития проекта.

Клиентские и серверные библиотеки Wayland изначально выпускались под Лицензия MIT,[137] в то время как эталонный композитор Weston и некоторые примеры клиентов использовали Стандартная общественная лицензия GNU версии 2.[138] Позже весь код GPL был перелицензирован под лицензией MIT, «чтобы упростить перенос кода между эталонной реализацией и реальными библиотеками».[139] В 2015 году было обнаружено, что текст лицензии, используемый Wayland, был немного другой и более старой версией лицензии MIT, а текст лицензии был обновлен до текущей версии, используемой Проект X.Org (известный как Лицензия MIT Expat ).[5]

Wayland работает со всеми Mesa-совместимый водители с DRI2 поддерживать[118] а также Android драйверы через Проект Hybris.[140][141][142]

Разработчики Wayland в основном современные Сервер X.Org Разработчики.[18]

Релизы

Основные релизы Wayland и Weston[143]
ВерсияДатаОсновные особенности
WaylandВестон
Старая версия, больше не поддерживается: 0.859 февраля 2012 г.[144]Первый выпуск.
Старая версия, больше не поддерживается: 0.9524 июля 2012 г.[145]Началась стабилизация API.
Старая версия, больше не поддерживается: 1.022 октября 2012 г.[146][147]Стабильный Wayland-client API.
Старая версия, больше не поддерживается: 1.115 апреля 2013 г.[148][149]Программный рендеринг.[61] FBDEV, бэкэнды RDP.
Старая версия, больше не поддерживается: 1.212 июля 2013 г.[150][151]Стабильный API wayland-server.Управление цветом. Подповерхности. Raspberry Pi бэкэнд.
Старая версия, больше не поддерживается: 1.311 октября 2013 г.[152]Больше форматов пикселей. Поддержка языковых привязок.Android Водитель поддерживать через libhybris.
Старая версия, больше не поддерживается: 1.423 января 2014 г.[25]Новые интерфейсы wl_subcompositor и wl_subsurface.Множественные форматы буфера кадра. поддержка logind для Weston без root.
Старая версия, больше не поддерживается: 1.520 мая 2014 г.[65]libinput. Полноэкранная оболочка.
Старая версия, больше не поддерживается: 1.619 сентября 2014 г.[153]libinput по умолчанию.
Старая версия, больше не поддерживается: 1.714 февраля 2015 г.[154][155]Поддержка расширения презентаций Wayland и наземных ролей. IVI протокол оболочки.
Старая версия, больше не поддерживается: 1.82 июня 2015 г.[156][157]Отдельные заголовки для основного и сгенерированного протокола.Планирование перекраски. Именованные выходы. Выходные преобразования. API наземной съемки.
Старая версия, больше не поддерживается: 1.921 сентября 2015 г.[158][159]Обновленная лицензия.Обновленная лицензия. Новая тестовая среда. Наборщик DRM с тремя головками. linux_dmabuf расширение.
Старая версия, больше не поддерживается: 1.1017 февраля 2016 г.[160][161]Функциональность перетаскивания, сгруппированные события указателя.[162]Видео 4 Linux 2, сенсорный ввод, улучшения отладки.[163]
Старая версия, больше не поддерживается: 1.111 июня 2016 г.[164][165]Новая процедура загрузки резервных копий, новая логика настройки.Прокси-оболочки, изменения общей памяти, HTML-документы, созданные Doxygen.
Старая версия, больше не поддерживается: 1.1221 сентября 2016 г.[166][167]Улучшена поддержка отладки.libweston и libweston-desktop. Блокировка и удержание указателя. Поддержка относительного указателя.
Старая версия, больше не поддерживается: 1.1324 февраля 2017 г.[168][169]ABI Вестона был изменен, поэтому новая версия получила название 2.0.0, а не 1.13.0.
Старая версия, больше не поддерживается: 1.148 августа 2017 г.[170][171]В то же время был выпущен Weston 3.0.0.
Старая версия, больше не поддерживается: 1.159 апреля 2018 г.[172][173]В то же время был выпущен Weston 4.0.0.
Старая версия, больше не поддерживается: 1.1624 августа 2018 г.[174][175]В то же время был выпущен Weston 5.0.0.
Старая версия, больше не поддерживается: 1.1720 марта 2019 г.[176][177]В то же время был выпущен Weston 6.0.0.
Текущая стабильная версия: 1.182 августа 2019 г.[2][178]Месяц спустя был выпущен Weston 7.0.0.
Уэстон 8[179]24 января 2020 г.
Уэстон 9[180]4 сентября 2020 г.
Легенда:
Старая версия
Старая версия, все еще поддерживается
Последняя версия
Последняя предварительная версия
Будущий выпуск

Смотрите также

Рекомендации

  1. ^ Хогсберг, Кристиан (30 сентября 2008 г.). «Начальная фиксация». Получено 3 января 2020.
  2. ^ а б Сур, Саймон (11 февраля 2020 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.18" (Список рассылки). Получено 12 февраля 2020.
  3. ^ Сер, Саймон (24 января 2020 г.). "[ОБЪЯВЛЕНИЕ] Вестон 8.0.0" (Список рассылки). Получено 12 февраля 2020.
  4. ^ "Композитор Wayland & Weston перенесен на DragonFlyBSD - Phoronix". www.phoronix.com.
  5. ^ а б c Харрингтон, Брайс (15 сентября 2015 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.8.93". freedesktop.org (Список рассылки).
  6. ^ "wayland / wayland: корень / КОПИРОВАНИЕ". freedesktop.org. Получено 14 июн 2015.
  7. ^ Ларабель, Майкл (10 июня 2015 г.). «Лицензия Wayland MIT будет обновлена ​​/ исправлена». Phoronix.com. Получено 17 апреля 2016.
  8. ^ а б c "Вэйланд". Проект Wayland. Получено 9 мая 2016.
  9. ^ Сенгар, Шивам Сингх. "Wayland против Xorg: чем они похожи и чем отличаются". Secjuice. Получено 10 сентября 2020.
  10. ^ а б c Керриск, Майкл (25 сентября 2012 г.). «XDC2012: Безопасность графического стека». LWN.net. Получено 13 апреля 2016.
  11. ^ а б Перес, Мартин (21 февраля 2014 г.). "Композиторы Wayland - Почему и как обращаться с привилегированными клиентами!". Получено 17 апреля 2016.
  12. ^ а б Грэсслин, Мартин (23 ноября 2015 г.). «Взгляд на безопасность Plasma / Wayland». Получено 18 апреля 2016.
  13. ^ а б c d е "Вэйланд FAQ". Проект Wayland. Получено 9 мая 2016.
  14. ^ Корбет, Джонатан (5 ноября 2010 г.). "LPC: Жизнь после X". LWN.net. Получено 17 апреля 2016.
  15. ^ Хогсберг, Кристиан (9 ноября 2010 г.). «Аргумент сетевой прозрачности». Wayland не является API удаленного рендеринга, как X, но это не исключает прозрачности сети. Клиенты выполняют рендеринг в общий буфер, а затем должны сообщить композитору (...), что они изменили. Затем композитор может отправить новые пиксели в этой области по сети. Протокол Wayland уже является сильно асинхронным, поэтому он должен уметь изящно справляться с небольшими задержками в сети. Удаленный полноэкранный просмотр видео или игры не будут работать хорошо, [но] я не знаю никакой другой системы отображения, которая справилась бы с этим хорошо и прозрачно.
  16. ^ Ларабель, Майкл (18 августа 2011 г.). "Проект удаленного сервера Wayland: работает ли он?". Phoronix.com. Получено 17 апреля 2016.
  17. ^ Джексон, Адам (9 ноября 2010 г.). "[Re:] Ubuntu движется в сторону Wayland".
  18. ^ а б Стоун, Дэниел (28 января 2013 г.). Настоящая история Wayland и X (Речь). linux.conf.au 2013. Канберра. Получено 13 апреля 2016.
  19. ^ а б c Уиллис, Натан (13 февраля 2013 г.). «LCA: Пути Вейланда». LWN.net. Получено 19 мая 2016.
  20. ^ Даниэль Александерсен. «Возможности удаленного рабочего стола вернутся в GNOME на Wayland». Ctrl.blog. Получено 29 августа 2017.
  21. ^ а б "Учебник Hello Wayland". 8 июля 2014 г.. Получено 25 июля 2014.
  22. ^ а б c d е ж грамм час я j k л м п о Хегсберг, Кристиан. "Документация Wayland 1.3" (PDF). Получено 16 марта 2016.
  23. ^ а б Хегсберг, Кристиан. "протокол / wayland.xml". FreeDesktop.org. Получено 25 июля 2014.
  24. ^ а б Пааланен, Пекка (25 июля 2014 г.). «Дизайн протокола Wayland: срок службы объекта». Получено 6 апреля 2016.
  25. ^ а б Хегсберг, Кристиан (24 января 2014 г.). "Wayland and Weston 1.4 отсутствует". список рассылки wayland-devel.
  26. ^ "xdg_shell: Добавление нового протокола оболочки". freedesktop.org. 3 декабря 2013 г.. Получено 14 июн 2014.
  27. ^ "GENIVI / wayland-ivi-extension".
  28. ^ а б c Вервлосем, Коэн (15 февраля 2012 г.). "FOSDEM: дисплейный сервер Wayland". LWN.net. Получено 9 мая 2016.
  29. ^ Барнс, Джесси. "Знакомство с Wayland" (PDF). Центр технологий открытого исходного кода Intel. Получено 18 апреля 2016. Не включает API рендеринга - клиенты используют то, что хотят, и отправляют дескрипторы буфера на сервер
  30. ^ Пааланен, Пекка (21 ноября 2012 г.). «О поддержке клиентов Wayland GL и проприетарных встраиваемых платформ». Получено 6 апреля 2016. Совместное использование буфера работает путем создания дескриптора для буфера и передачи этого дескриптора другому процессу, который затем использует дескриптор, чтобы снова обеспечить доступ графического процессора к тому же буферу.
  31. ^ Гриффит, Эрик (7 июня 2013 г.). «Ситуация в Вейланде: факты о X против Вейланда». Phoronix.com. п. 2. Получено 17 апреля 2016.
  32. ^ а б "Вэйландская архитектура". Проект Wayland. Получено 9 мая 2016.
  33. ^ Эдж, Джейк (11 апреля 2012 г.). «LFCS 2012: X и Wayland». LWN.net. Получено 17 апреля 2016.
  34. ^ «Пример архитектуры компоновщика Wayland / X: Enlightenment DR19» (PDF). Получено 18 апреля 2016.
  35. ^ а б Грэсслин, Мартин (7 февраля 2013 г.). "Декорации окон на стороне клиента и Wayland". Получено 17 апреля 2016.
  36. ^ «X.Org Security». Фонд X.Org. Получено 2 июля 2017. X-сервер уже давно включает расширение SECURITY, которое обеспечивает поддержку простой модели доверенного / ненадежного соединения.
  37. ^ Виггинс, Дэвид П. (15 ноября 1996 г.). «Спецификация расширения безопасности». X Консорциум Стандарт. Получено 2 июля 2017.
  38. ^ Уолш, Имон Ф. (2009). «Спецификация расширения контроля доступа X». Получено 2 июля 2017.
  39. ^ «Debian по умолчанию переходит на некорневой сервер X.Org - Phoronix». www.phoronix.com.
  40. ^ "Некорневой Xorg - Gentoo Wiki". wiki.gentoo.org.
  41. ^ "X / Rootless - Ubuntu Wiki". wiki.ubuntu.com.
  42. ^ «1078902 - Xorg без рут прав». bugzilla.redhat.com.
  43. ^ «Клиенты X под Wayland (XWayland)». Проект Wayland. Получено 18 июля 2014.
  44. ^ "ОБЪЯВЛЕНИЕ: xorg-server 1.16.0". freedesktop.org. 17 июля 2014 г.
  45. ^ а б Хегсберг, Кристиан (3 января 2011 г.). «Несколько бэкэндов для GTK». Получено 10 марта 2016.
  46. ^ "QtWayland". Qt Wiki. Получено 9 марта 2016.
  47. ^ «Полная поддержка Wayland в GTK». GNOME вики. Получено 10 марта 2016.
  48. ^ Эдж, Джейк (31 июля 2013 г.). «Jolla: Sailfish OS, Qt и открытый исходный код». LWN.net. Получено 17 апреля 2016.
  49. ^ а б Ларабель, Майкл (30 ноября 2015 г.). «Enlightenment 0.20 прибывает с полной поддержкой Wayland и улучшенной поддержкой FreeBSD». Phoronix.com. Получено 17 апреля 2016.
  50. ^ "Вэйланд". www.enlightenment.org.
  51. ^ "Указатель / sources / mutter-wayland". download.gnome.org.
  52. ^ "Westeros Github Mirror". Получено 19 сентября 2016.
  53. ^ "swaywm / wlroots". GitHub. Получено 28 октября 2018.
  54. ^ "swaywm / sway". GitHub. Получено 28 октября 2018.
  55. ^ "Качаться". swaywm.org. Получено 20 декабря 2018.
  56. ^ "ПРОЧТИ МЕНЯ". cgit.freedesktop.org.
  57. ^ "Файл README из репозитория исходного кода Wayland". freedesktop.org.
  58. ^ Ларабель, Майкл (16 февраля 2013 г.). «Wayland начинает процесс переноса на FreeBSD». Phoronix.com. Получено 17 апреля 2016.
  59. ^ "Добавление поддержки защиты контента в drm-backend (! 48) · Запросы на слияние · wayland / weston". GitLab. Получено 27 октября 2019.
  60. ^ Пааланен, Пекка (10 марта 2012 г.). "Что делает EGL в стеке Wayland". Получено 19 мая 2016.
  61. ^ а б Ларабель, Майкл (6 января 2013 г.). "Программный рендерер Pixman для Weston Wayland". Phoronix.com. Получено 17 апреля 2016.
  62. ^ Хегсберг, Кристиан (9 декабря 2010 г.). "Blender3D и фиксация курсора".
  63. ^ а б "[RFC weston] модуль интерфейса удаленного доступа". freedesktop.org. 18 октября 2013 г.
  64. ^ "Объявление Мейнарда". 16 апреля 2014 г.. Получено 16 апреля 2014.
  65. ^ а б Хегсберг, Кристиан (20 мая 2014 г.). «Выпущена версия Wayland and Weston 1.5.0». список рассылки wayland-devel.
  66. ^ Ådahl, Jonas (12 ноября 2013 г.). «[RFC] Общая библиотека устройств ввода». Список рассылки Wayland.
  67. ^ "libinput". Freedesktop.org. Получено 21 мая 2014.
  68. ^ Хаттерер, Питер (8 октября 2014 г.). Объединение входных стеков с помощью libinput (Речь). Конференция разработчиков X.Org 2014. Бордо. Получено 14 января 2020.
  69. ^ Хаттерер, Питер (22 февраля 2015 г.). "libinput: путь к 1.0".
  70. ^ «В Touchpad KCM добавлена ​​поддержка Libinput». 22 февраля 2015.
  71. ^ Гёде, Ханс де (23 февраля 2015 г.). «Libinput теперь включен в качестве драйвера xorg по умолчанию для установки рабочей станции F-22».
  72. ^ Хаттерер, Питер (24 сентября 2014 г.). "libinput - общий стек ввода для композиторов Wayland и драйверов X.Org". Получено 17 апреля 2016.
  73. ^ де Геде, Ханс (1 февраля 2015 г.). «Замена ввода xorg - Драйверы на libinput» (PDF). Получено 18 апреля 2016.
  74. ^ а б Додье-Лазаро, Стив; Перес, Мартин (9 октября 2014 г.). Безопасность в настольных средах на основе Wayland: привилегированные клиенты, авторизация, аутентификация и песочница! (Речь). Конференция разработчиков X.Org 2014. Бордо. Получено 18 апреля 2016.
  75. ^ «Изменения / WaylandByDefault - Проект Fedora Wiki». fedoraproject.org. Получено 9 ноября 2020.
  76. ^ «Примечания к выпуску для Ubuntu 17.10». Канонический.
  77. ^ "Ubuntu 18.04 вернется к устаревшей Xorg".
  78. ^ «Bionic Beaver 18.04 LTS для использования Xorg по умолчанию». Канонический.
  79. ^ «Как включить / отключить Wayland на рабочем столе Ubuntu 20.04». linuxconfig.org. Получено 10 сентября 2020.
  80. ^ «Глава 4. Новые возможности». Портал для клиентов Red Hat. Получено 8 мая 2019.
  81. ^ «NewInBuster - Debian Wiki». wiki.debian.org. Получено 15 июля 2019.
  82. ^ "Журналы изменений Slackware". Slackware Linux. Получено 26 февраля 2020.
  83. ^ «⚡ Часто задаваемые вопросы по PureOS FAQ». tracker.pureos.net. Получено 9 ноября 2020.
  84. ^ "Manjaro 20.2 Nibia выпущен". Получено 3 декабря 2020.
  85. ^ «ОС Wayland Live теперь основана на тестировании Debian, работает поддержка KDE Wayland». Фороникс.
  86. ^ "RebeccaBlackOS". Sourceforge.
  87. ^ "Пробуем Вэйланд с Ребеккой Блэк". Фороникс.
  88. ^ "New Wayland Live CD имеет множество функций". Фороникс.
  89. ^ Басси, Эммануэле (31 января 2011 г.). "ОБЪЯВЛЕНИЕ: Clutter 1.6.0 (стабильный)". беспорядок-анонс (Список рассылки).
  90. ^ Брэдфорд, Роб (16 декабря 2011 г.). "Обновление Clutter & Cogl Wayland". Получено 9 марта 2016. Поддержка на стороне клиента Clutter в основном завершена
  91. ^ Басси, Эммануэле (24 сентября 2013 г.). "ОБЪЯВЛЕНИЕ: Clutter 1.16.0 (стабильный)". беспорядок-анонс (Список рассылки).
  92. ^ «Вейланд - Просвещение». Архивировано из оригинал 29 марта 2013 г.. Получено 6 марта 2013.
  93. ^ «Дорожная карта ГТК». Получено 8 марта 2016.
  94. ^ Лантинга, Сэм (8 марта 2014 г.). "SDL 2.0.2 ВЫПУСКАЕТСЯ!". SDL проект. Получено 18 марта 2014.
  95. ^ Ларабель, Майкл (9 января 2016 г.). «SDL 2.0.4 был незаметно выпущен на прошлой неделе с Wayland & Mir по умолчанию». Phoronix.com. Получено 17 апреля 2016.
  96. ^ Берглунд, Камилла (8 апреля 2014 г.). «Реализация для Wayland · Проблема №106 · glfw / glfw · GitHub». Получено 14 августа 2014.
  97. ^ «FreeGLUT: реализовать начальную поддержку Wayland». GitHub.
  98. ^ «Инициативы GNOME - Вейланд». GNOME Wiki. Получено 8 марта 2016.
  99. ^ "KWin / Wayland". Вики Сообщества KDE. Получено 8 марта 2016.
  100. ^ «Просвещение - Вэйланд». Enlightenment.org. Получено 8 марта 2016.
  101. ^ «Релиз Enlightenment DR 0.20.0». Enlightenment.org. Получено 8 марта 2016.
  102. ^ "Просвещение Вэйланда". FOSDEM.org. Получено 8 марта 2016.
  103. ^ "ReleasePlanning / FeaturesPlans". Проект GNOME. Получено 31 мая 2015.
  104. ^ «Взгляните на захватывающие возможности / улучшения GNOME 3.22». Фороникс.
  105. ^ «GNOME обеспечивает основную поддержку NVIDIA Wayland с помощью EGLStreams». Фороникс.
  106. ^ "Путь Плазмы в Вейланд". 25 июля 2014 г.
  107. ^ Ларабель, Майкл (14 июня 2013 г.). «Выпущена бета-версия KDE 4.11, работает в Wayland». Phoronix.com. Получено 17 апреля 2016.
  108. ^ Грэсслин, Мартин (29 июня 2015 г.). "Четыре года спустя". Получено 17 апреля 2016.
  109. ^ Лиам Доу. «KDE Plasma 5.20 будет правильно поддерживать запись экрана на Wayland и других устройствах». gamingonlinux.com. Получено 10 сентября 2020.
  110. ^ "SDDM без X". фабрикатор. Получено 10 сентября 2020.
  111. ^ Шаллер, Кристиан (3 июля 2014 г.). «Wayland в обновлении Fedora». blogs.gnome.org. Получено 17 апреля 2016.
  112. ^ «Предварительная версия для разработчиков VNC® Wayland». 8 июля 2014 г. Архивировано с оригинал 14 июля 2014 г.
  113. ^ «Электронное письмо разработчика RealVNC Wayland с предварительным просмотром». freedesktop.org. 9 июля 2014 г.
  114. ^ «Обновление статуса Малиита». Постерный. 2 апреля 2013 г. Архивировано с оригинал 17 мая 2013 г.. Получено 14 октября 2013.
  115. ^ «Дополнительные улучшения клавиатуры Maliit: QtQuick2». Блог Мюррея. 2 апреля 2013 г.. Получено 14 октября 2013.
  116. ^ «Малиит под Вейландом». Архивировано из оригинал 11 июня 2013 г.. Получено 14 сентября 2013.
  117. ^ "wlterm". Freedesktop.org. Получено 8 июля 2014.
  118. ^ а б Hillesley, p. 3.
  119. ^ «Eclipse теперь работает на Wayland». 18 августа 2014 г.
  120. ^ Стоун, Дэниел (16 февраля 2016 г.). «Спецификация Vulkan 1.0 выпущена с первой поддержкой Wayland».
  121. ^ "Backend DRM Wayland | Управление уровнями IVI". GENIVI Alliance. Архивировано из оригинал 1 февраля 2014 г.. Получено 15 июля 2013.
  122. ^ «Пример использования Raspberry Pi». Collabora. Получено 9 августа 2013.
  123. ^ "Предварительный просмотр Wayland". Raspberry Pi. Получено 9 августа 2013.
  124. ^ «Первый смартфон Jolla работает с Wayland». LinuxG.net. 14 июля 2013 г.. Получено 8 октября 2013.
  125. ^ VDVsx [@VDVsx] (13 июля 2013 г.). "# схема основных компонентовsailfishos. # Qt5 #Wayland #JollaHQ #Akademy" (Твит) - через Twitter.
  126. ^ Джолла [@JollaHQ] (13 июля 2013 г.). "@faenil @PeppeLaKappa @VDVsx, наша первая Jolla будет поставляться с путевой страной, да" (Твит) - через Twitter.
  127. ^ «Настройка IVI / IVI». Tizen Вики. Получено 8 апреля 2013.
  128. ^ ВанКутсем, Жоффрой (10 июля 2013 г.). "[IVI] Выпущен Tizen IVI 3.0-M1". IVI (Список рассылки).
  129. ^ Амадео, Рон. «Samsung Z4 - новый флагманский смартфон Tizen». Ars Technica. Получено 13 мая 2017.
  130. ^ Хегсберг, Кристиан (3 ноября 2008 г.). «Преждевременная огласка лучше, чем ее отсутствие». Получено 6 апреля 2016.
  131. ^ «Интервью: Кристиан Хогсберг». Архив FOSDEM. 29 января 2012 г.. Получено 8 марта 2016.
  132. ^ а б Хиллесли, Ричард (13 февраля 2012 г.). "Wayland - За пределами X". H Open. Heise Media UK. Получено 8 марта 2016.
  133. ^ Хогсберг, Кристиан. «Wayland - новый дисплейный сервер для Linux». Конференция сантехников Linux, 2009 г. Архивировано с оригинал 11 августа 2017 г.
  134. ^ Дженкинс, Эван (22 марта 2011 г.). «Стек графики Linux от X до Wayland». Ars Technica. Получено 17 апреля 2016.
  135. ^ Ларабель, Майкл (29 октября 2010 г.). «Wayland становится проектом FreeDesktop.org». Phoronix.com. Получено 17 апреля 2016.
  136. ^ Хогсберг, Кристиан (29 октября 2010 г.). «Переход на freedesktop.org». Получено 31 июля 2013.
  137. ^ Хегсберг, Кристиан (3 декабря 2008 г.). «Wayland теперь находится под лицензией MIT». Wayland-дисплей-сервер (Список рассылки).
  138. ^ Хогсберг, Кристиан (22 ноября 2010 г.). «Уточнение лицензии Wayland». Wayland-Devel (Список рассылки).
  139. ^ Хегсберг, Кристиан (19 сентября 2011 г.). «Обновление лицензии». Wayland-Devel (Список рассылки).
  140. ^ Мунк, Карстен (11 апреля 2013 г.). "Wayland, использующая драйверы графического процессора Android в системах на основе glibc, часть 1". Мер проект. Получено 3 июля 2013.
  141. ^ Мунк, Карстен (8 июня 2013 г.). "Wayland, использующая драйверы графического процессора Android в системах на базе glibc, часть 2". Мер проект. Получено 3 июля 2013.
  142. ^ Ларабель, Майкл (11 апреля 2013 г.). "Jolla предлагает Wayland поверх драйверов графического процессора Android". Phoronix.com. Получено 17 апреля 2016.
  143. ^ "Вэйланд". Wayland.freedesktop.org. Получено 15 июля 2013.
  144. ^ Хегсберг, Кристиан (9 февраля 2012 г.). "[ОБЪЯВЛЕНИЕ] Выпущена версия 0.85.0 Wayland and Weston". список рассылки wayland-devel.
  145. ^ Хегсберг, Кристиан (24 июля 2012 г.). «Выпущен Wayland and Weston 0.95.0». список рассылки wayland-devel.
  146. ^ Хегсберг, Кристиан (22 октября 2012 г.). "Уэйленд и Уэстон 1.0". список рассылки wayland-devel.
  147. ^ Шершель, Фабиан (23 октября 2012 г.). «Веха Wayland 1.0 исправляет графический протокол». H Open. Heise Media UK. Получено 17 апреля 2016.
  148. ^ Ларабель, Майкл (16 апреля 2013 г.). "Wayland 1.1 официально выпущен вместе с Weston 1.1". Phoronix.com. Получено 17 апреля 2016.
  149. ^ Хогсберг, Кристиан (15 апреля 2013 г.). "1.1 Выпущено". список рассылки wayland-devel.
  150. ^ Ларабель, Майкл (13 июля 2013 г.). «Выпущен Wayland 1.2.0, к нему присоединился композитор Уэстон». Phoronix.com. Получено 17 апреля 2016.
  151. ^ Хегсберг, Кристиан (12 июля 2013 г.). «Выпущен Wayland and Weston 1.2.0». список рассылки wayland-devel.
  152. ^ Хегсберг, Кристиан (11 октября 2013 г.). «Выпуски Wayland и Weston 1.3 отсутствуют». список рассылки wayland-devel.
  153. ^ Пааланен, Пекка (19 сентября 2014 г.). «Выпущен Wayland and Weston 1.6.0». список рассылки wayland-devel.
  154. ^ Харрингтон, Брайс (14 февраля 2015 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.7.0". список рассылки wayland-devel.
  155. ^ Харрингтон, Брайс (14 февраля 2015 г.). "[ОБЪЯВЛЕНИЕ] Уэстон 1.7.0". список рассылки wayland-devel.
  156. ^ Харрингтон, Брайс (2 июня 2015 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.8.0". список рассылки wayland-devel.
  157. ^ Харрингтон, Брайс (2 июня 2015 г.). "[ОБЪЯВЛЕНИЕ] Уэстон 1.8.0". список рассылки wayland-devel.
  158. ^ Харрингтон, Брайс (21 сентября 2015 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.9.0". Wayland-Devel (Список рассылки).
  159. ^ Харрингтон, Брайс (21 сентября 2015 г.). "[ОБЪЯВЛЕНИЕ] Уэстон 1.9.0". Wayland-Devel (Список рассылки).
  160. ^ Харрингтон, Брайс (17 февраля 2016 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.10.0". Wayland-Devel (Список рассылки).
  161. ^ Харрингтон, Брайс (17 февраля 2016 г.). "[ОБЪЯВЛЕНИЕ] Вестон 1.10.0". Wayland-Devel (Список рассылки).
  162. ^ Нестор, Мариус (18 февраля 2016 г.). «Сервер Wayland 1.10 Display официально выпущен, Wayland 1.11 появится в мае 2016 года». Софтпедия.
  163. ^ Ларабель, Майкл (16 февраля 2016 г.). "Официальный выпуск Wayland 1.10". Phoronix.com. Получено 17 апреля 2016.
  164. ^ Харрингтон, Брайс (1 июня 2016 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.11.0". Wayland-Devel (Список рассылки). Получено 1 июня 2016.
  165. ^ Харрингтон, Брайс (1 июня 2016 г.). "[ОБЪЯВЛЕНИЕ] Weston 1.11.0". Wayland-Devel (Список рассылки). Получено 1 июня 2016.
  166. ^ Харрингтон, Брайс (21 сентября 2016 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.12.0". Wayland-Devel (Список рассылки). Получено 21 сентября 2016.
  167. ^ Харрингтон, Брайс (21 сентября 2016 г.). "[ОБЪЯВЛЕНИЕ] Вестон 1.12.0". Wayland-Devel (Список рассылки). Получено 21 сентября 2016.
  168. ^ Харрингтон, Брайс (21 февраля 2017 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.13.0". Wayland-Devel (Список рассылки). Получено 30 апреля 2017.
  169. ^ Харрингтон, Брайс (25 февраля 2017 г.). "[ОБЪЯВЛЕНИЕ] Уэстон 2.0.0". Wayland-Devel (Список рассылки). Получено 30 апреля 2017.
  170. ^ Харрингтон, Брайс (8 августа 2017 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.14.0". Wayland-Devel (Список рассылки). Получено 25 марта 2018.
  171. ^ Харрингтон, Брайс (8 августа 2017 г.). "[ОБЪЯВЛЕНИЕ] Уэстон 3.0.0". Wayland-Devel (Список рассылки). Получено 25 марта 2018.
  172. ^ Форман, Дерек (9 апреля 2018 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.15.0". Wayland-Devel (Список рассылки). Получено 15 апреля 2018.
  173. ^ Форман, Дерек (9 апреля 2018 г.). "[ОБЪЯВЛЕНИЕ] Уэстон 4.0.0". Wayland-Devel (Список рассылки). Получено 15 апреля 2018.
  174. ^ Форман, Дерек (24 августа 2018 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.16.0". Wayland-Devel (Список рассылки). Получено 30 ноября 2018.
  175. ^ Форман, Дерек (24 августа 2018 г.). "[ОБЪЯВЛЕНИЕ] Уэстон 5.0.0". Wayland-Devel (Список рассылки). Получено 30 ноября 2018.
  176. ^ Форман, Дерек (28 марта 2019 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.17.0" (Список рассылки). Получено 17 июн 2019.
  177. ^ Форман, Дерек (21 марта 2019 г.). "[ОБЪЯВЛЕНИЕ] Уэстон 6.0.0" (Список рассылки). Получено 17 июн 2019.
  178. ^ Сер, Саймон (23 августа 2019 г.). "[ОБЪЯВЛЕНИЕ] Weston 7.0.0" (Список рассылки). Получено 22 октября 2019.
  179. ^ https://lists.freedesktop.org/archives/wayland-devel/2020-January/041147.html
  180. ^ https://lists.freedesktop.org/archives/wayland-devel/2020-September/041595.html

внешняя ссылка