Разработчик X.Org рассказал о перспективах проекта Wayland
11 февраля 2013 года
Дэниэл Стон (Daniel Stone), бывший член совета директоров X.Org Foundation, отвечающий за разработку XKB и являющийся одним из инициаторов перехода X.Org на модульную структуру, в настоящее время подключившийся к разработке проекта Wayland, выступил на конференции Linux.conf.au с большим докладом ( видеозапись (Архивная копия от 5 января 2017 на Wayback Machine)), посвящённым анализу недостатков X.Org и рассмотрению методов ухода от данных проблем в Wayland. В докладе указывается, что несмотря на то, что поддержка Wayland в десктоп-окружениях и приложениях ещё только зарождается, Wayland более перспективен для применения в будущем.
По мнению Дэниэла, некоторые внутренние механизмы X11 ужасны и до абсурда усложнены. X11 оброс огромным числом расширений, пытающимися добавить в протокол X11 возможности, на которые он изначально не был рассчитан (вывод видео, OpenGL, подключение нескольких устройств ввода и вывода и т.п.). Для преодоления проблем с X-сервером многие вещи приходится реализовывать силами X-клиентов (шрифты, визуальные эффекты, нетривиальные декорации, темы оформления, управление окнами и т.п.).
Реалии таковы, что клиент сам выполняет рендеринг своих окон и отдаёт X-серверу готовый результат, для компоновки которого сервер обращается к оконному менеджеру, получает от него результат рендеринга содержимого экрана и просто выводит уже готовое изображение. В результате оконный менеджер превращается по сути во второй X-сервер, оставляя изначальному X-серверу только функции посредника. Wayland предлагает избавиться от лишних прослоек и предлагает новую модель, при которой клиент отрисовывает содержимое своих окон локально и передаёт готовый битмап серверу, который сам решает, что и где вывести на экран с учётом таких особенностей, как перекрытие окон и прозрачность.
Что касается обеспечения сетевой прозрачности, то X уже не может похвастаться данной особенностью в контексте выполнения современных приложений, так как многие надстройки для обеспечения работы пользовательских интерфейсов неработоспособны по сети (например, SHM и DRI2 не работают поверх сети, в программах обычно используется D-Bus, API нотификации и различные графические тулкиты, работающие с видеоподсистемой напрямую). Метод обеспечения удалённого взаимодействия с рабочим столом, основанный на идее передачи по сети в сжатом виде уже отрисованных окон, выглядит более адекватным и соответствующим современным реалиям, чем давно устаревший подход X.
По сравнению с другими платформами, предлагаемые X-сервером методы называются дилетантскими, с позиции предоставления средств для комфортной работы пользователя. Дэниэл поясняет, что хотя X-сервер уже не является столь важным звеном, клиенты продолжают активно взаимодействовать с ним, даже без явной на то причины, что приводит к дополнительным задержкам. Результаты измерения показали, что при открытии Chrome подобные задержки составляют примерно полсекунды. При определённом стечении обстоятельств при выполнении Gedit удалось зафиксировать задержку в 1.4 сек (130 блокирующих вызовов InternAtom, 34 - GetProperty и 116 запросов на изменение свойств).
Дополнительно, можно отметить серию публикаций Мартина Грэслина (Martin Gräßlin), занимающегося интеграцией поддержки Wayland в оконный менеджер KWin. В отличие от эталонного композитного сервера Weston, практикующего создание декорации окон на стороне клиента (силами графических фреймворков), в KWin предлагается осуществить декорацию на стороне композитного сервера, когда организация оформления окон унифицирована и реализуется независимо от выполняемого приложения.
Проконсультировавшись с разработчиками Qt Мартин пришёл к выводу, что перенос декорации на сторону сервера позволит повысить производительность, так как реализация данной функции на стороне Qt приводит к излишней паразитной нагрузке и разработчики Qt уже предусмотрели опцию для отключения данного режима. Кроме того, декорация окон на стороне сервера позволит адаптивно менять интерфейс для различных классов устройств, таких как нетбуки и планшеты.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.