LINUX.ORG.RU

Wayland — разъяснения от разработчиков KWin

 , ,


0

3

Дисклаймер. В связи с тем, что очень многие (почти все) здесь не понимают, зачем нужен Wayland, пишу в новости, благо есть источник, где кое-что разжёвано. Текст чуть-чуть подсократил, чтобы не захламлять.

Итак, приступим.

  1. В Wayland может быть реализована сетевая прозрачность.

    Это дело конкретного композитора. Всё дело в ошибочном понимании фразы «в Wayland нет сетевой прозрачности». Правильное понимание этой фразы таково: «спецификация Wayland не занимается сетевой прозрачностью и не определяет её». Композиторы могут быть выполнять локальную отрисовку, могут быть сервером и передавать картинку по сети (хоть на много машин одновременно), а могут делать и то и другое. Те, кто думают, что в Wayland сетевой прозрачности быть не может вообще, ошибаются.

  2. Сетевая прозрачность X11 не подходит для современных приложений.

    Она давно устарела, будучи сделанной с расчётом на то, что приложения используют простые команды для отображения содержимого окна, и эти команды можно отправлять по сети. Когда-то это было разумно, но современные приложения не используют X11 для рендеринга, они используют такие технологии как Cairo, Clutter, QPainter (Raster) или OpenGL. В этом случае X11 вынужден отправлять по сети готовую картинку, а для этой ситуации есть технологии, которые делают это гораздо лучше, чем X11. Сетевая прозрачность в X11 померла и так, без участия Wayland.

  3. X11-приложения будут поддерживаться.

    Никто не хочет ломать систему, переход на Wayland будет произведён если и только тогда, когда X11-only приложения будут в ней хорошо работать (через слой совместимости). Сетевую прозрачность X11, очевидно, тоже можно будет использовать.

  4. Сетевой прозрачности не место в оконной системе. Если вы хотите быстрой сетевой прозрачности, ей место в тулките виджетов.

    Оконная система должна просто заниматься отображением картинки, которую ей дали. Она не знает ничего про виджеты, у неё есть только картинка, которую гнать по сети достаточно накладно. Сетевой прозрачности когда-то было место в X11 только потому, что X11 был не только оконной системой, но ещё и тулкитом виджетов.

  5. «Дистибутивы выкинут иксы, моё любимое X11-only приложение не заведётся!»

    Для этого уже есть слои совместимости (X11 приложения можно запускать из композитора Wayland). Поддержку X11 никто не выкинет из дистрибутивов, пока она будет востребована, даже Mac OS X всё ещё поддерживает X11 для совместимости. Постепенно количество X11-only приложений будет уменьшаться (переписывание, естественная смерть), и даже если из вашего дистрибутива поддержку X11 уберут, вы всегда сможете её собрать сами.

Прекратите повторять ошибочные утверждения.

P.S. Отвечу на вопрос «Зачем вообще нужен Wayland, давайте улучшать X11».

Такие (или аналогичные) изменения даже если были бы возможны в X, всё равно бы сломали X11 и дали несовместимый с ним X12. Без слоя совместимости обойтись невозможно, а сам X12 тоже был бы не сахар, так как писался бы с оглядкой на X11. И чем это было бы лучше того, что мы имеем с Wayland?

В основе X11 лежат архитектурные решения более чем двадцатилетней давности (см выше). Так делать уже не надо, очень много функциональности иксов перешло в тулкиты, ядро, D-Bus, и другие системы. Замену легче написать с нуля, которая делает только свою прямую работу, а не пытается объять всё.

>>> Подробности

★★★★★

Проверено: svu ()
Последнее исправление: cetjs2 (всего исправлений: 11)
Ответ на: комментарий от x3al

> Ок. Тогда ход конём. Виртуальная клавиатура.

Тоже верно. Виртуальная клавиатура - одна из множества вещей, технически невозможных в wayland.

Речь про XReparentWindow()? Класс! И как же в wayland решили «эту проблему», если там такой функции НЕТ? Ни ее ни какого-то другого аналога.

Именно так и решили. Нет функции — нет проблемы.

Угу, гильотина - хорошее средство от насморка. Гарантированно работает.

Тогда нужно разделить программы для «старых» иксов и для «новых»

Зачем разделять? Для тебя эта функция - проблема? Тогда просто не используй ее в своих программах. Заставляет кто-то, что-ли? А те, кто не считают ее проблемой, будут ее использовать. И не надо ничего ни на что делить.

+ придумать, как рисовать декорации.

Зачем? В нормальных системах (Хы, мак, да даже в винде) декоратор - это задача оконной системы, а не программы. И программе вообще не надо об этом беспокоиться. Или ты пишешь декораторы? Тогда у меня плохая новость - с приходом wayland-а ты останешся без работы. :)

anonymous
()
Ответ на: комментарий от anonymous

>В нормальных системах (Хы, мак, да даже в винде) декоратор - это задача оконной системы, а не программы.
Таки прочитай PDFку выше по треду (ну не может быть, чтобы в такой срач не вбрасывали protocol.pdf наряду с uhg.pdf и чем-нибудь plan9-фильским) и повтори о нормальности иксов и декораторов в них. К репаретингу это имеет прямое отношение, а декорирование окон без репаретинга в иксах не делается.

x3al ★★★★★
()
Ответ на: комментарий от anonymous

Зачем? В нормальных системах (Хы, мак, да даже в винде) декоратор - это задача оконной системы, а не программы.

Тащемта там везде декорации окон рисуются самим клиентом.

Gorthauer ★★★★★
()
Ответ на: комментарий от x3al

> Таки прочитай PDFку выше по треду (ну не может быть, чтобы в такой срач не вбрасывали protocol.pdf наряду с uhg.pdf и чем-нибудь plan9-фильским)

Видел, а что там такого особенного? Цитируй, если тебе что-то показалось интересным - если успею, отвечу.

и повтори о нормальности иксов и декораторов в них.

Повторяю. Ничего лучше, чем декоратор в Х-ах, на данный момент нет.

Ты когда-нибудь видел такую программу windowblinds? Это - такой себе «декоратор» под винду. Еще во времена win95 появился, кажется. Вот это был настоящий костыль, фирменный, он рисовал свои декорации поверх виндовых, поэтому при разворачивании большого окна можно было долю секунды видеть сначала виндовые декорации, а потом поверх них рисовались blinds-овые. По сравнению с такими костылями - декораторы в Х-ах - верх совершенства.

И, да, не забывай, в wayland-е декораторов нет вообще. Поэтому в сравнении «декораторы Х-ов» против «декораторов wayland» - Х-ы получают бесспорную победу, потому что их противник не явился на поле. :)

anonymous
()
Ответ на: комментарий от anonymous

>Видел, а что там такого особенного?
Значит, не видел.

Ты когда-нибудь видел такую программу windowblinds?

Никогда не испытывал необходимости в установке подобных костылей. Они же будут криво работать, если в title окна — не только заголовок и 4 дефолтных кнопки (пример: гуглехром и современный жирнолис, любое ribbon-приложение). Заодно это и пример превосходства client-side декорирования.

Поэтому в сравнении «декораторы Х-ов» против «декораторов wayland» - Х-ы получают бесспорную победу, потому что их противник не явился на поле. :)

Противнику не нужны эти костыли.

x3al ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.