Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

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

Обзор [ править ]

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

Начиная примерно 2010, настольные графические Linux перешли от того , «груду рендеринга интерфейсов ... все говорят на X - сервер , который находится в центре Вселенной» в направлении положить Linux ядро и его компоненты (т.е. Direct Rendering Infrastructure ( 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]

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

Архитектура протокола [ править ]

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

Протокол 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]

Модель рендеринга [ править ]

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

Протокол 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

XWayland - это X-сервер, работающий как клиент Wayland, и поэтому он способен отображать собственные клиентские приложения X11 в среде композитора Wayland. [43] Это похоже на то, как XQuartz запускает X-приложения в собственной оконной системе macOS . Цель XWayland - облегчить переход от X Window System к средам 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 [ править ]

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

Серверы отображения, которые реализуют протокол сервера отображения Wayland, также называются композиторами Wayland, потому что они дополнительно выполняют задачу диспетчера композиционных окон .

  • Weston  - эталонная реализация композитора Wayland; Weston реализует декорации на стороне клиента
  • Lipstick - мобильная графическая оболочка, реализующая композитор Wayland; он используется в Sailfish OS , Nemo Mobile и AsteroidOS [48]
  • Enlightenment заявлял о полной поддержке Wayland с версии 0.20 [49], но в настоящее время ведутся работы по созданию полноценного композитора Wayland [50]
  • KWin имеет почти полную поддержку Wayland по состоянию на 2018 год [ необходима ссылка ]
  • Mutter поддерживает отдельную ветку для интеграции Wayland для GNOME 3.9 (в сентябре 2013 г.) [51]
  • Clayland - простой пример композитора Wayland с использованием Clutter
  • Westeros - библиотека композитора Wayland, которая позволяет приложениям создавать свои собственные дисплеи Wayland, что позволяет встраивать и встраивать сторонние приложения [52]
  • wlroots - модульная реализация Wayland, которая функционирует как основа для других композиторов, в первую очередь Sway [53] [54]
  • Sway - мозаичный композитор Wayland и незаменимая замена оконного менеджера i3 для X11 [55]

Уэстон [ править ]

Weston работает на postmarketOS

Weston - эталонная реализация композитора Wayland [56], также разработанная проектом Wayland. Он написан на C и опубликован под лицензией MIT . Weston имеет официальную поддержку только для операционной системы Linux из-за зависимости Weston от определенных функций ядра Linux , таких как настройка режима ядра , Graphics Execution Manager (GEM) и udev , которые не были реализованы в других Unix-подобных операционных системах. системы. [57] При работе в Linux обработка входящего оборудования полагается на evdev , а обработка буферов - наОбщее управление буфером (GBM). Однако в 2013 году было объявлено о переносе прототипа Weston на FreeBSD . [58]

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

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

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

Мэйнард [ править ]

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

Maynard - это графическая оболочка , написанная как надстройка для Weston, так же как GNOME Shell была написана как надстройка для Mutter . [64]

libinput [ править ]

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

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

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

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

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

В версии 1.16 сервер X.Org получил поддержку библиотеки libinput в форме оболочки под названием xf86-input-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 объявила, что будет поставлять Wayland по умолчанию в Ubuntu 21.04 (за исключением графики NVIDIA ) [79]
  • Red Hat Enterprise Linux поставляет Wayland в качестве сеанса по умолчанию в версии 8, выпущенной 7 мая 2019 г. [80]
  • Debian отправляет Wayland в качестве сеанса по умолчанию для GNOME, начиная с версии 10, выпущенной 6 июля 2019 г. [81]
  • Slackware Linux включил Wayland 20 февраля 2020 года [82] в разрабатываемую версию -current, которая в конечном итоге станет версией 15.0.
  • Manjaro по умолчанию поставляет Wayland в версии Manjaro 20.2 (Nibia) для Gnome (выпущенной 22 ноября 2020 г.). [83]

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

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

Поддержка Toolkit [ править ]

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

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

Среды рабочего стола [ править ]

Окружения рабочего стола, переносимые с X на Wayland, включают GNOME , [97] KDE Plasma 5 [98] и Enlightenment . [99]

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

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

