LINUX.ORG.RU
 
PolarFox

Вопрос к (no)wayland-ковырятелям.


0

1

Под этой штукой работают настоящие приложения? Есть здесь конкретные люди, которым что-то удалось запустить?

А пока все скрины с вейландом мне напоминают вот это.


[#]  
aho

> Есть здесь конкретные люди, которым что-то удалось запустить?

ты настолько не в теме, что это такое и как оно работает?

()
[#] Ответ на: комментарий от aho 12.06.2011 15:45:40  
PolarFox

> ты настолько не в теме, что это такое и как оно работает?

Говорят что это замена иксам, которая работает без никому не нужного в XXI веке клиент-серверного взаимодействия, однако же на скриншотах видны только гирсы и терминалы, из чего можно сделать вывод, что в вейлянде больше ничего нет.

**** ()
[#]  
anonymousss

Вроде как там работают GTK3 и Qt4, но не приложения на них.

** ()
[#]  
darkshvein

Ты подожди,эта штука интересная для меня, собираюсь её оборзе^обозреть в будущем. А пока леень

## ()
[#] Ответ на: комментарий от anonymousss 12.06.2011 15:58:57  
PolarFox

> Вроде как там работают GTK3 и Qt4

Я не видел даже банального калькулятора.

**** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 15:56:25  
aho

> из чего можно сделать вывод, что в вейлянде больше ничего нет.

Qt уже более-менее поддерживает его:

http://www.youtube.com/watch?v=b7RxuxlXFQQ

GTK на подходе, а вообще wayland просто-напросто еще не готов - это же не очередной плеер, тут еще минимум года два работы по всем фронтам, чтоб можно было десктоп на нем запилить

()
[#] Ответ на: комментарий от aho 12.06.2011 16:03:35  
PolarFox

> http://www.youtube.com/watch?v=b7RxuxlXFQQ

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

А очень жирные рамки — баг или фича? Кто в вейленде рисует рамки?

**** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 16:06:34  
aho

> А очень жирные рамки — баг или фича? Кто в вейленде рисует рамки?

фича, насколько знаю - само приложение и рисует, т.е. на уровне тулкита, хотя наверняка потом будет унификация и что-то вроде WM

()
[#] Ответ на: комментарий от PolarFox 12.06.2011 16:06:34  
bsdfun

> А очень жирные рамки — баг или фича?

Фича.

*** ()
[#] Ответ на: комментарий от aho 12.06.2011 16:09:41  
PolarFox

> на уровне тулкита

Мне не нравится такой подход.

> и что-то вроде WM

Хм. В википедии пишут, что поддержка протокола wayland пилится в рамках kwin и compiz.

http://wayland.freedesktop.org/wayland-architecture.png

Место композитора займёт тот же компиз и будет напрямую дёргать ядерные компоненты?

**** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 16:01:58  
Andaril

pdf читать можно и терминал гонять.

* ()
[#] Ответ на: комментарий от Andaril 12.06.2011 16:18:55  
PolarFox

Ну да. Любая программа запущенная в xterm (или как оно теперь в вейленде правильно называется?) вроде бы становится графической.

**** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 16:19:52  
Andaril

я ща попробую на своем арчике запилить. Посмотрю как оно там.

* ()
[#] Ответ на: комментарий от Andaril 12.06.2011 16:22:29  
PolarFox

Тут у меня стабильная абанта 10.04 с слишком древним ядром и открытыми атидровами. А в нетпуке с нвидией и абантой 11.04 мне лениво чинить открытые дрова, которые удалось сломать лишь установкой проприетарных из пакета.

**** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 15:56:25  
geekless

> без никому не нужного в XXI веке клиент-серверного взаимодействия

> в XXI веке

> без клиент-серверного взаимодействия


/0

** ()
[#] Ответ на: комментарий от geekless 12.06.2011 16:26:23  
PolarFox

> /0

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

**** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 16:27:51  
geekless

> Это не мои слова.

От этого они делением на ноль не перестают быть.

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

Это у хомячков, для которых браузер == ОС. Для них пилят всякие хромооси, а вейланд не у дел. :)

** ()
[#] Ответ на: комментарий от geekless 12.06.2011 16:32:01  
PolarFox

> Это у хомячков, для которых браузер == ОС. Для них пилят всякие хромооси, а вейланд не у дел. :)

Протокол вейленд же ещё на уровне черновиков? Пока не поздно добавить в него канву, js, css и html5 со всякими вебсокетами.

**** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 16:34:14  
aho

> Пока не поздно добавить в него канву, js, css и html5 со всякими вебсокетами.

вообще-то он создан с прямо противоположной целью

()
[#] Ответ на: комментарий от aho 12.06.2011 16:36:32  
PolarFox

Быть максимально простым? Не нашёл на сайте описание API.

**** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 16:34:14  
Gary

Ещё нагородить кучу костылей, и будут вторые иксы, ага

Всякие огороды из html5 и rdp всё равно по простоте никуда не годятся в сравнении с иксами.

***** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 16:38:01  
aho

> Быть максимально простым? Не нашёл на сайте описание API.

там все API - обновить изображение из буфера, вся отрисовка делается клиентом, например, с помощью cairo

()
[#]  
PolarFox

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

**** ()
[#] Ответ на: комментарий от aho 12.06.2011 16:40:43  
PolarFox

> там все API - обновить изображение из буфера, вся отрисовка делается клиентом, например, с помощью cairo

А как же мыши, клавиатуры, тачскрины и всё такое? Нужно как минимум апи для устройств ввода. Формат буфера жёстко задан? А ресайзы и перемещения?

**** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 16:42:04  
aho

да - конечно API для этого тоже есть, я имел ввиду только отрисовку, само устройство wayland + примеры клиентов можно посмотреть тут:

https://github.com/nobled/wayland

()
[#] Ответ на: комментарий от aho 12.06.2011 16:56:03  
PolarFox

В clients/window.c (код относящийся, насколько я понял, к клиенту) есть неиллюзиорная работа с egl, drm, dri и прочими околоядерными сущностями. Это весьма сложнее, чем просто ПолучитьБуфер(), нарисовать что-нибудь на нём и ПоказатьБуферНаЭкране().

Вместо кода с костылями Х11 мы получаем код с костылями линуксового ядра, не?

**** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 17:02:31  
aho

> есть неиллюзиорная работа с egl, drm, dri и прочими околоядерными сущностями

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

()
[#] Ответ на: комментарий от aho 12.06.2011 17:07:42  
PolarFox

Значит непортабельные штуки будут в рисовалках. А софтовую железо- и осенезависимую рисовалку можно будет реализовать? Вейленд вообще возможен для нелинукса?

**** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 17:02:31  
geekless

> Вместо кода с костылями Х11 мы получаем код с костылями линуксового ядра, не?

Yeap!

** ()
[#] Ответ на: комментарий от geekless 12.06.2011 17:11:56  
PolarFox

> Yeap!

Если это так, то это очень-очень плохо и должно быть закопано незамедлительно. Графика должна быть обособленна от ОС.

**** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 17:12:54  
mono

Господи, что мешает зайти на официальный сайт и почитать, вместо того, чтобы гнать тут полнейшую ахинею?

Ты раньше более адекватен был.

***** ()
[#] Ответ на: комментарий от mono 12.06.2011 17:17:03  
PolarFox

> Господи, что мешает зайти на официальный сайт и почитать, вместо того, чтобы гнать тут полнейшую ахинею?

Официальный сайт у них такое же говно, как и у Х11. А тут люди вроде разбираются.

**** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 17:11:36  
aho

> А софтовую железо- и осенезависимую рисовалку можно будет реализовать? Вейленд вообще возможен для нелинукса?

да

()
[#] Ответ на: комментарий от PolarFox 12.06.2011 17:12:54  
geekless

Дык, "define a rendering API... is something I've been very careful to avoid doing". API для рендеринга отсутствует by design, ибо оно "только композитор".

** ()
[#] Ответ на: комментарий от geekless 12.06.2011 17:21:36  
PolarFox

> Дык, "define a rendering API... is something I've been very careful to avoid doing". API для рендеринга отсутствует by design, ибо оно "только композитор".

Хм… Вопрос назревает вполне конкретный. В общем могу ли я выделить кусок в памяти (или как-либо запросить его у вейленда), нарисовать на нём что-нибудь безо всяких drm и egl, заполнив эту область памяти руками без промежуточных слоёв абстракции, и просто отдать вейланду на прорисовку?

**** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 17:19:10  
mono

>Официальный сайт у них такое же говно, как и у Х11.

так и скажи: "читать меня родители не научили, хотя и пытались".

ответы на все твои вопросы в этом топике содержаться тут http://wayland.freedesktop.org/faq.html.

http://wayland.freedesktop.org/architecture.html - а тут даже картинка есть.

***** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 17:26:14  
mono

>заполнив эту область памяти руками без промежуточных слоёв абстракции

что значит "без промежуточных слоев абстракции"? OpenGL, к примеру, никто не отменял, можешь напрямую с ним работать.

***** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 17:19:10  
bsdfun

> А тут люди вроде разбираются.

*Громкий хохот в зале*

*** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 17:26:14  
geekless
struct wl_buffer {
	struct wl_resource resource;
	struct wl_compositor *compositor;
	struct wl_visual *visual;
	int32_t width, height;
	void *user_data;
};

Буфер создаётся с указанным типом wl_visual. По идее, зная формат буфера, можно фигачить в него напрямую. Теоретически.

Как это на практике сделано в текущей реализации вяленда — фиг его знает.

** ()
[#] Ответ на: комментарий от mono 12.06.2011 17:27:13  
PolarFox

> http://wayland.freedesktop.org/architecture.html - а тут даже картинка есть.

Эта картинка не слишком соответствует тому, как я понял этот ваш вейленд.

Скорее на данный момент он вместе с его текущими демками работает как-то так: http://storage3.static.itmages.ru/i/11/0612/h_1307886002_36693b42da.png

**** ()
[#] Ответ на: комментарий от bsdfun 12.06.2011 17:34:39  
aho

> *Громкий смех идиота в зале*

fixed, очевидно, что тут никто не разбирается - wayland просто не может быть никому тут нужен, чтоб его детально разбирать, но общие принципы его работы далеко не секрет и уже обсуждались

()
[#] Ответ на: комментарий от mono 12.06.2011 17:32:12  
PolarFox

> что значит "без промежуточных слоев абстракции"? OpenGL, к примеру, никто не отменял, можешь напрямую с ним работать.

Зачем мне нужен OpenGL, у меня нет времени, чтобы е%ться с ним. Лучше напрямую фигачить байтики в фреймбуффер, как это было в древних платформах.

**** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 17:26:14  
mono

По поводу сетевой прозрачности: так как в Wayland нет никакого Rendering API, то встроенными средствами этого не добьешься, но ничего не мешает использовать средства удаленной отрисовки поверх Wayland (например, X11 :) ), или же встроить новый протокол внутрь Wayland.

Т.е принципиальной невозможности сетевой прозрачности нет.

***** ()
[#]  
PolarFox

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

**** ()
[#] Ответ на: комментарий от PolarFox 12.06.2011 17:42:14  
aho

> Лучше напрямую фигачить байтики в фреймбуффер, как это было в древних платформах.

cairo_image_surface_get_data - и копируй свои байтики

()
[#] Ответ на: комментарий от PolarFox 12.06.2011 17:45:34  
mono

Краеугольным камнем линуксовой графики остаются ужасные графические драйвера.

***** ()
[#] Ответ на: комментарий от mono 12.06.2011 17:45:19  
PolarFox

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

**** ()