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

x3al> Написать xorg на X12 + xlib на X12 и портировать всё туда гораздо сложнее, чем написать wayland.

Портировать приложения на X12 не труднее, чем на вяленд.

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

> Cairo, QPainter/RASTER - это проблемы криворуких быдлокодеров, а не сетевой прозрачности X11

отрендерить HTML5 в браузере средствами xlib - замечательная идея

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

aho> отрендерить HTML5 в браузере средствами xlib - замечательная идея

То есть ты предлагаешь гнать значительно большую картинку по сети вместо того, чтобы отрендерить интерфейс командами на клиенте, и отправить картинку HTML5 по сети, да?

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

splinter> Тем что к примеру к X13 мы бы уже плавненько и без лишних споров перешли на Wayland, только этого бы никто не знал :-)

Нифига. Архитектура X Window System предполагает голый сервер, на котором работают клиентские приложений. Вяленд - сервер с композитором, на котором работают приложения. В первом случае возможна полноценная сетевая прозрачность (и она реализована), а во втором - только в пределах одного окошка (и её делать никто не собирается).

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

aho> расскажи в чем они не правы, что плюнули на нее

Нокия? Так не нокия делала Qt. То, что они плюули на архитектуру иксов - просто нежелание делать оптимизированный нормальный тулкит. Сделали «абы было». Вообще давно известно, что Qt на фоне других тулкитов - то ещё тормозилово и криворукая поделка. Особенно на фоне EFL.

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

> То есть ты предлагаешь гнать значительно большую картинку по сети вместо того, чтобы отрендерить интерфейс командами на клиенте, и отправить картинку HTML5 по сети, да?

мне насрать на сеть, моих 40Мбит вполне хватает для TeamViewer, а хваленая сетевая прозрачность иксов тормозит даже в локалке

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

> просто нежелание делать оптимизированный нормальный тулкит

так и запишем - не осилил прочитать, и таки сам не разбирается в архитектуре X-ов

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

ChALkeR> Из Qt5 жир тоже повыкидывают.

Одна бабка сказала.

Чтобы повыкидывать весь жир из Qt, его надо полностью переписать. И не как Qt3 в Qt4, а по-нормальному.

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

aho> мне насрать на сеть, моих 40Мбит вполне хватает для TeamViewer, а хваленая сетевая прозрачность иксов тормозит даже в локалке

Не запускал, а утверждаешь. Ню-ню.

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

> Не запускал, а утверждаешь. Ню-ню.

не запускал - не писал бы, Netbeans оно просто не тянет, хотя да - xclock не тормозит, да

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

aho> так и запишем - не осилил прочитать, и таки сам не разбирается в архитектуре X-ов

Я то хорошо в ней разобрался. Просто всякие идиоты думают, что на иксах должна лежать задача большая, чем графика. Хочется большей гибкости без засирания системы - добро пожаловать в Plan9.

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

aho> не запускал - не писал бы, Netbeans оно просто не тянет

Нашёл что запускать. Это жабопрограмма. Возможности иксов тут не используются вообще.

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

> Я то хорошо в ней разобрался. Просто всякие идиоты думают, что на иксах должна лежать задача большая, чем графика.

т.е. рисовать картинку на все окно - нормально?

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

> Нашёл что запускать. Это жабопрограмма. Возможности иксов тут не используются вообще

а что запускать? браузер на cairo? офис на нем же? игры?

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

ChALkeR> А вот основанную на X11 систему рендеринга выкинут (она самая медленная и никому не нужная).

Отдельные виджеты достаточно отрисовывать битмапами в целях повышения производительности. Это разумнее, чем гонять всё окно битмапом, а то и весь рабочий стол.

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

aho> т.е. рисовать картинку на все окно - нормально?

Конечно нет. И те, кто делают такие тулкиты, должны сдохнуть в муках.

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

aho> а что запускать? браузер на cairo? офис на нем же? игры?

Игры вполне должны пойти, особенно те, которые на OpenGL. А в офисе и броузере разве даже кнопочки на Cairo сделаны?

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

> А в офисе и броузере разве даже кнопочки на Cairo сделаны?

в офисе и браузере кнопочки занимают мизерную часть интерфейса, как по размеру, так и по частоте обновления

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

ChALkeR> Но циферки-то объективнее. Native (X11) медленнее в 8 раз :-).

Только это не говорит о том. что вяленд тут поможет и иксы тормозные. Это говорит о том, что реализация Native для этого тулкита тормозит и в неё целесообразнее элементы упрвления рендерить отдельными битмапами.

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

aho> в офисе и браузере кнопочки занимают мизерную часть интерфейса, как по размеру, так и по частоте обновления

Значит тут ничто не поможет - один фиг в виде картинки передаётся, как и в вяленде предлагается. Единственное, что может помочь - нормальный веб-броузер (не Firefox, не Opera, не Chrome, а нормальный).

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

anonymous> Ты не думал о том, что попытка починить выльется в тот же самый Wayland только в рамках проекта X.org? Ты читал новость?


Опять же: не выльется никогда, так как архитектуры разные. А X Window System без своей фирменной фишки не X Window System. Но это и не мешает всё починить. Что самое смешное, чинить надо в первую очередь не в иксах.

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