Другое программное обеспечение [ править ]

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

  • Интеллектуальная шина ввода работает над поддержкой Wayland, она может быть готова для Fedora 22. [110]
  • RealVNC опубликовала предварительную версию Wayland для разработчиков в июле 2014 года. [63] [111] [112]
  • Maliit - это структура метода ввода , работающая под управлением Wayland. [113] [114] [115]
  • kmscon поддерживает Wayland с wlterm. [116]
  • В Mesa интегрирована поддержка Wayland. [117]
  • Eclipse был запущен на Wayland во время проекта GSoC в 2014 году. [118]
  • 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 позволяет приложениям обнаруживать различные графические процессоры в системе и отображать результаты рендеринга графического процессора в оконной системе. [119]
  • SPURV , уровень совместимости приложений Android для запуска в дистрибутивах GNU / Linux с использованием Wayland

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

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

  • Альянс GENIVI : Консорциум автомобильной промышленности GENIVI для автомобильной информационно-развлекательной системы (IVI) поддерживает Wayland. [120]
  • Raspberry Pi : Фонд Raspberry Pi в сотрудничестве с Collabora выпустил Maynard и работает над улучшением производительности и потребления памяти, но не ожидайте, что сможет заменить X11 в качестве сервера отображения по умолчанию позже. [121] [122]
  • Jolla : Смартфоны от Jolla используют Wayland. Он также используется в качестве стандартного, когда ОС Linux Sailfish используется с оборудованием других поставщиков или когда она устанавливается на устройства Android пользователями. [123] [124] [125]
  • Пуризм : Librem 5 смартфон пуризм использует систему оконной Wayland, которая поддерживается в PureOS по умолчанию. [126]
  • Tizen : Tizen до 2.x поддерживает Wayland в настройках бортовой информационно-развлекательной системы (IVI) [127], а начиная с версии 3.0 и далее по умолчанию используется Wayland. [128] [129]

История [ править ]

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

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 [117], а также с драйверами Android через проект Hybris . [140] [141] [142]

Релизы [ править ]

См. Также [ править ]

  • Мир (программное обеспечение)
  • X Window System

