Оценка готовности GNOME для работы поверх Wayland
24 января 2016 года
Питер Хаттерер (Peter Hutterer), мэйнтейнер подсистемы ввода X.Org, опубликовал заметку про то, что о готовности Wayland следует судить не по стабильности и завершённости протокола и компонентов Wayland, а по степени поддержки Wayland в приложениях, тулкитах и десктоп-окружениях. Без практических реализаций поддержки протокола Wayland лишён смысла, поэтому, по мнению Хаттерера, вопрос "Готов ли уже Wayland?" следует перефразировать в "Могу ли я запустить GNOME, KDE, Enlightenment и т.д. под Wayland?" и ответ будет "Всё зависит от того, безупречная работа чего для вас важна". В свою очередь выражение "люди, работающие над Wayland" следует понимать как "люди, работающие над реализацией поддержки Wayland в...".
Хаттерер сравнивает трудности миграции с X11 на Wayland с тем, как если бы все решили перейти с английского языка на французский. Проблемы в такой ситуации возникают примерно аналогичные: Несмотря на то, что французский более современен, лучше звучит и поддерживает недоступные в английском языковые обороты, пока никто вокруг не говорит на этом языке, а вывески/газеты не переведены. И даже если в ресторане нанимают говорящего на французском официанта и переводят меню, персонал в соседнем магазине по-прежнему понимает только английский. Поэтому долгое время возможность применения французского языка будет сильно зависеть от обстоятельств и ситуации. Примерно те же трудности испытывает Wayland.
В ответ, Маттиас Класен (Matthias Clasen), лидер Fedora Desktop Team и участник GNOME Release Team, рассмотрел вопрос готовности Wayland на примере проекта GNOME. В частности, обращается внимание на то, что после более двух лет портирования работа уже почти завершена и проект близок к переходу дистрибутива Fedora 24 на использование GNOME с Wayland по умолчанию. Несмотря на то, что последние шаги к заветной цели самые трудные, в последних выпусках Wayland 1.9.91 и GNOME 3.19.4 наблюдаются существенные сдвиги вперёд. В частности:
- Проделана большая работа по обеспечению корректного позиционирования диалоговых окон, меню и различных всплывающих элементов интерфейса приложений. Изначально позиция при выводе на экран выбиралась GTK-бэкендом Wayland эвристическим путём, отталкиваясь от косвенных параметров, таких как метаданные о типе окна. Недавно реализованная новая схема работает более точно и основывается на создании дополнительного переходного родительского окна;
- Качество работы кинетической (инерционной) прокрутки доведено до должного уровня и работает не хуже или даже лучше, чем в X11. Поддержка кинетической прокрутки определена в протоколе и, в отличие от X11, не требует дополнительной эвристики на стороне драйверов;
- Реализация режима Drag-and-Drop в Wayland теперь сравнима с реализацией для X11: для протокола Wayland реализованы необходимые дополнения, в GTK+ осуществлён перенос операций обработки курсора и ввода на сторону бэкендов GTK.
Из задач, которые ещё предстоит решить, отмечаются:
- Обеспечение начальной поддержки планшетов Wacom, которая ожидается в Wayland 1.10;
- Реализация замены для первичного основного буфера обмена X11 (primary selection), используемого при клике средней кнопкой мыши. В скором времени в протокол Wayland будут внесены необходимые изменения;
- Перенос в GDK (для организации работы в форме бэкенда) новой системы управления позиционированием меню, недавно добавленной в GTK+. Идея переноса в бэкенд предложена разработчиками Mir и также одобрена для включения в бэкенд для Wayland.
Также отмечается прогресс в развитии средств для организации удалённого доступа к рабочему столу на базе GNOME и Wayland:
Кроме того, разработчики из компании NVIDIA близки к реализации поддержки Wayland в своих пропритерных драйверах для Linux. В блоге компании опубликована подробная статья об использовании уже добавленной возможности создания контекста OpenGL через EGL, без X Server. Необходимые для работы Wayland и Mir EGL-расширения уже входят в состав драйвера, также уже доступен прототип модуля для поддержки KMS. После завершения реализации KMS-интерфейса будут доступны все компоненты, необходимые для полноценной поддержки Wayland. В статье приведён пример создания контекста OpenGL через EGL без привлечения дисплейного менеджера, что также может применяться для организации рендеринга на стороне сервера.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.