Лучшие вопросы
Таймлайн
Чат
Перспективы
Wayland
Протокол дисплейного сервера Из Википедии, свободной энциклопедии
Remove ads
Wayland — протокол для организации графического сервера в Linux и других UNIX-подобных операционных системах. Разработка Wayland была начата Кристианом Хогсбергом (дат. Kristian Høgsberg), на тот момент сотрудником Red Hat, ныне членом Центра открытых технологий Intel[5]. Wayland является свободным ПО[6][7][8]. Название происходит от города Вэйланд[англ.]. Когда Хогсберг ехал через этот город, ему пришёл в голову концепт системы[9]. Названия родственных проектов Weston и Maynard (см. ниже) произошли соответственно от соседних городов Вестон[англ.] и Мейнард [10].
Remove ads
Основные принципы
Суммиров вкратце
Перспектива


По мнению разработчиков, Wayland является «работой над ошибками» X.org, которые накопились за четыре десятилетия его развития. Кардинальное отличие от X.org заключается в том, что Wayland лишь управляет буферами (плоскостями) окон и возлагает всю отрисовку их содержимого на инструментальные пакеты (GTK, Qt и так далее). API рисования (drawing API) полностью отсутствует. Все версии протокола строго определены, а сама система определения версий продумана. У X.org есть серьёзная проблема с версиями разных расширений, часто перекрещивавшимися или дополняющими, вместо того чтобы быть самодостаточными и исключающими. Функцию композиции буферов осуществляет референтный композитный менеджер (менеджер-композитор) Weston, использующий как OpenGL ES, так и программную отрисовку. В состав Wayland также входит унифицированный протокол устройств ввода, предоставляющий одну виртуальную клавиатуру, одну виртуальную мышь и один экранно-сенсорный интерфейс — разделяемые всеми приложениями. Wayland знает о состояниях устройств ввода и способен запоминать их. (X.org напротив не сохраняет состояния устройств (stateless-протокол), но может быть настроен через файлы конфигурации.)
О Wayland его создатель отзывается так:
Wayland — новый графический сервер, который выполняет только крошечную часть функций Х, которые мы действительно используем, когда запускаем композитный рабочий стол. Wayland, по сути, — буферный менеджер (подобно DRI2 для X.org), обработчик входных данных. Весь рендеринг выполняется на клиентской стороне — так, как сегодня работает OpenGL, а задание режимов и другие аппаратные установки выполняются в ядре. Такой подход значительно упрощает организацию сервера.
Wayland использует уже существующие в ядре Linux технологии, такие как Kernel mode-setting (KMS), Direct Rendering Manager (DRM) и Graphics Execution Manager (GEM).
Remove ads
Weston
Weston — это эталонная реализация композитного менеджера Wayland. Написан на языке Си, сначала был опубликован под лицензией GPLv2, позже вышел под MIT. Weston изначально создавался под API ядра Linux, поэтому официально поддерживает работу только с ядром Linux из-за зависимости от KMS, GEM и udev.
Weston использует GEM для обмена буферов между графическим сервером и приложениями. Для рендеринга может использовать OpenGL, cairo и pixman[11].
Maynard
Maynard — графическая оболочка, которая была создана как плагин к Weston, аналогично тому, как GNOME Shell был создан как плагин к Mutter. Изначально Maynard проектировался для Raspberry Pi как легковесная графическая оболочка, поскольку в то время (2014 год) легковесные окружения рабочего стола, такие как LXDE, не поддерживали Wayland, а функциональные окружения типа GNOME и KDE были слишком ресурсоёмкими.[12] Проект не ограничен платформой Raspberry Pi и может использоваться на обычных рабочих станциях.[13] Оболочка отличается низким потреблением ресурсов, высокой производительностью, качественным оформлением и легковесностью.
Remove ads
Использование
Марк Шаттлворт анонсировал в своём блоге, что Ubuntu будет использовать Wayland вместо X.org для своей среды рабочего стола Unity[14]. Однако 4 марта 2013 года разработчики из Canonical приняли решение написать собственный графический сервер, получивший название Mir[15]. 5 апреля 2017 года они отказались от Mir и Unity в пользу Wayland и GNOME[16].
В операционной системе Fedora начиная с версии 35, по умолчанию используется окружение рабочего стола GNOME на базе Wayland.
Совместимость с X.org
Был разработан xwayland[17], который позволяет работать X11-приложениям поверх Wayland. Аналогично X.org приложения запускаются и под нативным окружением Mac OS X.
Релизы
Remove ads
Разработка
- Альянс GENIVI
- Автомобильный консорциум GENIVI, чья цель создать платформу для IVI индустрии, поддерживает Wayland[54].
- Sailfish OS
- Первый телефон Jolla использует Wayland[59][60][61].
- Tizen
- Tizen поддерживал Wayland в IVI setups до 2.x версий включительно[62], а начиная с версии 3.0 по умолчанию использует Wayland[63].
Планируемая поддержка
- Ubuntu
- Canonical, владелец Ubuntu, наняла Сэма Спилсбери[64], главного разработчика Compiz. Он будет перемещать зависимости от X11 в отдельный плагин[65]. Canonical планирует портировать Compiz на OpenGL ES, что требуется для работы с Wayland[66].
- Fedora
- Fedora поставляет Wayland начиная с семнадцатой версии[67]. Разработчик Fedora Маттиас Класен опубликовал в марте 2013 план, согласно которому Wayland должен стать оконной системой по умолчанию в Fedora 21[68]. Fedora 20 предоставляет предварительную реализацию GNOME 3.10 на Wayland[69][70]. Начиная с Fedora 40 Wayland используется по умолчанию, поддержка X11 доступна только при установке дополнительных пакетов.
- GNOME
- В марте 2013 разработчики GNOME анонсировали свои планы о полной поддержке Wayland через год[71]. GNOME 3.10 имеет начальную поддержку[72][73].
- KDE
- KWin, оконный менеджер KDE, получил поддержку OpenGL ES[74] в версии 4.7[75]. В январе 2013 главный разработчик KWin Мартин Грэсслин начал работать на Blue Systems, где одна из главных его целей добиться полной поддержки Wayland[76]. Экспериментальная поддержка Wayland была добавлена в KWin 4.11[77]. После выхода Plasma 6, разработчики объявили о полном переходе на Wayland как основной протокол для рабочего окружения. В KDE Plasma 7 поддержка X.org будет выпилена полностью и Wayland будет по умолчанию.
- Raspberry Pi
- Raspberry Pi Foundation работает совместно с Collabora[78] над улучшением производительности и потребления оперативной памяти, однако не намереваются сменить X11 на Wayland до конца 2013[79].
Тулкиты
- Clutter полностью поддерживает Wayland[80].
- Enlightenment Foundation Libraries полностью поддерживает Wayland[81].
- GTK+ 3.10 (вышел 23 сентября 2013 года) полностью поддерживает Wayland 1.2, включая декорирование на стороне клиента, требуемое для Weston[82][83].
- Qt 5 полностью поддерживает Wayland, включая декорирование на стороне клиента, что требуется для Weston (а не KWin).
- Экспериментальная поддержка Wayland добавлена в SDL в версии 2.0.2[84][85].
Remove ads
Примечания
Ссылки
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads
