LINUX.ORG.RU
ФорумTalks

Приятные новости для вялендофобов

 ,


0

2

http://www.opennet.ru/opennews/art.shtml?num=34922

Кристиан Хогсберг (Kristian Høgsberg), создатель проекта Wayland, в своём докладе на конференции разработчиков X.Org продемонстрировал технологию для организации работы с приложениями, запущенными на другой машине, выступающую в качестве ответа на критику об отсутствии в Wayland средств для обеспечения сетевой прозрачности.

Сам по себе Wayland не поддерживает API рендеринга отдельных окон и манипулирует только битмапами, поэтому реализация функций удалённого рендеринга может быть реализована на уровне композитного сервера. Рабочий прототип подобной системы реализован через специальное дополнение к композитному серверу Weston, которое выступает в роли надстройки для обеспечения сетевого взаимодействия при организации рендеринга и передачи событий от устройств ввода. Взаимодействие происходит не уровне двух композитных менеджеров, т.е. композитный сервер Weston на локальной системе, на которой работает пользователь, может отображать отдельные окна из композитного сервере Weston, запущенного на удалённой системе.

Трансляция вывода реализована на основе передачи изменения содержимого отдельных окон, обслуживаемых композитным сервером. По сети передаются только изменившиеся элементы окон, изменения вычисляются на уровне битмапов и передаются с использованием протокола похожего на VNC. Используемый для организации сетевого доступа протокол манипулирует исключительно пиксельными картами, т.е. изображениями с результатами рендеринга, и не поддерживает работу с примитивами, как это реализовано в X11.

В докладе также отмечается, что первый стабильный релиз Wayland 1.0 планируется выпустить в течение ближайших недель. Тем не менее, экосистема вокруг проекта Wayland пока не готова для замены X11 в основных дистрибутивах Linux. Ожидается, что выпуск релиза Wayland 1.0 и связанная с ним стабилизация API и протокола подтолкнёт разработчиков к адаптации продуктов для прямой работы с Wayland и интеграции поддержки технологий Wayland в дистрибутивы. В настоящее время предварительные версии пакетов с Wayland и Weston уже доступны в тестовых репозиториях Fedora 18 и Ubuntu 12.10.

На днях разработчики проекта KDE представили план обеспечения работы KDE и KWin поверх Wayland. Так как бэкенд с поддержкой Wayland изначально будет доступен в Qt 5, поддержка Wayland в KDE и KWin упирается в портирование компонентов KDE на использование Qt 5. После того как появится возможность сборки с использованием Qt 5 предстоит убедится в работоспособности с Wayland приложений KDE, оболочки Plasma и композитного менеджера KWin. В процессе портирования для Windows и Mac OS X приложения KDE уже почищены от платформозависимого кода, поэтому больших проблем с использованием бэкенда Wayland вместо бэкенда X11 не ожидается. Оболочка Plasma потребует некоторых корректировок, так к в ней по прежнему остается код, напрямую обращающийся к X11. В KWin планируется добавить средства для работы в качестве композитного сервера Wayland, что позволит выполнять KWin непосредственно поверх Wayland без привлечения дополнительных композитных серверов, таких как Weston. Несмотря на то, что в отдельной созданной ветке с портом KWin для Wayland уже больше года нет новых коммитов, разработка KWin этот год протекает с постоянной оглядкой на будущее использование Wayland, как при проведении рефакторинга кода в основной ветке, так и при реализации новшеств.

Напомним, что Wayland представляет собой протокол взаимодействия композитного сервера и работающих с ним приложений. Клиенты самостоятельно выполняют отрисовку своих окон в отдельном буфере, передавая информацию об обновлениях композитному серверу, который комбинирует содержимое буферов отдельных приложений для формирования итогового вывода с учётом возможных нюансов, таких как перекрытие окон и прозрачность. Иными словами, композитный сервер не предоставляет API для отрисовки отдельных элементов, а оперирует только с уже сформированными окнами, что позволяет избавиться от двойной буферизации при использовании высокоуровневых библиотек, таких как GTK+ и Qt, берущих на себя работу по компоновке содержимого окон.

Взаимодействие с аппаратным обеспечением, например, проведение инициализации, переключение видеорежимов (drm modesetting) и управление памятью (GEM для i915 и TTM для radeon и nouveau) графических карт, может производиться напрямую через модуль, работающий на уровне ядра, что позволяет обойтись без привилегий суперпользователя. В настоящее время поддержка прямой работы c Wayland уже реализована для библиотек Gtk3+, Qt 5, SDL, Clutter и EFL (Enlightenment Foundation Library). Для обеспечения выполнения обычных X11-приложений в окружении на базе Wayland и композитного сервера Weston развивается проект XWayland, позволяющий организовать запуск полноценного X.Org-сервера в роли клиента Wayland.

В рамках проекта Weston развивается один из прототипов реализации композитного сервера. Подчёркивается, что это лишь одна из реализаций (по аналогии с оконными менеджерами), так как в роли композитного сервера может выступать любой другой продукт, поддерживающий протокол Wayland. Например, в настоящее время ведётся работа по обеспечению поддержки Wayland в таких существующих композитных менеджерах для X11, как KWin и Compiz. Композитный сервер Weston может работать с использованием DRM-модуля ядра Linux, поверх X11 или поверх другого композитного сервера Wayland. <

Видео

Я уж думал, будет что-то такое:

Кристиан Хогсберг (Kristian Høgsberg), создатель проекта Wayland, покончил с собой вчера. В оставленной им предсмертной записке он раскаивается в отходе от священных принципов юниксвея и просит вялендофилов всего мира следовать своему примеру.

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