Опять же, пройди по комментариям наверх.

В этой ветке обсуждения идёт речь про Qt.

ChALkeR ★★★★★
() автор топика
Ответ на: комментарий от aho

qt-invaded-by-aliens-the-end-of-all-flicker

Каким образом wayland спасет ситуацию? Там только написано, что виджеты, как иерархия почти независимых нативных окон сосут.

Кстати, в gtk тоже переходят на безоконные виджеты, только почему-то без шуму и пыли и без претензий к иксам.

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

Почему протухли — читай в новости.

Вяленд такое не может.

Обоснуй.

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

Ну, давай, расскажи мне.

Ты только что подтвердил, что в иксах нет никакой системы виджетов.

baverman ★★★
()

Столько слов, а все равно не нужен.

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

Беда в том что не скоро. API библиотеки там реализован полностью и в этом было задание на gsoc и на этом все. Сейчас все это считается на процессоре. Перенести расчеты на gpu это отдельная большая работа, которую пока еще не знают как лучше сделать.

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

К сожалению, у меня уже нету возможности исправить. Сейчас попрошу корректора. Когда писал, несколько торопился. Спасибо.

ChALkeR ★★★★★
() автор топика
Ответ на: комментарий от Quasar

>Эти «монстроузорные» иксы способны работать на i386 с 4Mb RAM.

В каком бородатом году это было возможно? :)

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

>Эти «монстроузорные» иксы способны работать на i386 с 4Mb RAM

Во-первых, это враньё, во-вторых - фап на устаревший хлам ведёт к стагнации и безнадёжному отставании от прогресса.

А «протухли» и «монстроузорны» - типичный высер фанатика вяленда

Лучше быть фанатиком новых веяний, чем фанатиком неэффективного говна мамонта

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

Это гавно успешно по другим причинам, никаким боком к програмированию не относящимся.

Behem0th ★★★★★
()

А новость то, НОВОСТЬ то в чём? «ChALkeR перевёл доводы в пользу Waylend»? Очень интересная новость, она перевернёт мир!

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

>Как раскладку переключить или оконный менеджер сменить? Оконный менеджер теперь меняется только вместе с сервером

В Wayland не будет возможности настроить переключение клавиатуры? Я для fluxbox в Х-ах настроил на «menu» переключение трех языков и забыл, что же будет с Wayland? Можно детальнее, насчет смены WM вместе с сервером <- почему/зачем?

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

Раз каталист нормально обходится без Gallium3D, то может этот Gallium3D ну очень многим пользователям нафиг не нужен?
Всё верно. Gallium3D не нужен на Windows и MacOS.

RussianNeuroMancer ★★★★★
()

>они используют такие технологии как Cairo, Clutter, QPainter (Raster) или OpenGL. В этом случае X11 вынужден гнать по сети готовую картинку,

Дальше не читал.

madcore ★★★★★
()

Ну, через лет 10 можно будет смело им пользоваться, а пока меня и иксы устраивают.

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

> Эти «монстроузорные» иксы способны работать на i386 с 4Mb RAM.

8 минимум.

Причём, на восьми работают так, что работой это можно считать с долей условности.

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

У иксов 90% возможностей уже устарели и не используются, а их нужно поддерживать, что доставляет неимоверный баттхерт красноглазиками. И еще архитектура иксов, как минимум, не красива. Поэтому хотят запилить намного более простую сущность.

PS. Я лично пока за Иксы, но если вайленд будет лучше и будет поддерживаться производителдями нормальных драйверов (блобов), то я на него перейду.

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

Например?

Там многие вещи настолько криво реализованы, что почти неюзабельны. Поэтому вместо, например, их шрифтовой системы все давно используют Pango или Qt-шный шрифтовой движок.

Deleted
()

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

Прекратите повторять магические заклинания. Они не помогут превратить чудище Франкенштейна в человека.

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

Не правда, но Javascript сделают основным языком для разработки.

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

>свободных видеодрайверах, достаточно годных для большинства железа и пользовательских задач (включая, но не ограничиваясь играми в WINE)

Ты бы постыдился такое писать. Если топовая видеокарта работает будто ей 5-7 лет, то драйвер не готов.

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

> Иксы когда-то были оконной системой + системой виджетов.

Иксовые виджеты уже никто не использует.

Сетевая прозрачность должна опираться именно на систему виджетов.


Какие отсюда следуют выводы?



Выводы:

1. Иксы никогда не были системой виджетов. Покажи мне эти «виджеты» в протоколе или же иди уже ознакомься с матчастью.
2. Невозможно использовать то, чего никогда не было.
3. Сетевая прозрачность должна опираться на пересылку по сети сообщений, а не изображения. Если для этого надо предусмотреть механизм, позволяющий гонять тулкит на стороне клиента, то именно это и нужно сделать. (И давно пора.) А не заниматься изобретением очередного велосипеда, который не решает ни одной из проблем, стоящих перед современной графической подситемой юникса.

Ну и самое главное: вейланд — это альтернатива DirectFB, а не иксов. Придумать, что вейланд — это замена иксов, это ж нужно иметь поражение мозга, чтобы до такого догадаться.

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