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

>Выкинь уже свой паскаль. На каком основании они самые быстрые? На какой архитектуре, млин, есть быстрый нативный тип данных (для длины строки) размером в 1 байт?

Го перечитывать учебник математики за 1 класс, школоло:) Я тебе его пересказывать не обязан.

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

> Список нормальных технологий

OpenGL

и аргументация ненормальности Gallium3D.

Каталист и программы, работающие на OpenGL с его помощью, как-то обходятся без Gallium3D.

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

>Сейчас все конфы, по крайней мере от самой 1С, потихоньку переходят на управляемые формы и блокировки.

И нифига не изменится пока 1С не напишет нативный клиент.

Ygor ★★★★★
()

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

«спецификация Wayland не занимается сетевой прозрачностью, это не её дело

Как можно в XXX реализовать то, чем XXX не занимается по определению?

Правильней было бы в таком случае написать, что ПОВЕРХ Wayland может быть реализована сетевая прозрачность.

Композиторы могут быть рисующие локально, могут быть сервером и гнать картинку по сети

Ага, все таки внутри, но судя по архитектуре, Wayland и есть композитный менеджер. Остальное сидит в ядре.

http://wayland.freedesktop.org/architecture.html

Другими словами, если мы реализуем альтернативный композитный менеджер, то это уже будет нечто альтернативное самому Wayland, то есть, не внутри, а вместо.

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

На текущий момент любое иксовое приложение, хоть старое, хоть новое, будет работать по сети. Да, оно может отображаться не так быстро. Да, гнать видео по сети таким образом будет неэффективно, но это работает и 99% иксовых приложений вообще не имеет никаких неудобств с работой по сети.

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

Нет, все таки композитный менеджер тут не при чем и сетевая прозрачность организуется ПОВЕРХ него, а не внутри или вместо.

Звонок в службу тех-поддержки: Алле! я использую программу XXX. Будет ли она работать по сети?

Это программа X11?

да - да, будет!

нет, это программа работает с Wayland.

А какой тулкит она использует? QT, gtk, tk, fltk, fox, efl или еще десятки других? Без ответа на этот вопрос (и на следующие относительно сборки тулкита и его возможностей) мы не знаем, будет ли она работать по сети...

вы всегда сможете её собрать сами.

Всего три года, как сдох XGL. Нука, собери его...

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

Хватит верется как вошь на гребешке.

Правильное утверждение только одно. Wayland - убогая локальная поделка, а сетевая прозрачность в нем делается средствами vnc (той самой устарвевшей передачей картинки) или spice(тоже самое, но с общим клипбоардом, сетевым звуком и возможностью жать части одного экрана разными кодеками). Все остальное бред, бесполезнеж и мудянка кдешных уродцев...

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

>И что же они этим сломали?!

Вот когда гопы будут замахиваться в твою харю, ты будешь ждать когда она затрещит? Ладно, я офф, завтра же воскресенье, нужно рано вставать и куда-то идти, ибо воскресенье. Куда, не скажу а то налетят неадекваты и появится повод потереть усю ветку под формальным предлогом. Было весело, покеда, до новых встречь)))))

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

OpenGL

на OpenGL пишутся конечные приложения, а в драйверах пишется реализация OpenGL. Так что аргументированного противопоставления между какой-то конкретной технологией и Gallium3D я не увидел.

Каталист и программы, работающие на OpenGL с его помощью, как-то обходятся без Gallium3D.

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

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

Ага, а в версии 9.0 платформы они вообще дропнут native client и вы будете воспевать Web-client. Сплошная непоследовательность.

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

Другими словами, если мы реализуем альтернативный композитный менеджер, то это уже будет нечто альтернативное самому Wayland, то есть, не внутри, а вместо.

не вместо, а поверх

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

Вот когда гопы будут замахиваться в твою харю, ты будешь ждать когда она затрещит?

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

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

>юникод не везде нужен

Ну вот, динозавры на ЛОРе, ЧиТД.

пейсатели средств разработки


Пейсатели средств разработки любят писать на вырвиглазных тулкитах с вырвиглазными виджетами? Потеря пользователей, видимо, их не пугает.

Deleted
()

За втыкание иконок в трей dbus-ом - надо отрывать яйца.

Про сетевую прозрачность - не понял. Я хочу написать opengl приложение без тулкитов - оно будет сетево-прозрачным?! Сейчас хоть есть вроде indirect rendering...

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

Это получается сетевая прозрачность будет реализована по разному в qt, gtk и пр? Да это ж пц.

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

>только в разных пунктах оно относится к разному, а цитированием я указал на конкретный пункт ;)

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