Для радеонов, открытые драйвера вполне работоспособны.

grim ★★☆☆
()

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

Я правильно понимаю, что смогу зайти на удаленный компьютер по ssh, запустить там, например, gvim, и получить окошко в своём локальном оконном менеджере?

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)

Оюъясните мне одну вещь: что делают xf86-драйвера, и где планируется реализовать эту функциональность в случае вайленда?

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

Даже трудно сказать, толсто это или тонко.

С xorg-ом это для меня привычная манипуляция... была, пока работодателя не сменил. Удобно.

Manhunt ★★★★★
()

изменения вычисляются на уровне битмапов

ну ещё пусть выкинут из ядра поддержку диал-ап и двд-ромов.

Bad_ptr ★★★★★
()

протокола похожего на VNC

Т.е. вяленд можно будет запустить в безголовом режиме и подключиться к нему из другого места? А как оно в плане производительности против vnc - vnc можно будет выкинуть?

bender ★★★★★
()

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

argin ★★★★★
()

протокола похожего на VNC

Как будто это что-то хорошее.

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

Будет даже забавно, если появится новость о том, что Поцеринг, Хогсберг и им подобные умерли в один день от сердечного приступа.

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

В X нет фичи Y. Линуксоиды: Да как же так, это же наше всё, да без этого оно не нужно, об стену все!

В X запиливают фичу Y. Линуксоиды: Ну вот, X начало обрастать костылями. Как этим можно будет пользоваться, не нужно!

Deleted
()

Напомните мне пжл насколько тормозили иксы из-за своей сетевой прозрачности? Хотелось бы сравнить с сабжем

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

Потому что примерно так оно на самом деле и есть. Ярчайший пример — вайн.

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

На ноль целых, ноль десятых.
Более того, давно уже все фреймворки оперируют битмапами, как и вяленый.

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

гоняют из DDX в dri2.. если сильно упростить, то вяленый сразу в дри2 рисует..\\поднробнее в любом адекватном вялендосраче.

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

я тащемто за выкидывание этого всго в особую linux-legacy модулину которую можно вырубить одним щелчком на подобии с эхпериментальными фичами.

Thero ★★★★★
()

И какой для этого нужен канал? Гигабитной сетки будет хватать? Как там с латентностью?

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

Иксы по сетям, особенно тощим, гоняются весьма уныло. А тощее для иксов сейчас всё, что меньше соточки.

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

Частично в ядре (kms), частично в mesa, для wayland'а не нужны ddx'ы.

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

Ну, кино можно таким образом посмотреть… Действительно тормозит.

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

Одно дело реализовать всё нормально и арзитектурно корректно. Другое дело - присобачить костыли для того, чтобы этим пользоваться повседневно.

Итог: вяленд не только не лучше иксов (у них тоже есть костыли, но. аргументируя их отсутствием у вяленда, начинают вяленд окостыливать ещё усерднее, чем иксы - тупые неандертальцы, фигли), но и хуже абсолютно во всём.

Quasar ★★★★★
()

Там хоть что-нибудь кроме шестеренок, какого-то эмулятора терминала и пары демок на GTK+ и Qt уже работает?

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

Ширина канала не единственное, что решает. Ещё важны задержки в этом канале. А это намного более капризный параметр.

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

По вайфаю нормально гоняются, при нестабильной скорости 100-2000 кбайт/сек.

Если, конечно, не крутить там кино или что-то подобное.

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

Ширина канала не единственное, что решает. Ещё важны задержки в этом канале. А это намного более капризный параметр.

Расширения для xorg для реальных пацанов, на котором уже десятки решений сделаны, типа NX или x2go, выпускаются с 1995 года. И по показателю «езда в условиях российского бездорожья» они побивают всё остальное.

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

Без практического запуска этого самого кривого софта радости от теоретической возможности его запуска как-то маловато.

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

По вайфаю нормально гоняются, при нестабильной скорости 100-2000 кбайт/сек.

Лол. 100 кило в секунду это очень даже жирно. И ещё раз повторяю в который раз. Ширина — наименее критичный параметр. Не хочу вас пугать реальными условиями моей работы. Вам, конторским, не понять.

Расширения для xorg для реальных пацанов, на котором уже десятки решений сделаны, типа NX или x2go, выпускаются с 1995 года. И по показателю «езда в условиях российского бездорожья» они побивают всё остальное.

Теоретики такие теоретики.

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

Лол. 100 кило в секунду это очень даже жирно.

Речь была о «всё, что меньше соточки». И имелось ввиду, как мне подсказывает логика, 100 мегабит.

Вам, конторским, не понять.

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

Теоретики такие теоретики.

Теоретики реально тестили. Пока конторские зациклены только на «условиях своей работы», теоретики успели попрактиковаться во многом.

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

Да поди почти весь Qt-шный софт. QtCreator точно, это же образцовый проект с чистым кодом без вызова X11.

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

Там хоть что-нибудь кроме шестеренок, какого-то эмулятора терминала и пары демок на GTK+ и Qt уже работает?

Естественно. Есть ещё WM в стиле Doom3D.

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

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

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

Пруф в студию. Я вот тоже могу заявить, что wayland в 9000 раз тормознее иксов.
И да, «выпиливанием сетевой прозрачности иксов». DRI же есть уже давно.

devl547 ★★★★★
()

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

Т.е. текст скроллиться будет теперь так же херово как и в VNC?

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