Wayland

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Wayland
Wayland Logo.svg
Wayland demo 2.png
Wayland в действии
Тип

дисплейный сервер

Разработчики

Кристиан Хогсберг

Написана на

Си

Операционная система

Linux / другие UNIX-подобные

Первый выпуск

2008

Последняя версия

1.5.0 (20 мая 2014)[1]

Кандидат в релизы

1.4.93[2] (12 мая 2014)

Лицензия

лицензия MIT

Сайт

wayland.freedesktop.org

Wayland — протокол для организации графического сервера в Linux и других UNIX-подобных операционных систем. Разработка Wayland была начата Кристианом Хогсбергом (англ. Kristian Høgsberg), на тот момент сотрудником Red Hat, ныне членом «Центра открытых технологий Intel» (англ. Intel's Open Source Technology Center)[3]. Wayland является свободным ПО[4][5][6]. Название Wayland происходит от города Вэйланд. Когда Хогсберг ехал через этот город, ему внезапно пришёл в голову концепт Wayland[7].

Основные принципы[править | править вики-текст]

The Wayland display server protocol relys on EGL

По мнению разработчиков, Wayland является работой над ошибками X.org, накопившимися за последние 26 лет. Кардинальное отличие от X.org заключается в том, что он лишь управляет буферами (плоскостями) окон и возлагает всю отрисовку их содержимого на тулкиты (GTK, Qt и т.д.). API рисования (drawing API) полностью отсутствует. Все версии протокола строго определены, а само версионирование продумано. У X.org есть серьёзная проблема с версиями разных расширений, часто перекрещивавшимися или дополняющими, вместо того чтобы быть самодостаточными и исключающими. Функцию композинга буферов осуществляет референсный композитный менеджер Weston, использующий как OpenGL ES, так и программную отрисовку. В состав Wayland также входит унифицированный протокол устройств ввода, предоставляющий одну виртуальную клавиатуру, одну виртуальную мышь и один tablet-интерфейс — разделяемые всеми приложениями. Wayland знает о состояниях устройств ввода и способен запоминать их: X.org не сохраняет состояния устройств (stateless-протокол), но может быть настроен через файлы конфигурации.

О Wayland его создатель отзывается так: «Wayland — новый графический сервер, который выполняет только крошечную часть функций Х, которые мы действительно используем, когда запускаем композитный рабочий стол. Wayland, по сути, — буферный менеджер (подобно DRI2 для X.org), обработчик входных данных. Весь рендеринг выполняется на клиентской стороне — так, как сегодня работает OpenGL, а задание режимов и другие аппаратные установки выполняются в ядре. Такой подход значительно упрощает организацию сервера».

Wayland использует уже существующие в ядре Linux технологии, такие как Kernel mode-setting (KMS), Direct Rendering Manager (DRM) и Graphics Execution Manager (GEM).

Weston[править | править вики-текст]

Weston — это эталонная реализация композитного менеджера Wayland. Написан на языке Си, сначала был опубликован под лицензией GPLv2, позже вышел под MIT. Weston изначально создавался под API ядра Linux, поэтому официально поддерживает работу только с ядром Linux из-за зависимости от KMS, GEM и udev.

Weston использует GEM для обмена буферов между графическим сервером и приложениями. Для рендеринга может использовать OpenGL, cairo и pixman[8].

Использование[править | править вики-текст]

  • Марк Шаттлворт анонсировал в своём блоге, что Ubuntu, возможно, будет использовать Wayland вместо X.org для своей среды рабочего стола Unity[9]. Однако в марте 2013 года разработчики из Canonical приняли решение написать свой собственный графический сервер, получивший название Mir. [10]
  • Графическая система дистрибутива Fedora будет переведена на Wayland[11].

Совместимость с X.org[править | править вики-текст]

Был разработан xwayland[12], который позволяет работать X11-приложениям поверх Wayland. Аналогично X.org приложения запускаются и под нативным окружением Mac OS X.

Релизы[править | править вики-текст]

Основные релизы Wayland/Weston[2]
Версия Дата Ключевые изменения в Wayland Ключевые изменения в Weston
0.85 02012-02-09 09 февраля 2012[13] Первый релиз.
0.95 02012-07-24 24 июля 2012[14] Начало стабилизации API.
1.0 02012-10-22 22 октября 2012[15][16] Стабилизация клиентского API.
1.1 02013-04-15 15 апреля 2013[17][18] Программный рендеринг[19].
1.2 02013-07-12 12 июля 2013[20][21] Стабилизация серверного API. Средства управления цветом. Протокол для манипулирования субповерхностями и группами поверхностей. Бэкэнд для Raspberry Pi.
1.3 02013-10-11 11 октября 2013[22] Новые пиксельные форматы для wl_shm. Поддержка биндингов к высокоуровневым языкам. Поддержка Android с Hybris.
1.4 02014-01-23 23 января 2014[23] Новые интерфейсы wl_subcompositor и wl_subsurface. Поддержка форматов фреймбуфера, отличных от XRGB8888. Теперь права суперпользователя необязательны благодаря задействованию logind из состава systemd.
1.5 02014-05-20 20 мая 2014[24] libinput. Полноэкранный shell.
1.6 02014-09 сентябрь 2014[24] Интерфейс xdg-shell.

Условные обозначения:

     Будущая версия      Текущая версия      Поддерживается      Не поддерживается

Разработка[править | править вики-текст]

Альянс GENIVI
Автомобильный консорциум GENIVI, чья цель создать платформу для IVI индустрии, поддерживает Wayland.[25]
Maliit
Maliit, фреймворк системы ввода, работает под Wayland.[26][27][28]
Mesa
Mesa имеет встроенную поддержку Wayland[29].
Sailfish OS
Первый телефон Jolla использует Wayland.[30][31][32]
Tizen
Tizen поддерживал Wayland в IVI setups до 2.x версий включительно[33], а начиная с версии 3.0 по умолчанию использует Wayland.[34]

Планируемая поддержка[править | править вики-текст]

Ubuntu
Canonical, владелец Ubuntu, наняла Сэма Спилсбери,[35] главного разработчика Compiz. Он будет перемещать зависимости от X11 в отдельный плагин.[36] Canonical планирует портировать Compiz на OpenGL ES, что требуется для работы с Wayland.[37]
Fedora
Fedora поставляет Wayland начиная с семнадцатой версии.[38] Разработчик Fedora Маттиас Класен опубликовал в марте 2013 план, согласно которому Wayland должен стать оконной системой по умолчанию в Fedora 21.[39] Fedora 20 предоставляет предварительную реализацию GNOME 3.10 на Wayland.[40][41]
GNOME
В марте 2013 разработчики GNOME анонсировали свои планы о полной поддержке Wayland через год.[42] GNOME 3.10 имеет начальную поддержку.[43][44]
KDE
KWin, оконный менеджер KDE, получил поддержку OpenGL ES[45] в версии 4.7.[46] В январе 2013 главный разработчик KWin Мартин Грэсслин начал работать на Blue Systems, где одна из главных его целей добиться полной поддержки Wayland.[47] Экспериментальная поддержка Wayland уже есть в KWin 4.11.[48]
Raspberry Pi
Raspberry Pi Foundation работает совместно с Collabora[49] над улучшением призводительности и потребления оперативной памяти, однако не намереваются сменить X11 на Wayland до конца 2013.[50]

Тулкиты[править | править вики-текст]

  • Clutter полностью поддерживает Wayland.[51]
  • Enlightenment Foundation Libraries полностью поддерживает Wayland.[52]
  • GTK+ 3.10 (вышел 23 сентября 2013 года) полностью поддерживает Wayland 1.2, включая декорирование на стороне клиента, требуемое для Weston.[53][54]
  • Qt 5 полностью поддерживает Wayland, включая декорирование на стороне клиента, что требуется для Weston (а не KWin).
  • Экспериментальная поддержка Wayland добавлена в SDL в версии 2.0.2.[55]

Примечания[править | править вики-текст]

  1. http://wayland.freedesktop.org/releases.html
  2. 1 2 Wayland (англ.). Wayland.freedesktop.org. Проверено 15 июля 2013.
  3. Høgsberg, Kristian EGL and GLES1/2 on Linux (англ.). Linux Plumbers Conference, 2010.
  4. Официальный сайт
  5. Michael Larabel (November 03, 2008) Wayland: A New X Server For Linux
  6. Kristian Høgsberg. Wayland license clarification (англ.). Список рассылки wayland-devel (22 November 2010). Проверено 23 ноября 2010.
  7. Evan Jenkins. The Linux graphics stack from X to Wayland (англ.). Ars Technica (March 2011).
  8. README file from the Wayland source code repository (англ.)
  9. Марк Шаттлворт. Unity on Wayland (англ.). Марк Шаттлворт (4 November 2010). Проверено 4 ноября 2010. Архивировано из первоисточника 24 августа 2011.
  10. Oliver Ries. Taking Unity to the next level (англ.). Список рассылки ubuntu-devel (Mar 4 2013).
  11. The Fedora Plans For Wayland (англ.)
  12. Corentin Chary. Introducing xwayland and xf86-video-wlshm (англ.) (21 June 2011). — «This driver really make things easy to test, since you don't need any specific hardware....»
  13. Høgsberg, Kristian [ANNOUNCE Wayland and Weston 0.85.0 released] (англ.). Wayland mailing list (9 February 2011). Проверено 8 июня 2013.
  14. Høgsberg, Kristian Wayland and Weston 0.95.0 released (англ.). Wayland mailing list (24 July 2012). Проверено 14 июля 2013.
  15. Høgsberg, Kristian Wayland and Weston 1.0 (англ.). Wayland mailing list (22 October 2012). Проверено 14 июля 2013.
  16. Scherschel, Fabian Wayland's 1.0 milestone fixes graphics protocol (англ.). The H - Open. Heinz Heise (23 October 2013). Проверено 14 июля 2013.
  17. Larabel, Michael Wayland 1.1 Officially Released With Weston 1.1. Phoronix (16 April 2013). Проверено 14 июля 2013.
  18. 1.1 Released (англ.). freedesktop.org. Проверено 18 июля 2013.
  19. Larabel, Michael A Software-Based Pixman Renderer For Wayland's Weston (англ.). Phoronix (6 January 2013). Проверено 14 июля 2013.
  20. Larabel, Michael Wayland 1.2.0 Released, Joined By Weston Compositor. Phoronix (13 July 2013). Проверено 14 июля 2013.
  21. Wayland and Weston 1.2.0 released (англ.). Lists.freedesktop.org (28 June 2013). Проверено 18 июля 2013.
  22. Wayland and Weston 1.3 release notes (англ.) (11 October 2013).
  23. Høgsberg, Kristian Wayland and Weston 1.4 is out. Wayland mailing list (24 January 2014).
  24. 1 2 Høgsberg, Kristian Wayland and Weston 1.5.0 is released. Wayland mailing list (20 May 2014).
  25. Wayland Backend DRM | IVI Layer Management (англ.). GENIVI Alliance. Проверено 15 июля 2013.
  26. Maliit Status Update. Posterous (April 2, 2013). Проверено 14 октября 2013. Архивировано из первоисточника 17 мая 2013.
  27. More Maliit Keyboard Improvements: QtQuick2. Murray's Blog (2 апреля 2013). Проверено 14 октября 2013.
  28. Maliit under Wayland. Проверено 14 сентября 2013.
  29. Richard Hillesley. Wayland – Beyond X (англ.). Heise Media UK (01997 1997).
  30. The First Jolla Smartphone Runs With Wayland (англ.). LinuxG.net (14 July 2013). Проверено 8 октября 2013.
  31. sailfishos main components diagram (англ.).
  32. our first Jolla will ship with wayland, yes (англ.).
  33. IVI/IVI Setup (англ.). Tizen Wiki. Проверено 8 апреля 2013.
  34. [IVI] Tizen IVI 3.0-M1 released (англ.). Tizen.org. Проверено 15 июля 2013.
  35. Sam Spilsbury. A bright new future for Compiz (англ.) (25 November 2010). — «...I was also hired by Canonical Ltd...»  Архивировано из первоисточника 8 апреля 2012.
  36. Sam Spilsbury. Compiz in a strange new land (англ.) (7 November 2010). Архивировано из первоисточника 8 апреля 2012.
  37. deebeeoh. I am an Ubuntu Unity Developer, AMA (англ.). — «We are going to be helping compiz port to OpenGL ES»  Проверено 12 января 2010. Архивировано из первоисточника 8 апреля 2012.
  38. Package wayland (англ.). Fedora Project. Проверено 15 июля 2013.
  39. Wayland and Fedora (англ.). Lists.fedoraproject.org. Проверено 15 июля 2013.
  40. You Can Now Run GNOME Shell Wayland On Fedora 20 (англ.). Phoronix (3 October 2013). Проверено 8 октября 2013.
  41. GNOME / Wayland in Fedora (англ.) (3 October 2013). Проверено 8 октября 2013.
  42. Larabel, Michael GNOME Will Move Full-Speed With Wayland Support (англ.). Phoronix (13 March 2013). Проверено 8 апреля 2013.
  43. GNOME 3.10 Has Been Officially Released (англ.). Phoronix (25 September 2013). Проверено 8 октября 2013.
  44. 3.10 Released! (англ.). GNOME (25 September 2013). Проверено 8 октября 2013.
  45. Grässlin, Martin KWin runs on OpenGL ES (англ.) (28 November 2010). — «It does not only help, it is a must have to start working for Wayland. So to say it’s the first part of the KWin port to Wayland»
  46. Grässlin, Martin On the Road to Modern OpenGL (ES) (англ.) (19 January 2011). Проверено 31 июля 2013.
  47. Grässlin, Martin KWin Hacking++ (англ.). Проверено 8 апреля 2013.
  48. Larabel, Michael KDE 4.11 Beta Released, Works On Wayland. Phoronix (14 June 2013). Проверено 16 июня 2013.
  49. Raspberry Pi Case Study (англ.). Collabora. Проверено 9 августа 2013.
  50. Wayland preview (англ.). Raspberry Pi. Проверено 9 августа 2013.
  51. Clutter on Wayland (англ.). Проверено 28 марта 2012.
  52. Wayland – Enlightenment (англ.). Проверено 6 марта 2013.
  53. GTK+ 3.10 release mail (англ.) (23 September 2013). Проверено 24 сентября 2013.
  54. Documentation of the Wayland support in GTK+ (англ.) (3 September 2013).
  55. Lantinga, Sam SDL 2.0.2 RELEASED! (англ.) (Mar 08, 2014). — «Added experimental Wayland and Mir support, disabled by default»  Проверено 15 марта 2014.

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