LINUX.ORG.RU

В Kwin ведётся работа для поддержки Wayland-клиентов

 , ,


0

1

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

На скриншоте показан Wayland-клиент и окна X11, работающие в Kwin одновременно.

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

★★★★★

Проверено: JB ()
Последнее исправление: cetjs2 (всего исправлений: 3)
Ответ на: комментарий от Lucky

> ответ в архитектуре, которую x11 фактически навязывает для приложений, занимающихся композицией окон

То есть из-за того, что вы в X11 видите проблемы с композитингом, надо выкинуть всю систему целиком? Ничего не находите здесь странного?

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

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

Бред. А что, вяленд не будет превращать те же пиксмапы в те же текстуры, чтобы потом рендерить их через OpenGL? Или он будет делать это через астрал? Также точно будет делать, через те же вызовы.

при элементаром перетаскивании окон видно слайд-шоу

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

no-dashi ★★★★★
()
Ответ на: комментарий от baka-kun

Сделать всё то же самое, только под новые расширения.
Что в этом плохого? Зачем делать двойную работу? Если переход на новые расширения всё равно будет, логично на них и ориентироваться.
> а в линуксе все клавиатуры (разделы) свалены в одну кучу
Разве такая аналогия уместна?

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от no-dashi

>А у меня не видно.

Это не меняет ничего - у тебя может и монитора-то нет :-)

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


для этого используется 2D ф-ции видеокарты - переместить регион.

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

Это ни коим образом не доказывает, что Федора это удивительный лакмус мира десктопных линуксов.

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

> X11 не может продолжить работу после разрыва соединения by design. Это там в принципе не может быть реализовано.

Xpra, внезапно. Еще загляни на http://winswitch.org/

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

> 2) вяленд - новая модная фишка (как HAL когда-то).

Есть разница. HAL решал хоть какие-то задачи, которые до него были не решены. Wayland не решает никаких.

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

> Ты можешь реализовать Wayland-композитор, который вместо отрисовки (или вместе с отрисовкой) шлёт куда-то эти окна по сети. Ноль проблем.

Что значит могу? В wayland кроме композитора еще хоть что-то есть? Что там с MPX (xinput), когда я могу воткнуть две мыши и получить два разных курсора на экране как в Xorg? В нем работает видео 1920х1080? В нем есть возможность работать с несколькими мониторами? Или может мультитач там есть? В нем хотя бы переключение раскладки и буфер обмена уже сделали?

А проблему отсутствия декоратора в архитектуре уже решили? Или до сих пор каждое приложение должно само рисовать рамку и заголовок для своих окон?

Что это за привычка вспоминать wayland на каждом чихе? Wayland - одноколесный велосипед для мобилок, единственная задача которого - быть маленьким. Не быстрым, не гибким, не фичастым, а маленьким. Не надо его пытаться запхнуть на десктоп, он убог.

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

Xpra, внезапно. Еще загляни на http://winswitch.org/

Пойнт в том, что это внешние штуки по отношению к протоколу. Их отсутствие в спеках никак не помешало реализации. Фирштейн?

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

> Одна из базовых идей в том, что не 3D будет приклеено сбоку к 2D изолентой, а 2D будет выполнятся средствами 3D. Без радикального переписывания - не выйдет.

В Wayland нет ни 2D ни 3D. Там только убогая тормозная передача битмапов (surface). Примерно как DOS-е когда-то писали в видеопамять пиксели.

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

> Wayland позволяет избежать двойного копирования поверхностей

Да. Вместо этого в нем ТРОЙНОЕ копирование поверхностей.

Сейчас все приложения рисуют буфер (считай картинку) и подставляют в окно. Фичи типо рисования линиq, полигонов и т.п. уже никто не использует.


4.2. И в Qt и в GTK используются как оригинальные XDrawRectangles так и XRenderFillRectangle если xrender поддерживается драйвером.

Для иксов приходиться сначала формировать эту картинку (вырезать из буфера приложения), засовывать в окно (копируя в иксы), потом собирать изображение и только тогда отправлять на карточку. Видать все уже забыли такой костыль как AIGLX?


Проспись и пей. Ты сейчас почти одни к одному описал архитектуру приложений wayland. Открой исходник любой его демки, и ты увидишь там и свои буферы и копирование поверхности и отправку на карточку.