Wayland использует уже существующие в ядре Linux технологии, такие как Kernel mode-setting (KMS), Direct Rendering Manager (DRM) и Graphics Execution Manager (GEM). Также в состав Wayland входит собственный встроенный композитный менеджер, использующий OpenGL ES.

Выкидываем «собственный встроенный композитный менеджер» и остаемся с KMS, DRM и GEM. Ой, а они же уже и так используются...

AVL2 ★★★★★
()

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

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

а композитная составляющая из оконных менеджеров будет просто выкинута/отключаема, как это сейчас сделано, например, в Compiz.

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

Но ведь если мы возьмём не один байт, а 4 байта на строку под длину (которые на i686 адресуются быстрее, чем 1 байт), то мы можем с такой же скоростью обрабатывать строки длинной в 4294967296 символов.

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

Хм, а мне казалось, что композитность в этих оконных менеджерах останется. Только их научат рисовать мимо иксов напрямую и реализуют в них wayland. По сути уже сейчас оконные менеджеры kwin и compiz превратились в две независимые реализации вейленда.

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

>Поверх композитного менеджера будет просто тупо накручиваться «плагины» от Compiz, Kwin, xfwm и прочих.

Чувствуется, ты вообще не представляешь, чего пишешь. Хотя кое в чем я согласен. Это действительно будет тупо.

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

Я хочу донести одну мысль, что если сетевая прозрачность, как она сделана в X, не нужна, то и Иксы не нужны. Менее принципиальное значение имеет то, что Xorg поддерживает кучу железа на разных ОС и архитектурах. Но это все-таки важный инфраструктурный аспект.

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

А еще бесит, когда заявляют о возможности гипотетического написания чего-то. Из этой гипотетической возможности вдруг исходят как из свершившегося факта, пишут с учетом этого, но совсем не думают, что никто не собирается этим заниматься. Совершенно никто не думает о ресурсах, об организации, об инфраструктуре опенсорса, о том, что разработчики работают по другим принципам — они могут спокойно бросить проект, или развивать его медленно. Это в корне отличается от того как в промышленности все происходит. Новаторы форсируют слом, а об инфраструктуре не думают. Кто-то напишет. А вот фиг! У меня все на сегодня :)

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

>Отсутствие софта

Тройное ололо с переворотом. По-моему для андроида софта больше, чем для десктопного линупса. А насчет «конкретных единиц софта» - who cares? Количеству со временем свойственно переходить в качество.

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