Ссылки [ править ]

  1. ^ Høgsberg, Kristian (30 сентября 2008). «Начальная фиксация» . Дата обращения 3 января 2020 .
  2. ^ a b Сер, Саймон (27 января 2021 г.). "[ОБЪЯВЛЕНИЕ] wayland 1.19.0" (список рассылки) . Проверено 27 января 2021 года .
  3. ^ Ошибка цитирования: указанная ссылкаweston 9.0была вызвана, но не была определена (см. Страницу справки ).
  4. ^ "Композитор Wayland & Weston, перенесенный на DragonFlyBSD - Phoronix" . www.phoronix.com .
  5. ^ a b c Харрингтон, Брюс (15 сентября 2015 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.8.93" . freedesktop.org (список рассылки).
  6. ^ "wayland / wayland: root / КОПИРОВАНИЕ" . freedesktop.org . Проверено 14 июня 2015 года .
  7. ^ Larabel, Майкл (10 июня 2015). «Лицензия Wayland MIT будет обновлена ​​/ исправлена» . Phoronix.com . Проверено 17 апреля 2016 года .
  8. ^ a b c "Вэйланд" . Проект Wayland . Дата обращения 9 мая 2016 .
  9. ^ Сенгар, Шивам Сингх. "Wayland против Xorg: чем они похожи и чем отличаются" . secjuice . Проверено 10 сентября 2020 .
  10. ^ a b c Керриск, Майкл (25 сентября 2012 г.). «XDC2012: Безопасность графического стека» . LWN.net . Проверено 13 апреля +2016 .
  11. ^ a b Перес, Мартин (21 февраля 2014 г.). "Композиторы Wayland - Почему и как обращаться с привилегированными клиентами!" . Проверено 17 апреля 2016 года .
  12. ^ a b Graesslin, Мартин (23 ноября 2015 г.). «Глядя на безопасность Plasma / Wayland» . Проверено 18 апреля 2016 года .
  13. ^ a b c d e "Часто задаваемые вопросы о Wayland" . Проект Wayland . Дата обращения 9 мая 2016 .
  14. Корбет, Джонатан (5 ноября 2010 г.). «LPC: Жизнь после X» . LWN.net . Проверено 17 апреля 2016 года .
  15. ^ Høgsberg, Kristian (9 ноября 2010). «Аргумент сетевой прозрачности» . Wayland не является API удаленного рендеринга, как X, но это не исключает прозрачности сети. Клиенты выполняют рендеринг в общий буфер, а затем должны сообщить композитору (...), что они изменили. Затем композитор может отправить новые пиксели в этой области по сети. Протокол Wayland уже является сильно асинхронным, поэтому он должен уметь изящно справляться с небольшими задержками в сети. Удаленный полноэкранный просмотр видео или игры не будут работать хорошо, [но] я не знаю другой системы отображения, которая справилась бы с этим хорошо и прозрачно.
  16. ^ Larabel, Майкл (18 августа 2011). "Проект удаленного сервера Wayland: работает ли он?" . Phoronix.com . Проверено 17 апреля 2016 года .
  17. Джексон, Адам (9 ноября 2010 г.). «[Re:] Ubuntu движется в сторону Wayland» .
  18. Stone, Daniel (28 января 2013 г.). Настоящая история Wayland и X (Speech). linux.conf.au 2013. Канберра . Проверено 13 апреля +2016 .
  19. ^ a b c Уиллис, Натан (13 февраля 2013 г.). «ДМС: Пути Вейланда» . LWN.net . Дата обращения 19 мая 2016 .
  20. ^ Даниэль Александерсен. «Возможности удаленного рабочего стола вернутся в GNOME на Wayland» . Ctrl.blog . Проверено 29 августа 2017 года .
  21. ^ a b «Учебник Hello Wayland» . 8 июля 2014 . Проверено 25 июля 2014 года .
  22. ^ a b c d e f g h i j k l m n o Høgsberg, Kristian. "Документация Wayland 1.3" (PDF) . Проверено 16 марта 2016 .
  23. ^ a b Høgsberg, Кристиан. "протокол / wayland.xml" . FreeDesktop.org . Проверено 25 июля 2014 года .
  24. ^ a b Пааланен, Пекка (25 июля 2014 г.). «Дизайн протокола Wayland: срок службы объекта» . Проверено 6 апреля +2016 .
  25. ^ a b Høgsberg, Кристиан (24 января 2014 г.). «Wayland and Weston 1.4 вышла из игры» . Список рассылки wayland-devel .
  26. ^ "xdg_shell: Добавление нового протокола оболочки" . freedesktop.org . 3 декабря 2013 . Проверено 14 июня 2014 .
  27. ^ "GENIVI / wayland-ivi-extension" .
  28. ^ a b c Vervloesem, Коэн (15 февраля 2012 г.). «FOSDEM: сервер отображения Wayland» . LWN.net . Дата обращения 9 мая 2016 .
  29. ^ Барнс, Джесси. "Введение в Wayland" (PDF) . Центр технологий открытого исходного кода Intel . Проверено 18 апреля 2016 года . Не включает API рендеринга - клиенты используют то, что хотят, и отправляют дескрипторы буфера на сервер.
  30. ^ Paalanen, Пекка (21 ноября 2012). «О поддержке клиентов Wayland GL и проприетарных встраиваемых платформ» . Проверено 6 апреля +2016 . Совместное использование буфера работает путем создания дескриптора для буфера и передачи этого дескриптора другому процессу, который затем использует дескриптор, чтобы снова обеспечить доступ графического процессора к тому же буферу.
  31. Гриффит, Эрик (7 июня 2013 г.). «Ситуация в Вейланде: факты о X против Вейланда» . Phoronix.com . п. 2 . Проверено 17 апреля 2016 года .
  32. ^ a b "Архитектура Wayland" . Проект Wayland . Дата обращения 9 мая 2016 .
  33. ^ Эдж, Джейк (11 апреля 2012 г.). «LFCS 2012: X и Wayland» . LWN.net . Проверено 17 апреля 2016 года .
  34. ^ "Пример архитектуры компоновщика Wayland / X: Enlightenment DR19" (PDF) . Проверено 18 апреля 2016 года .
  35. ^ a b Graesslin, Мартин (7 февраля 2013 г.). "Декорации окон на стороне клиента и Wayland" . Проверено 17 апреля 2016 года .
  36. ^ "Безопасность X.Org" . Фонд X.Org . Проверено 2 июля 2017 года . X-сервер уже давно включает в себя расширение SECURITY, которое обеспечивает поддержку простой модели доверенного / ненадежного соединения.
  37. Виггинс, Дэвид П. (15 ноября 1996 г.). «Спецификация расширения безопасности» . X Консорциум Стандарт . Проверено 2 июля 2017 года .
  38. ^ Уолш, Имон F. (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. ^ a b Høgsberg, Кристиан (3 января 2011 г.). «Несколько бэкэндов для GTK» . Проверено 10 марта 2016 .
  46. ^ "QtWayland" . Qt Wiki . Проверено 9 марта +2016 .
  47. ^ "Полная поддержка Wayland в GTK" . Вики GNOME . Проверено 10 марта 2016 .
  48. Edge, Джейк (31 июля 2013 г.). «Jolla: Sailfish OS, Qt и открытый исходный код» . LWN.net . Проверено 17 апреля 2016 года .
  49. ^ a b Ларабель, Майкл (30 ноября 2015 г.). «Enlightenment 0.20 прибывает с полной поддержкой Wayland и улучшенной поддержкой FreeBSD» . Phoronix.com . Проверено 17 апреля 2016 года .
  50. ^ "Wayland" . 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. ^ "Sway" . swaywm.org . Проверено 20 декабря 2018 года .
  56. ^ "README" . cgit.freedesktop.org .
  57. ^ "Файл README из репозитория исходного кода Wayland" . freedesktop.org .
  58. ^ Larabel, Майкл (16 февраля 2013). «Wayland начинает процесс переноса на FreeBSD» . Phoronix.com . Проверено 17 апреля 2016 года .
  59. ^ "Добавление поддержки защиты контента в drm-backend (! 48) · Запросы на слияние · wayland / weston" . GitLab . Проверено 27 октября 2019 года .
  60. ^ Paalanen, Пекка (10 марта 2012). «Что делает EGL в стеке Wayland» . Дата обращения 19 мая 2016 .
  61. ^ a b Ларабель, Майкл (6 января 2013 г.). «Программный рендерер Pixman для Weston Wayland» . Phoronix.com . Проверено 17 апреля 2016 года .
  62. ^ Høgsberg, Kristian (9 декабря 2010). "Blender3D и фиксация курсора" .
  63. ^ a b "[RFC weston] модуль интерфейса удаленного доступа" . freedesktop.org . 18 октября 2013 г.
  64. ^ "Объявление Мейнарда" . 16 апреля 2014 . Проверено 16 апреля 2014 года .
  65. ^ a b Høgsberg, Кристиан (20 мая 2014 г.). «Выпущена версия 1.5.0 Wayland and Weston» . Список рассылки wayland-devel .
  66. ^ Ådahl, Jonas (12 ноября 2013). «[RFC] Общая библиотека устройств ввода» . Список рассылки Wayland.
  67. ^ "libinput" . Freedesktop.org . Проверено 21 мая 2014 .
  68. ^ Хуттерер, Питер (8 октября 2014). Объединение входных стеков с помощью libinput (Speech). Конференция разработчиков X.Org 2014. Бордо . Проверено 14 января 2020 года .
  69. ^ Хуттерер, Питер (22 февраля 2015). «libinput: путь к 1.0» .
  70. ^ «В Touchpad KCM добавлена ​​поддержка Libinput» . 22 февраля 2015.
  71. ^ Goede, Ханс де (23 февраля 2015). «Libinput теперь включен в качестве драйвера xorg по умолчанию для установки рабочей станции F-22» .
  72. ^ Хуттерер, Питер (24 сентября 2014). «libinput - общий стек ввода для композиторов Wayland и драйверов X.Org» . Проверено 17 апреля 2016 года .
  73. de Goede, Hans (1 февраля 2015 г.). «Замена ввода xorg - Драйверы на libinput» (PDF) . Проверено 18 апреля 2016 года .
  74. ^ a b Додье-Лазаро, Стив; Перес, Мартин (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. ^ «Ubuntu 21.04 по умолчанию будет использовать Wayland» . Боже мой! Ubuntu . Проверено 28 января 2021 года .
  80. ^ «Примечания к выпуску Red Hat Enterprise Linux 8.0» . Портал для клиентов Red Hat . Проверено 25 декабря 2020 года .
  81. ^ "NewInBuster - Debian Wiki" . wiki.debian.org . Проверено 15 июля 2019 .
  82. ^ "Журналы изменений Slackware" . Slackware Linux . Проверено 26 февраля 2020 года .
  83. ^ "Manjaro 20.2 Nibia был выпущен" . Дата обращения 3 декабря 2020 .
  84. ^ «Wayland Live OS теперь основана на тестировании Debian, работает поддержка KDE Wayland» . Фороникс.
  85. ^ "RebeccaBlackOS" . Sourceforge.
  86. ^ "Попытка Вэйланда с Ребеккой Блэк" . Фороникс.
  87. ^ "New Wayland Live CD имеет множество функций" . Фороникс.
  88. Bassi, Emmanuele (31 января 2011 г.). «ОБЪЯВЛЕНИЕ: Clutter 1.6.0 (стабильный)» . беспорядок-анонс (Список рассылки).
  89. Брэдфорд, Роб (16 декабря 2011 г.). «Обновление Clutter & Cogl Wayland» . Проверено 9 марта +2016 . Поддержка на стороне клиента Clutter в основном завершена
  90. Bassi, Emmanuele (24 сентября 2013 г.). «ОБЪЯВЛЕНИЕ: Clutter 1.16.0 (стабильный)» . беспорядок-анонс (Список рассылки).
  91. ^ "Wayland - Просвещение" . Архивировано из оригинального 29 марта 2013 года . Проверено 6 марта 2013 года .
  92. ^ "Дорожная карта GTK" . Проверено 8 марта +2016 .
  93. ^ Lantinga, Сэм (8 марта 2014). "SDL 2.0.2 ВЫПУСКАЕТСЯ!" . SDL Project . Проверено 18 марта 2014 .
  94. ^ Larabel, Майкл (9 января 2016). «SDL 2.0.4 был незаметно выпущен на прошлой неделе вместе с Wayland & Mir по умолчанию» . Phoronix.com . Проверено 17 апреля 2016 года .
  95. Берглунд, Камилла (8 апреля 2014 г.). «Реализация для Wayland · Проблема №106 · glfw / glfw · GitHub» . Проверено 14 августа 2014 года .
  96. ^ «FreeGLUT: Реализовать начальную поддержку Wayland» . GitHub .
  97. ^ «Инициативы GNOME - Wayland» . GNOME Wiki . Проверено 8 марта +2016 .
  98. ^ "KWin / Wayland" . Вики Сообщества KDE . Проверено 8 марта +2016 .
  99. ^ «Просвещение - Вэйланд» . Enlightenment.org . Проверено 8 марта +2016 .
  100. ^ "Enlightenment DR 0.20.0 Release" . Enlightenment.org . Проверено 8 марта +2016 .
  101. ^ "Просвещение Wayland" . FOSDEM.org . Проверено 8 марта +2016 .
  102. ^ "ReleasePlanning / FeaturesPlans" . Проект GNOME . Проверено 31 мая 2015 года .
  103. ^ «Взгляд на захватывающие возможности / улучшения GNOME 3.22» . Фороникс.
  104. ^ "GNOME обеспечивает основную поддержку NVIDIA Wayland с помощью EGLStreams" . Фороникс.
  105. ^ "Дорога плазмы в Wayland" . 25 июля 2014 г.
  106. ^ Larabel, Майкл (14 июня 2013). «Выпущена бета-версия KDE 4.11, работает в Wayland» . Phoronix.com . Проверено 17 апреля 2016 года .
  107. ^ Graesslin, Мартин (29 июня 2015). «Четыре года спустя» . Проверено 17 апреля 2016 года .
  108. Лиам Доу. «KDE Plasma 5.20 будет правильно поддерживать запись экрана на Wayland и других устройствах» . gamingonlinux.com . Проверено 10 сентября 2020 .
  109. ^ "SDDM без X" . фабрикатор . Проверено 10 сентября 2020 .
  110. Рианна Шаллер, Кристиан (3 июля 2014 г.). «Wayland в обновлении Fedora» . blogs.gnome.org . Проверено 17 апреля 2016 года .
  111. ^ «Предварительная версия для разработчиков VNC® Wayland» . 8 июля 2014. Архивировано из оригинала 14 июля 2014 года.
  112. ^ «Электронное письмо разработчика RealVNC Wayland с предварительным просмотром» . freedesktop.org . 9 июля 2014 г.
  113. ^ "Обновление статуса Малиита" . Постерный. 2 апреля 2013 г. Архивировано из оригинального 17 мая 2013 . Проверено 14 октября 2013 года .
  114. ^ «Дополнительные улучшения клавиатуры Maliit: QtQuick2» . Блог Мюррея. 2 апреля 2013 . Проверено 14 октября 2013 года .
  115. ^ "Малиит под Вейландом" . Архивировано из оригинального 11 июня 2013 года . Проверено 14 сентября 2013 года .
  116. ^ "wlterm" . Freedesktop.org . Проверено 8 июля 2014 .
  117. ^ a b Хиллесли, стр. 3.
  118. ^ "Затмение теперь работает на Вэйланде" . 18 августа 2014 г.
  119. Stone, Daniel (16 февраля 2016 г.). «Спецификация Vulkan 1.0 выпущена с первой поддержкой Wayland» .
  120. ^ "Wayland Backend DRM | IVI Layer Management" . GENIVI Alliance. Архивировано из оригинала на 1 февраля 2014 года . Проверено 15 июля 2013 года .
  121. ^ «Пример использования Raspberry Pi» . Collabora . Проверено 9 августа 2013 года .
  122. ^ "Предварительный просмотр Wayland" . Raspberry Pi . Проверено 9 августа 2013 года .
  123. ^ "Первый смартфон Jolla работает с Wayland" . LinuxG.net. 14 июля 2013 . Проверено 8 октября 2013 года .
  124. ^ VDVsx [@VDVsx] (13 июля 2013 г.). "#sailfishos схема основных компонентов. # Qt5 #Wayland #JollaHQ #Akademy" (твит) - через Twitter .
  125. ^ Jolla [@JollaHQ] (13 июля 2013). «@faenil @PeppeLaKappa @VDVsx, наша первая Jolla будет поставляться с Wayland, да» (твит) - через Twitter .
  126. ^ Ошибка цитирования: указанная ссылкаpurismбыла вызвана, но не была определена (см. Страницу справки ).
  127. ^ «Настройка IVI / IVI» . Tizen Wiki . Проверено 8 апреля 2013 года .
  128. ^ VanCutsem, Жоффруа (10 июля 2013). «[IVI] Выпущен Tizen IVI 3.0-M1» . IVI (список рассылки).
  129. ^ Амадео, Рон. «Samsung Z4 - новый флагманский смартфон Tizen» . Ars Technica . Дата обращения 13 мая 2017 .
  130. ^ Høgsberg, Kristian (3 ноября 2008). «Преждевременная огласка лучше, чем ее отсутствие» . Проверено 6 апреля +2016 .
  131. ^ «Интервью: Кристиан Хогсберг» . Архив FOSDEM . 29 января 2012 . Проверено 8 марта +2016 .
  132. ^ a b Хиллесли, Ричард (13 февраля 2012 г.). «Вэйланд - За пределами X» . The H Open . Heise Media UK . Проверено 8 марта +2016 .
  133. ^ Høgsberg, Кристиан. «Wayland - новый дисплейный сервер для Linux» . Linux Conference сантехников, 2009. Архивировано из оригинала 11 августа 2017 года.
  134. Дженкинс, Эван (22 марта 2011 г.). «Стек графики Linux от X до Wayland» . Ars Technica . Проверено 17 апреля 2016 года .
  135. ^ Larabel, Майкл (29 октября 2010). «Wayland становится проектом FreeDesktop.org» . Phoronix.com . Проверено 17 апреля 2016 года .
  136. ^ Høgsberg, Kristian (29 октября 2010). «Переход на freedesktop.org» . Проверено 31 июля 2013 года .
  137. ^ Høgsberg, Kristian (3 декабря 2008). «Wayland теперь находится под лицензией MIT» . wayland-display-server (список рассылки).
  138. ^ Høgsberg, Kristian (22 ноября 2010). «Уточнение лицензии Wayland» . wayland-devel (список рассылки).
  139. ^ Høgsberg, Kristian (19 сентября 2011). «Обновление лицензии» . wayland-devel (список рассылки).
  140. Мунк, Карстен (11 апреля 2013 г.). «Wayland, использующая драйверы графического процессора Android в системах на основе glibc, часть 1» . Мер Проект . Проверено 3 июля 2013 года .
  141. Мунк, Карстен (8 июня 2013 г.). «Wayland, использующая драйверы графического процессора Android в системах на основе glibc, часть 2» . Мер Проект . Проверено 3 июля 2013 года .
  142. ^ Larabel, Майкл (11 апреля 2013). «Jolla приносит Wayland поверх драйверов графического процессора Android» . Phoronix.com . Проверено 17 апреля 2016 года .
  143. ^ "Wayland" . Wayland.freedesktop.org . Проверено 15 июля 2013 года .
  144. ^ Høgsberg, Kristian (9 февраля 2012). «[ОБЪЯВЛЕНИЕ] Выпущена версия 0.85.0 Wayland and Weston» . Список рассылки wayland-devel .
  145. ^ Høgsberg, Kristian (24 июля 2012). «Выпущен Wayland and Weston 0.95.0» . Список рассылки wayland-devel .
  146. ^ Høgsberg, Kristian (22 октября 2012). «Вэйланд и Уэстон 1.0» . Список рассылки wayland-devel .
  147. ^ Scherschel, Fabian (23 октября 2012). «Веха Wayland 1.0 исправляет графический протокол» . The H Open . Heise Media UK . Проверено 17 апреля 2016 года .
  148. ^ Larabel, Майкл (16 апреля 2013). «Wayland 1.1 официально выпущен вместе с Weston 1.1» . Phoronix.com . Проверено 17 апреля 2016 года .
  149. ^ Høgsberg, Kristian (15 апреля 2013). «1.1 Выпущено» . Список рассылки wayland-devel .
  150. ^ Larabel, Майкл (13 июля 2013). «Выпущен Wayland 1.2.0, к нему присоединился Weston Compositor» . Phoronix.com . Проверено 17 апреля 2016 года .
  151. ^ Høgsberg, Kristian (12 июля 2013). «Выпущен Wayland and Weston 1.2.0» . Список рассылки wayland-devel .
  152. ^ Høgsberg, Kristian (11 октября 2013). «Релизы Wayland и Weston 1.3 отсутствуют» . Список рассылки wayland-devel .
  153. ^ Paalanen, Пекка (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 г.). "[ОБЪЯВЛЕНИЕ] Weston 1.10.0" . wayland-devel (список рассылки).
  162. Нестор, Мариус (18 февраля 2016 г.). «Сервер дисплея Wayland 1.10 официально выпущен, Wayland 1.11 выйдет в мае 2016 года» . Софтпедия .
  163. ^ Larabel, Майкл (16 февраля 2016). "Официальный выпуск Wayland 1.10" . Phoronix.com . Проверено 17 апреля 2016 года .
  164. Рианна Харрингтон, Брюс (1 июня 2016 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.11.0" . wayland-devel (список рассылки) . Проверено 1 июня +2016 .
  165. Рианна Харрингтон, Брюс (1 июня 2016 г.). "[ОБЪЯВЛЕНИЕ] Вестон 1.11.0" . wayland-devel (список рассылки) . Проверено 1 июня +2016 .
  166. Рианна Харрингтон, Брюс (21 сентября 2016 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.12.0" . wayland-devel (список рассылки) . Проверено 21 сентября 2016 года .
  167. Рианна Харрингтон, Брюс (21 сентября 2016 г.). "[ОБЪЯВЛЕНИЕ] Weston 1.12.0" . wayland-devel (список рассылки) . Проверено 21 сентября 2016 года .
  168. Рианна Харрингтон, Брюс (21 февраля 2017 г.). "[ОБЪЯВЛЕНИЕ] Wayland 1.13.0" . wayland-devel (список рассылки) . Проверено 30 апреля 2017 года .
  169. Рианна Харрингтон, Брюс (25 февраля 2017 г.). «[ОБЪЯВЛЕНИЕ] Weston 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 г.). "[ОБЪЯВЛЕНИЕ] weston 6.0.0" (Список рассылки) . Проверено 17 июня 2019 .
  178. Сер, Саймон (11 февраля 2020 г.). "[ОБЪЯВЛЕНИЕ] wayland 1.18" (список рассылки) . Проверено 12 февраля 2020 .
  179. Сер, Саймон (23 августа 2019 г.). "[ОБЪЯВЛЕНИЕ] weston 7.0.0" (Список рассылки) . Проверено 22 октября 2019 года .
  180. ^ https://lists.freedesktop.org/archives/wayland-devel/2020-January/041147.html
  181. ^ https://lists.freedesktop.org/archives/wayland-devel/2020-September/041595.html

Внешние ссылки [ править ]

  • Официальный веб-сайт