LINUX.ORG.RU
 
ChALkeR

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


0

1

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

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

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


[#] Ответ на: комментарий от Lucky 13.06.2011 0:57:54  
geekless

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

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

** ()
[#] Ответ на: комментарий от Lucky 13.06.2011 0:57:54  
no-dashi

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

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

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

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

***** ()
[#] Ответ на: комментарий от baka-kun 12.06.2011 16:41:34  
RussianNeuroMancer

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

*** ()
[#] Ответ на: комментарий от no-dashi 13.06.2011 7:57:31  

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

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

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


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

anonymous ()
[#] Ответ на: комментарий от kernelpanic 13.06.2011 0:37:11  
Nicholass

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

* ()
[#] Ответ на: комментарий от baverman 09.06.2011 13:04:59  

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

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

anonymous ()
[#] Ответ на: комментарий от tailgunner 09.06.2011 15:10:39  

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

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

anonymous ()
[#] Ответ на: комментарий от ChALkeR 09.06.2011 12:19:10  

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

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

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

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

anonymous ()
[#] Ответ на: комментарий от anonymous 13.06.2011 16:19:49  

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

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

** ()
[#] Ответ на: комментарий от d9d9 09.06.2011 16:07:16  

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

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

anonymous ()
[#] Ответ на: комментарий от stalkerg 09.06.2011 19:40:42  

> 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 10.06.2011 18:58:29  

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

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

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

anonymous ()
[#] Ответ на: комментарий от RussianNeuroMancer 11.06.2011 9:29:09  

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

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

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

anonymous ()
[#] Ответ на: комментарий от d9d9 12.06.2011 19:51:17  

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

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

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

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

anonymous ()
[#] Ответ на: комментарий от baverman 13.06.2011 16:36:44  

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

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

anonymous ()
[#]  

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

anonymous ()
[#] Ответ на: комментарий от anonymous 13.06.2011 17:34:55  

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

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

** ()
[#] Ответ на: комментарий от baverman 13.06.2011 18:50:17  

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

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

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

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

anonymous ()
[#] Ответ на: комментарий от anonymous 13.06.2011 17:28:54  
no-dashi

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

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

***** ()
[#]  
no-dashi

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

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

гуано :-)

***** ()
[#] Ответ на: комментарий от anonymous 13.06.2011 16:54:09  
>>-----Цитата---->>

Это в Х-ах можно один раз сформировать изображение, сохранить его на сервере (или даже в видеопамяти карты) и потом оперировать им. А в 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 ()
[#] Ответ на: комментарий от no-dashi 13.06.2011 21:28:38  

>гуано :-)

у тебя в голове ;-)

anonymous ()
[#] Ответ на: комментарий от anonymous 13.06.2011 23:35:18  

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

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

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

anonymous ()
[#] Ответ на: комментарий от anonymous 14.06.2011 0:06:00  

>Не веришь?

Тебе - нет ;-)

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


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

anonymous ()
[#] Ответ на: комментарий от no-dashi 13.06.2011 21:13:08  

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

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

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

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

anonymous ()
[#] Ответ на: комментарий от anonymous 14.06.2011 0:50:45  

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

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

anonymous ()
[#] Ответ на: комментарий от anonymous 14.06.2011 1:12:52  

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

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

anonymous ()
[#] Ответ на: комментарий от anonymous 14.06.2011 0:50:45  
geekless

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

Вин! :D

** ()
[#] Ответ на: комментарий от anonymous 14.06.2011 1:32:50  

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

anonymous ()
[#] Ответ на: комментарий от anonymous 14.06.2011 9:30:40  
geekless

> в Photon microGUI нет сетевой прозрачности

Ага, а Земля покоится на трех китах. Анонимус сегодня бесподобен.

** ()
[#] Ответ на: комментарий от geekless 14.06.2011 9:52:26  

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

anonymous ()
[#] Ответ на: комментарий от anonymous 14.06.2011 0:27:22  

но тем не менее ресурсы разработчиков на поддержку этого поделия уже уходят...

anonymous ()
[#] Ответ на: комментарий от no-dashi 13.06.2011 21:28:38  
dotbg

вроде, как раз из-за мобилок wayland и появился

*** ()
[#]  
elverion

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

()
[#] Ответ на: комментарий от anonymous 14.06.2011 18:21:05  
burjui

Нужно больше золота (С)

* ()