о сетевой прозрачности. говорят о том что она легко прикручивается к вайладу уже больше 9 месяцев. за это время можно было бы и написать реализацию, пусть не самую быструю но не глюкавую. раз этого нет то и дальше не будет. поскольку - 1) есть минимум 2 места куда ее можно внедрять (как есть два места для wm), значит в лучшем случае будет 2(если не 4) дублирующихся функциональности. а в худшем - 4 глюкодрома 2) сетевая прозрачность авторам вейланда не нужна. это их изначальная идеолоическая устновка (до сих пор он не удосужились замерить профилятором сколько эта самая прозрачность «стоит» в X. («стоит» она меньше процента)

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

> По-моему для андроида софта больше, чем для десктопного линупса.

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

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

об эффектвинсти. эффективность достигается грамотным проектированием и планированием. у вейледна нет ни того ни другого. заметки на салфетке которые пытаются выдать за архитектру и слова «это конечно пруф оф концепт но сделать можно и так и так» лучшее тому подтверждение.

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

И это не считая того, что самих реализаций вейленда уже не менее 4 штук.

Вейленд использующий ядерные механизмы рисования, вейленд в иксах, вейленд в компизе, вейленд в квине. Вейлендов много, толку мало.

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

еще смешенее читать о 8 кратном превосходстве чеготото там на «нативным». если что и показывает что авторы вейледна недоучки не осилившие x так именно это. то есть ждать от них нормальной (быстрой) совместимости также безнадежно как и поддержки сети.

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

еще смешенее читать о 8 кратном превосходстве чеготото там на «нативным». если что и показывает что авторы вейледна недоучки не осилившие x так именно это.

Как разрабы Qt коррелируют с разрабами Wayland?

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

о проблемах X. у X есть две большие проблемы - недостаточная поддеоржка производителями железа и криворукие и кривоголовые авторы популярных тулкитов и их расширений (а так же прогамм). достаточно попытаться запустить любое модное приложение на не навороченном железе. даже без X. нативно-нативно что бы не бьло повода кивать на «протухшие» X. любое встроенное решение без кучи рама и выделенной видеокарты уже не подходит для qt-kde подобного безобразия. и от этих людей ктото ждет нормального кода или архитектуры?

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

Реализаций таки 4. Вейленд — протокол и он не может просто так взять и использовать компиз. Для этого он должен быть реализован внутри компиза. Также с квином. Ну может ядерный и иксовый вейленды делят много общей кодовой базы, так как разрабатываются в рамках одного дерева исходников. Так что пусть будет 3.5 реализации.

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

да и естетсвенно вйеленд не решает а только усугубляет обе эти проблемы - проблему подержки вендорами железяк и проблему криворукости. сейчас хотя бы можно запустить по сети две версии одной и той же программы одинаковой функциональности - Xlib-ную и qt-шно-kde-шную. и ужастнутся разнице (если конечно у вас не 100mit директ линк),. а когда всех 'обвейледят' то и возможности для сравнительного тыкания носом в криворукость исчезнет. за это собственно и борются. что бы не было возможности потыкать в кривизну.

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

Вейленд — протокол и он не может просто так взять и использовать компиз. Для этого он должен быть реализован внутри компиза.

X11 — протокол и он не может просто так взять и использовать компиз. Для этого он должен быть реализован внутри компиза.

После такой небольшой замены считаем сколько тулкитов и бестулкитного ПО использует X11 и получаем, что реализаций X11 еще больше чем реализаций Wayland.

Для этого он должен быть реализован внутри компиза

compiz собирается использовать Wayland в качестве back-end так же как сейчас в этой роли используется xorg-server с его X11 протоколом.

daemonpnz ★★★★★
()

Спасибо. Было интересно почитать.

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

> HTTP — протокол и он не может просто так взять и использовать компиз. Для этого он должен быть реализован внутри компиза.

Не все протоколы одинаково полезны.

После такой небольшой замены считаем сколько тулкитов и бестулкитного ПО использует X11 и получаем, что реализаций X11 еще больше чем реализаций Wayland.

В Х11 среди прочего ненужного по мнению новейляндовцев мусора есть средства для существования такой штуки как WM. В вейланде такого я не увидел.

compiz собирается использовать Wayland в качестве back-end так же как сейчас в этой роли используется xorg-server с его X11 протоколом.

Хм… а как… В вейленде уже существуют механизмы чтобы двигать чужие окна? А как будут реализованы спецэффекты компиза?

PolarFox ★★★★★
()

Композиторы могут быть рисующие локально

Что за мир - уже композиторы рисуют :-\

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

>Я пишу это так как я понял и как я думаю.

Верю.

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

Чтобы реализовать сетевую «эффективную» прозрачность нужно в первую очередь написать низкоуровневый язык описания манипуляций с графикой. Примерно как для принтеров написали постскрипт и pdf. И затем реализовать этот язык в таком месте архитектуры, где проходит весь поток данных на отображение для всех тулкитов, менеджеров и программ.

Ничего этого даже в планах нет, потому что это будет переизобретением X11.

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

В Х11 среди прочего ненужного по мнению новейляндовцев мусора есть средства для существования такой штуки как WM. В вейланде такого я не увидел.

В wayland уже есть WM, а дополнительные плюшки к нему в видет тайлинга, свистоперделок и прочего, как я понимаю, будут прикручиваться отдельно. И то ПО, что сейчас является WM, WM как таковым являться не будет, а будет расширеными средствами управления Wayland'овским WM в том или ином стиле, например тайлинговом, с теми или иными свистоперделками.

чужие окна

что значит чужие окна?!

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

> В wayland уже есть WM

Что? А почему тогда все (три) приложения в вейленде сами себе рисуют заголовок окна и сами реализуют своё перетаскивание по экрану? И при запуске вейлендовского приложения в квинском вейленде, на экране видны две рамочки — от приложения и от квина.

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

rio общеизвестна. книжка забавно но к реальности отношения ни имеет. какие там .. в путях .... они бы еще забили абсолютные пути...

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

> Заголовок окна имеет весьма опосредственное отношение к оконному менеджеру.

Ну да, в иксах есть компиз, в котором заголовок рисуется отдельной сущностью по имени декоратор. А перетаскивание и ресайз окон в вейленде тоже не имеют отношения к оконному менеджеру? Ведь терминал и другие два приложения под вейленд не только сами себе рисуют рамку, но и двигают себя.

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

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

Значит я мог что-то не так понять или просто все необходимые фичи ещё не реализовали в wayland. И вот именно поэтому лучше дотерпеть до его релиза, а там уже кричать «нужно/не нужно». Сейчас пусть активно пилят его. Wayland будет всего лишь альтернативой, которую, если она будет лучше Х11, можно будет использовать по умолчанию, а если хуже, то Х'ы никто никуда не выкинул и они так и останутся по умолчанию в этих ваших Linux-десктопах.

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

> По-моему для андроида софта больше, чем для десктопного линупса.

После грибочков ещё и не такое покажется

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