Это в Х-ах можно один раз сформировать изображение, сохранить его на сервере (или даже в видеопамяти карты) и потом оперировать им. А в wayland такого нет. Архитектурно нет. Протокол не поддерживает.

Поэтому рендеринг 3D там выглядит просто замечательно:
1. Через отдельную библиотеку (cairo-gl) локальной видеокарте отдается команда на отрисовку изображения в невидимой области.
2. Отрисованное изображение копируется из видеопамяти во временный буфер программы.
3. Из этого временного буфера изображение копируется в SHM.
4. Wayland-композитору отдается адрес SHM и команда на отрисовку буфера.
5. Композитор копирует буфер снова в память видеокарты и отображает его на экране.
6. А пока это все копируется туда-сюда, программа пытается отдать команду на отрисовку следующего кадра в невидимой области. Goto 1.

И это - by desing.

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

> Ну кто тебе сказал такую глупость? Я уже выше писал, что „в Wayland нет поддержки сети“ — это выдирание из контекста и провокация.

Передача surface-ов в протоколе wayland идет через shm. В Х есть несколько способов передачи изображений, то в wayland он один - shm. По сети shm не работает.

Единственный вариант прикрутить костыль для проброса его по сети - выкинуть wayland-композитор, и написать на его основе что-то вроде vncwayland, который будет получать картинки через shm по протоколу wayland-а, сжимать их и передавать по сети. Но при таких костылях... зачем нужен wayland?

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

>> В чем проблема просто удалить эти возможности из иксов?

Проблема в спецификации протокола (в генах, как говорится). Например из-за неё отказываются исправлять этот баг.

Это - баг не в Х-ах и не в протоколе, а в evdev, верно? И, да, wayland тоже использует evdev, верно?

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

> Разговор вообще про удалённую работу, а это обычно подразумевает что-то вроде текстового редактора и изменение небольших участков экрана. Соответственно - изменяющиеся блоки чаще однородные, поэтому хорошо сжимаются.

Все это, конечно, круто, и вы обсуждаете сейчас VNC, или на крайний случай SPICE. Потому что протокол wayland все эти «изменяющиеся блоки» и «сжатие» не поддерживает. Простой протокол - это основа wayland. Он - не расширяемый.

Протокол Х специально разрабатывался как расширяемый, в который можно легко добавить любые необходимые фичи с полной обратной совместимостью и клиента и сервера. Да, в нем есть и сжатие и отрисовка только изменившихся областей, и командный режим. Все это оттачивалось годами и в течение многих версий (таки да X11 - это одиннадцатая версия). А в wayland ничего этого нет и не будет.

PS: кто расскажет, каким костылем умудрились прикрутить к wayland-у возможность делать скриншоты? ;)

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

> Пойнт в том, что это внешние штуки по отношению к протоколу. Их отсутствие в спеках никак не помешало реализации. Фирштейн?

Нет поинт в гибкости и фичастости протокола Х. Реализуй-ка Xpra без протокола X11.

anonymous
()

Гыы. KDE-шники написали собственную реализацию вейланда. Теперь вейланд точно не нужен, ведь есть KDE!

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

Нет поинт в гибкости и фичастости протокола Х

И какое отношение он имеет к Xpra? Прочитай повнимательнее про реализацию. И сравни насколько в вейленде это будет легче реализовать.

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

> И какое отношение он имеет к Xpra?

Благодаря Х-протоколу стало возможно написать Xpra как небольшое приложение на питоне.

Прочитай повнимательнее про реализацию. И сравни насколько в вейленде это будет легче реализовать.

В wayland-е это невозможно. Протокол wayland-а не позволяет прицепиться к серверу и обрабатывать события других приложений. Единственный вариант - реализовать полностью собственный wayland-сервер, запускать все клиенты из него, а их события переправлять по сети на другое приложение. Но опять-таки, зачем тогда нужен wayland? Чтобы каждый, кто хочет что-то добавить, писал собственный wayland-велосипед?

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

кто расскажет, каким костылем умудрились прикрутить к wayland-у возможность делать скриншоты?

Запускают вейланд внутри Xorg, Xorg скриншотят, и затем в гимпе вырезают окно вейланда. Или просто скриншотят окно вейланда :-)

no-dashi ★★★★★
()

В общем, что и требовалось доказать - вейланд это:

1. Нерасширяемое
2. Перегруженное копированиями регионов памяти
3. Непригодное к промышленному применению (ПРИНЦИПИАЛЬНО непригодное)
4. Ничем не лучшее чем X11 + MIT-SHM + GLX
5. Архитектурно убогое
6. Заставляющее писать велосипеды (ТЫСЯЧИ их!)
7. Априори RIPнутое на чем-либо кроме мобилок и прочих однозадачных решений

гуано :-)

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

Это в Х-ах можно один раз сформировать изображение, сохранить его на сервере (или даже в видеопамяти карты) и потом оперировать им. А в wayland такого нет. Архитектурно нет. Протокол не поддерживает.

Поэтому рендеринг 3D там выглядит просто замечательно: 1. Через отдельную библиотеку (cairo-gl) локальной видеокарте отдается команда на отрисовку изображения в невидимой области. 2. Отрисованное изображение копируется из видеопамяти во временный буфер программы. 3. Из этого временного буфера изображение копируется в SHM. 4. Wayland-композитору отдается адрес SHM и команда на отрисовку буфера. 5. Композитор копирует буфер снова в память видеокарты и отображает его на экране. 6. А пока это все копируется туда-сюда, программа пытается отдать команду на отрисовку следующего кадра в невидимой области. Goto 1.

И это - by desing.

Такое ощущение что ты целую неделю только пурген ел - пук получился поистине атомный.

Why fork the X server?

It's not an X server and not a fork. It's a minimal server that lets clients communicate GEM buffers and information about updates to those buffers to a compositor.

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

> Такое ощущение что ты целую неделю только пурген ел - пук получился поистине атомный.

Не веришь? Открой исходники любой демки, хоть те же wayland gears и посмотри. Их там не много.

А в свете сабжевой новости - кто из KDE-шников возьмется собрать себе kwin c поддержкой wayland-а и потестить в нем ихний же gears? Интересно - где будет больше попугаев, в wayland gears или в glxgears. Предвижу, что сравнение будет не в пользу wayland.

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

>Не веришь?

Тебе - нет ;-)

Открой исходники любой демки


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

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

> Запускают вейланд внутри Xorg, Xorg скриншотят, и затем в гимпе вырезают окно вейланда. Или просто скриншотят окно вейланда :-)

Не все так просто. В wayland-е есть отдельный клиент - screenshooter. Но есть проблема, у wayland-а нет root window, а если бы и был, то в протоколе нет способа запросить с сервера изображение обратно на клиент. Протокол односторонний - от клиента к серверу. Поэтому то, как работает screenshooter - это очень интересный вопрос. :)

Похоже, что они параллельно к основному протоколу специально для screenshooter-а добавили в сервер еще один модуль и еще один протокол с единственным сообщением - прислать скриншот.

На таких вот костылях написан почти весь wayland. Например, поскольку там нет root window, то нет и возможности выставить фон рабочего стола. Как решили эту проблему? Очень просто - png-файл с фоном передается в wayland-сервер параметром при запуске. Чтобы изменить фон - надо перезапустить сервер. :)

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

>Например, поскольку там нет root window, то нет и возможности выставить фон рабочего стола. Как решили эту проблему? Очень просто - png-файл с фоном передается в wayland-сервер параметром при запуске. Чтобы изменить фон - надо перезапустить сервер. :)

Может ты и о Linux по LFS судишь ? Вообще-то в современных видеокартах куча оверлеев и через alpha compositing на фоне можно хоть киношку запустить.

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

> Вообще-то в современных видеокартах куча оверлеев и через alpha compositing на фоне можно хоть киношку запустить.

Можно, если протокол сервера это позволяет. А протокол wayland-а - не позволяет.

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

> На таких вот костылях написан почти весь wayland. Например, поскольку там нет root window, то нет и возможности выставить фон рабочего стола. Как решили эту проблему? Очень просто - png-файл с фоном передается в wayland-сервер параметром при запуске. Чтобы изменить фон - надо перезапустить сервер. :)

Вин! :D

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

Прикинь - в Photon microGUI тоже нет понятия окна и сетевой прозрачности и это не помешало одному из солистов ВИА «анальные ароматы» восхититься им. Вам просто религия не позволяет признать что наконец в Linux появляется что-то достойное в графической подсистеме.

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

Я знаю что большинство линуксоидов бедные, злые и ругаются матом - читайте книжки, учитесь чтобы стать богатым и добрым как Марк ;-)

anonymous
()

Wayland отличный срачегенератор. Очень радует что появляются новые темы для флеймов.

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