LINUX.ORG.RU

Ситуация с Wayland: факты о X и Wayland.

 ,


29

7

Это вольный перевод статьи, намедни размещённой на phoronix. Оринальная статья — обзор недостатков, их исправлений и преимуществ между X и Wayland. Её написал Eric Griffith, при участии Daniel Stone, специально для ресурса phoronix. Работа собрана по кусочкам из презентаций Keith Packard, David Airlie, Kristian Høgsberg, из страниц про X11, X12, Wayland в вики и на freedesktop.org, из прямых интервью с разработчиками.

Оригинал выпущен под Creative Commons версия 3, с указанием авторства; перевод доступен на тех же условиях (с указанием на авторов оригинала, как мне кажется).

Недостатки X

Прежде всего автор думает, что преимущества Wayland лучше всего понятны через перспективу недостатков X11. Итак, начнём...

  1. Мы потратили последние десять лет на «исправление» X с помощью оборачивания его расширениями и плагинами. Однако, X имеет минимальную поддержку версионирования расширений.
    • Версионирование ведётся для одного клиента, а не для одного соединения с API расширения; если ваше приложение поддерживает одну версию расширения, а библиотеки — другую, вы не можете предсказать, какая версия расширения будет получена в итоге.
    • Мысленный эксперимент: Rekonq поддерживает Xinput 2.2, библиотеки KDE — Xinput 2.0, а плагин Flash — только базовый X11. Все они будут определять, какая версия подсистемы ввода поддерживается браузером Rekonq, и в результате будет отдана одна версия для работы со всем вводом... И это может быть не та версия, которая имеет всё необходимое.
    • Если вы счастливчик, вы получите минимальную поддерживаемую версию и приложение будет работать хорошо. Если вы не очень удачливый, вы получите максимальную версию и будете посылать бесполезные сообщения между клиентом и X.
  2. X имеет четыре подсистемы ввода: базовый протокол X11, Xinput 1.0, Xinput 2.0, Xinput 2.2. Xinput 1.0 канул в Лету, но оставшиеся три остаются взаимосвязанными. Daniel Stone описал это так: «Есть всего три человека, которые действительно понимают, как подсистемы ввода уживаются вместе... И я бы хотел не быть одним из них».
  3. Много лет назад у кого-то появилась идея «механизм, а не алгоритм». Фраза является отсылкой к тому, что X имеет свой уникальный API для рисования и собственную библиотеку вроде GTK+ или Qt. X определяет низкоуровневые понятия, такие как прямая линия, толстая прямая линия, дуга, окружность, неполноценные шрифты и другие элементы конструктора, бесполезные по отдельности. Примечание от Daniel: «Внешний вид толстых линий должен точно соответствовать спецификации, которая обязывает их выглядеть уродливо».
  4. X большой и тупой. Прежде чем мы (сообщество) начали выкидывать его компоненты и использовать обходные пути, X имел внутри почти полную ОС, включая свой сервер печати и свой бинарный транслятор для ELF, COFF и a.out.
  5. Композитинг и синхронизация окон. Разработчики научили X композитингу с помощью Composite Extension. Композитинг хорош для простых случаев, как то: рабочий стол, OpenGL. Но если вы захотите использовать hardware overlays (т.е видео), может случиться катастрофа. В том же браузере содержимое вкладки и окно flash-плагина обрабатываются отдельно и не синхронизируются, так что остаётся лишь скрестить пальцы в надежде. что разница во времени обработки не будет слишком большой. В результате при прокрутке страницы с играющим видео иногда возникают разрывы и артефакты.
  6. Шрифты. Разработчики пытались перенести шрифты под управление X-сервера с помощью расширения STSF, и предоставить клиентам достаточную информацию, чтобы те могли правильно определить расположение шрифтов на экране. Но количество информации, достаточной для выполнения данной задачи, превышало размер самих шрифтов. В итоге было решено предоставить клиентам полную свободу действий, избавившись от шрифтов на сервере.
  7. Протокол без состояний. Иными словами, X ничего не запоминает.
    • «Пожалуйста, создайте мне X.conf. Пожалуйста, используйте его для настройки.» Зачем?! Со временем это было исправлено: файл конфигурации используется для перезаписи параметров по умолчанию, а сами параметры по умолчанию подчищены и могут теперь определяться автоматически.
    • Многие имели проблемы с многомониторными конфигурациями в Linux, ну или хотя бы перенастраивали X после перезагрузки. Недостаток X в том, что он помнит эти конфигурации только после создания /etc/X11/xorg.conf.d/50-monitors.conf, который скорее всего придётся писать вручную.
    • Мы надеемся, что это было исправлено созданием libkscreen, обёртки над xrandr, которая наконец-то стала запоминать параметры мониторов, используя их уникальный EDID.
    • В течение длительного периода (а может быть и до сих пор) при подключении дополнительного монитора в Linux основной монитор имел композитинг, а дополнительный — нет. Это, возможно, исправлено в RandR1.4, но его автор не может найти убедительных доказательств.
  8. Бесполезная иерархия окон. В X каждое поле ввода и текстовая надпись имеют своё окно со своим родителем. Никто не знает, какую же функцию выполняет эта иерархия. Реальные библиотеки (т.е не основанные на компонентах протокола X11) уже давно выбросили весь этот мусор в окно.
  9. Отчасти придирка, отчасти разумное беспокойство... В X11 каждая из координат— 2-байтное число со знаком. То есть, на всех ваших дисплеях должно быть не более 32,768 пикселей. При 100dpi это даёт вам 8,3-метровый дисплей. Замечательно... Но вот факты для сравнения: Windows XP имеет 96 DPI, а мой телефон — 320+. Добавьте сюда растущие разрешения и несколько мониторов, и вы увидите, что проблема приближается очень даже быстро.
  10. Для X всё является окном, и разных типов окон с его точки зрения нет.
    • Скринсейвер — это окно, которое просит X расположить его поверх всех окон, сделать полноэкранным и отдать весь ввод.
    • Всплывающее окно просит X расположить его в заданной точке и отдать весь ввод.
    • Они конфликтуют: скринсейвер не будет активирован, пока показано всплывающее окно.
    • Наверняка ваши скринсейвер и скринлокер не прокинули хуки во все необходимые библиотеки, распознающие клавиши для управления медиа... Представьте, что вы слушали музыку, работая на ноутбуке, а затем закрыли крышку. Ноутбук уснул, скринсейвер стал активным окном. Как только вы откроете крышку, ноутбук проснётся и музыка загромыхает снова, так что снова закрыть крышку окажется проще, чем вбить проль, затем открыть плеер и поставить его на паузу либо выключить звук.
    • Разработчики пытались исправить проблему и сделали спецификацию нового расширения, которое в теории работало. Но когда его попытались реализовать, оказалось, что оно серьёзно ломает модель работы X-сервера. Так что проблема существовала 26 лет и продолжает существовать. Расслабьтесь и получайте удовольствие.
  11. «Но Eric, если X11 настолько плох, то почему бы не сделать X12 вместо нового протокола?». Ну, формально, это уже сделано. При сохранении его под знаменем X возникает практический недостаток: все, кто беспокоится о X, будут иметь право голоса в разработке следующей версии. С помощью названия «Wayland» этой проблемы можно избежать. Никого ничто не волнует. Это не связанный с X проект, разработчики могут творить с будущим дисплейным сервером всё, что душа пожелает, ну а те, кто беспокоится о X, могут пойти разрабатывать X12.

Лекарство от Wayland (пронумерованы попарно с недостатками X).

  1. Весь протокол версионирован. Каждый слушатель получает именно ту версию, которую он поддерживает, и ничего поверх этого. Никаких случайностей.
  2. Подсистема ввода в Wayland очень похожа на Xinput 2.2, за вычетом всего старья и отношения Master/Slave между источниками ввода. Слушатель получит одну виртуальную клавиатуру, одну виртуальную мышь и один невиртуальный сенсорный ввод. Кошмар под названием «мультитач» в конце концов упорядочен. Примечание от Daniel: как один из авторов мультитача в X, я считаю себя достаточно компетентным, чтобы назвать его кошмарным.
  3. У Wayland нет API для рисования, в обход которого можно было бы работать. Wayland ожидает заполнения клиентом буфера рисования, и его не волнует способ заполнения, если не считать контроля за попытками задеть чужие буфера.
  4. Wayland минималистичен, он не хранит внутри себя псевдо-ОС ради контроля вывода графики. Клиенты принимают на себя этот удар, что хорошо — им не придётся заботиться о сверхдолгом сопровождении обратной совместимости. Qt5 избавилось от модуля qt3support. X всё ещё сопровождает то, что было написано 26 лет назад. Примечание от Daniel: кроме того, вызовы к вейланду — не блокирующие, рисование всего рабочего стола не остановится из-за зависания или очень дорогой операции на стороне одного из клиентов: остановится только этот клиент.
  5. В вейланде — принудительный композитинг. Это не означает, что везде должны быть 3D-эффекты или изгибающиеся окна. Под композитингом мы подразумеваем отсутствие разрывов, необновлённых кусков и проблесков. Лозунг вейланда — «каждый кадр будет идеальным». Каждый пиксель прорисован как должно и расположен где должно, и появляется, когда клиент того потребует.
  6. Шрифты отданы клиентам.
  7. Многомониторные конфигурации и гибридная графика (Optimus) отданы клиентам, вейланду нужен только буфер с пикселями и информация о том, где его расположить.
  8. В вейланде есть два вида окон: окна верхнего уровня и подповерхности (в основном для проигрывания видео). Причём, в отличие от X, они синхронизируются. При прокрутке страницы с видео в браузере у вас не будет ни разрывов, ни артефактов.
  9. С точки зрения клиентов, вейланд не оперирует глобальными координатами, предпочитая систему отсчёта поверхности для рисования. Счётчик координат 31-битный, то есть каждая поверхность может иметь 2,147,483,648 пикселей как в ширину, так и в высоту.
  10. Для обеспечения дополнительной безопасности, ваш скринсейвер и скринлокер являются частью композитора. Кроме того, композитор распознает клавиши управления медиа, так что даже при заблокированном экране можно выключить звук.

Некоторые заблуждения в плане X и Wayland.

  1. «X — это юниксвейно». X обрабатывает печать, управление буферами для рисования, имел свой тулкит, обрабатывал шрифты, имел бинарный транслятор — и всё это помимо других задач.
  2. «В X есть сетевая прозрачность» — её нет. Базовый протокол X и DRI-1 имели сетевую прозрачность, но никто не использует ни то, ни другое. Shared-memory, DRI2 и DRI-3000 не имеют сетевой прозрачности и не работают по сети. В наше время X превратился в синхронный, плохо сделанный VNC. Если бы он был плохо сделанным асинхронным VNC, то может быть мы бы и заставили его работать. Но он не такой: XLib синхронная, а переход на XCB медленный, что делает передачу по сети настоящим кошмаром.
  3. «Разработчики Wayland наступают на те же грабли, что и X11, потому что не знают его» — неверно, потому что большинство разработчиков Wayland являются бывшими разработчиками X11.
  4. «Вейланд требует 3D.» — неверно, он требует только композитинга, так что есть даже бекенд на pixman для программной отрисовки.
  5. «Вейланд не умеет в удалённый доступ» — умеет, и должен справиться с этой задачей лучше чем X, отчасти из-за асинхронности протокола. Скорее всего Wayland станет высокопроизводительной версией VNC, и прототип уже есть. Причём мы ещё ни разу не давали идей по его улучшению, и скорее всего сможем сделать его лучше, если приложим усилия.
  6. «Вейланд нарушает обратную совместимость» — с тех пор как XWayland закончен и принят в основную ветку, у нас должна появиться почти совершенная обратная совместимость, потому что каждое приложение, использующее X, получает маленький X-сервер для дальнейшей работы с ним. Нам известно одно препятствие — трансформации окна, ведь приложение думает, что оно расположено в верхнем правом углу экрана, оттого, что клиентский X-сервер приведён к размерам клиентского окна.

Парочка характерных преимуществ Wayland

  1. «Каждый кадр будет идеальным». Каждый кадр будет представлен в правильном порядке (возможен сброс лишних кадров, но вы не получите кадр 199, затем 205, а затем 200 оттого, что сервер извлёк их в произвольном порядке. Каждый кадр имеет свой timestamp.)
  2. Минималистичный! Мы способствуем славному будущему Wayland путём уменьшения пространства для возможных ошибок.
  3. Бекенды, специфичные для оборудования. Думается, некоторые люди заметили появление бекенда Wayland, предназначенного для Rasberry Pi — он позволяет использовать все особенности этой платформы. Такой подход используется не везде, многие вещи не потребуют бекенда для конкретного оборудования, но неплохо бы иметь возможность сделать доработку, когда потребуется.

P.S. От переводчика: заметно, что в статье мало технических деталей или же ссылок, а лозунги я наоборот вырезал. К слову, о минималистичности: для вейланда уже есть композитор, способный отображать окна в 3d-пространстве на манер quake, но что-то я сомневаюсь в правильной обработке звука в таком 3d. Для игр есть OpenAL, который имеет 3d-координаты, соответствующие координатам OpenGL (синхронизация позиций источников звука и слушателя с позициями объектов и камеры производится программистом). Для вейланда нет ничего подобного OpenAL.

Если же кто-то имеет вопросы к авторам статьи — он может задать их на Phoronix.

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

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

Откуда мне знать зачем, но если действительно нужно, то проще все настройки держать в одной сущности (= файле).

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

Бедняга. И модем поди ещё в компе остался?

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

А нового - это значит в каждый композитор надо будет перенести велосипеды xlock и xscreensaver. Чуваки жгут не по детски.

ну тут скорее жгут не по детски именно те разработчики, которые считают что xlock должен быть реализован как обычная программа :-D . при чём жгут действительно смешно :-) :-) ..

Походу, пора сваливать на «девяточку максимальную на руктракере купленную».

а там на Девяточке что — X11 чтоле? :-)

# P.S.: остальные злорадно-саркастические комменты направленные в вашу сторону — я не читал, так что наверное я повторяюсь :-)

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

а там на Девяточке что — X11 чтоле? :-)

Там графический стек вменяемый. В отличие от этих ваших окаменелых иксов и содержащих неустранимые ошибки в ДНК вейландах.

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

А люди не опасаются, что свободный софт сдохнет, так как мало приносит денег/ надоела благотворительность?

Что?

Евгений тут про Emacs/fwvm. Какие тулкиты?

Кому-то нужен emacs, a кому-то Офис и Файафокс, например.

anonymous ()

Здраствуйте. Я, Кирилл. Хотел бы чтобы вы сделали Вейленд, 3Д-экшон суть такова... Пользователь может получать именно ту версию, которую он поддерживает, и ничего поверх этого. И если пользователь получит одну виртуальную клавиатуру, то одну виртуальную мышь и один невиртуальный сенсорный ввод набигает. Можно оперировать вертуальными координатами...

P.S. Мы потратили джесять лет на «исправление» X.

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

На nVidia будут давить для создания Gallium3D драйвера совместно все — и Canonical, и Intel, и Valve и все остальные. В конце концов, писать для Gallium3D должно быть проще.

Это что за чушь? Драйвер будет только проприетарный. Nvidia после фака Линуса это четко заявила. p.s: да вяленым пытались взять на понт Nvidia, но после заявлений Canonical одумались и сделали возможным использование проприетарного драйвера с EGL. Будет только проприетарный драйвер с EGL тчк

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

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

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

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

На лаунчпеде найди Mir и посмотри сам. Разрабов вяленого же два с половиной инвалида ума считающих себя гениями...

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

Смотри rebeccablack os. Там есть минимальная рабочая среда с приложениями. А у mir пока только видео.

Внатуре? Ну дела!!! Если ты не нагуглил ppa с Mir и т.д и т.п чтобы поюзать самому, а не видео посмотреть, то это твои проблемы. Не?

mylorlogin ()

Ололошеньки.

Fatal server error:
Cannot move old log file "/var/log/Xorg.1.log" to "/var/log/Xorg.1.log.old"

В общем, конфигурирование ПО методом «пропатчи и пересобери» очень увлекательно, но не пойти ли им всё-таки нафиг.

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

Это что за чушь? Драйвер будет только проприетарный.

Проприетарный драйвер не может использовать Gallium?

но после заявлений Canonical одумались и сделали возможным использование проприетарного драйвера с EGL. Будет только проприетарный драйвер с EGL тчк

ОК, учитывая, что через EGL могут работать и Wayland и Mir, пусть будет EGL.

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

rebeccablack os
минимальная рабочая среда с приложениями

Неа! Там кривое нечто с диким теарингом и назвать это рабочей средой может только... промолчу.

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

(Ну да, это по сути демка на данном этапе развития. Но это еще и будущий полноценный дисплейный сервер. Неужели сразу нельзя писать нормально, не коммитя говнокоды в релиз?)

Так они ещё и патчи пишут медленно, с обсуждением каждого чиха в каждом патче в мейл листе. И ладно если бы действительно делили конфиги на части и тестировали/дотошно просматривали код, так ведь нет.

quiet_readonly ★★★★ ()
Последнее исправление: quiet_readonly (всего исправлений: 1)
Ответ на: комментарий от geekless

Там графический стек вменяемый.

А всё остальное невменяемое.

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

Внатуре? Ну дела!!! Если ты не нагуглил ppa с Mir и т.д и т.п чтобы поюзать самому, а не видео посмотреть, то это твои проблемы. Не?

Ну не знаю, на виртуалке вроде как Mir поставился в роли системного композитора (с иксами), но результат плачевный — кнопки в заголовках окон не работают, за заголовок окно перетащить нельзя, панели исчезли. К тому же мир пока не запускается вообще без иксов — чтобы получить доступ к DRI, ему всё ещё нужны иксы, запущенные в другом виртуальном терминале. Это, конечно, не касается андроидной версии.

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

И это, лол. Я тут протестировал, как работает backend вейланда под gtk3. export GKD_BACKEND=wayland, и понеслась.

Никак не работает.

Декораций окон нет.
Меню не работают.
Выпадающие списки не работают.
Содержимое окна не обновляется. (Можно запустить audacious, например, и увидеть интерфейс и список файлов. И даже нажать на Play, и оно заиграет. Но содержимое окна навечно останется таким, каким оно нарисовалось в первый раз.)

И ВОТ ЭТО разрабатывается уже 5 лет? Пусть уже закопают и не позорятся.

Вероятность того, что Какноникл допилит mir и все необходимые бэкэнды для него, несравнимо выше.

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

Есть мнение, что через adsl у тебя адово тормозить будет ВСЯ передаваемая графика, просто в силу особенностей данной технологии... И через RDP будет таже фигня...

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

Да, и для белок-истеричек, кто боится за судьбу иксов из-за вейланда:

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

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

GTK+ support is complete, including client-side decorations and will be part of the 3.10 release in September 2013

Обезьяна ещё не научилась читать, зато визжать и кидаться гогном она уже умеет :D

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

Если это:

а)будет переносимо;

б)будет работать лучше иксов (а не только «летать» 1.5 приложениях от canonical);

в) будет какая-никакая обратная совместимость (т.е. я смогу запустить приложения прекрасно работающие из-под иксов под Mir);

Будет просто прекрасно.

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

Другими словами, в век «локальной графики» как-то совсем глупо выглядят иксовые убожества, да ещё тормозящие, будто каждый пиксель передаётся по сети.
Финальный вопрос: нет ли ЕЩЁ каких-то соображений, препятствующих отказу от иксов на десктопах?

Кому в пень твои десктопы нужны? Они медленно катятся в жэппу. И потихоньку заменяются на тупую терминалку на дроиде/ыосе/вебклиент/етц и обратная часть из облачков и тому подобного. Новости почитай - десктопы сдают свой процент рынка. И теперь дома будет: телек с армом внутри, планшетки-смарты с мипс/армом и разными оськами, какой-нибудь нет бук не пойми с чем. И всё это надо как-то увязать и локальной графики здесь может в принципе не быть - софт таскается за тобой на разные устройства. Но нам же это не надо, да?

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

Потом что создать проблемы в местах, где оно работает со времён царя гороха - это надо постараться.

Лол, анонимусу с лора, конечно, лучше известно что как работает, чем создателям X.

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

И ВОТ ЭТО разрабатывается уже 5 лет?

Первые пару лет он пилился одним человеком в свободное время. Матчасть бы хоть осилил.

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

Первые пару лет он пилился одним человеком в свободное время.

Что лишь подтверждает полную ненужность и безблагодатность.

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

он не мой, после средней школы я был рад его забыть.

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

Вот это ты правильно сравнил, да. Уровень вейланда - это уровень хобби-проекта, который пилится одним человеком в перерывах между работой, дачей и пивом. Ололошеньки.

geekless ★★ ()
Последнее исправление: geekless (всего исправлений: 1)
Ответ на: комментарий от geekless

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

Был таковым, пока к нему не примкнули разрабы иксов.

Ещё что-нибудь бзданёшь? :D

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

Кстати, из Linux всегда, вообще всегда безо всякого сожаления выкидывали устаревшие технологии

Привнося на их место более функциональные. В случае с X11 vs Wayland «более функционального» на стороне последнего - увы, не наблюдается.

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

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

В свете вышесказанного, меня вполне можно считать незаинтересованным человеком.

Так вот, когда становится невозможно сделать «ssh -CX admin@remotehost /usr/bin/guiappname» - это регресс. Если бы вяленд был ещё-одним-x-сервером-со-встроенным-композитом-и-WM, это был бы шаг вперёд в какой-то мере. Если бы вместо X11 предложили ещё и новый протокол, позволяющий организовать доступ к ресурсам клиента с приложения-сервера - было бы ещё лучше. А если бы приложения отвязали от дисплей-сервера, это было бы вообще замечательно. Но увы, ничего этого нет.

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

Был таковым, пока к нему не примкнули разрабы иксов.

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

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

Разрабам кривых иксов только улицу мести можно доверить. Да и тут таджики их уделают;)

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

QT

Ленин, ты точно не Леннон (как в том старом анекдоте)?

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

Нет, это говорит о том, что wayland нужен и перспективен.

Я смотрю, на тебя такой безудержный сёр нападает, когда тебя тыкают мордахой в слив :D

fragmentor ()

Зачем отсылки к Flash, непонятно, он же при смерти. А так интересно посмотреть на хотя бы release версию дистрибутива с Wayland

insider ★★★ ()

Удивила истерика жопоголиков - у вас что X забирают? Или это уже паранойя, что де злобные разрабы уже подкрадываются к системнику с намерением заменить Х? Расслабьтесь. Особенно пусть расслабяться пользователи альтернативных систем - статья про X vs. Wayland, а вы опять со своей детской линуксофобией.

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

А сейчас вместе с иксами вы получаете тиринг

.. присутствующий в «референсной» релизации всего такого новомодного вяленда

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

... вместо этого, в вяленде нет буффера обмена вообще. Потому, что это не задача вяленда, это можно сделать через dbus и т.п. И как всегда, ты «тактично умолчал» что всё что можно сделать с буфером обмена в вяленде через dbus можно также сделать в X-ах через dbus, и даже кода менять не придётся.

замедление и рандомизацию времени запуска приложений

В каком месте X-ы то тут виноваты? Если у тебя время запуска программы разнится в несколько раз, у тебя проблемы с системой, а не с X-ами.

и невозможность использовать медиа-клавиши в момент показа всплывающего окна, такого как контекстное меню.

Зато в иксах у нас все программы имеют одинаковые декорации, а у вас?

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

Есть мнение, что через adsl у тебя адово тормозить будет ВСЯ передаваемая графика, просто в силу особенностей данной технологии... И через RDP будет таже фигня...

Работали с помощью FreeNX на WiMAX канале скоростью 128кбит/с. Комфортно.

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

Был таковым, пока к нему не примкнули разрабы иксов.

Внезапно. Вообще-то он основан разработчиков иксов и пилился им с самого начала :)

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

Я не разбираюсь в компьютерах

Тогда хоули ты тут рассуждаешь про то, каким должен быть графический стек? Это вообще-то для тех, кто худо-бедно представляет себе что и как происходит, и знает почему «позже, но лучше» лучше чем «говно - зато прямо сейчас».

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

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

Глазки слезами обиды за державку иксы залило, что не видишь ничего? Я не рассуждаю о том, каким должен быть графический стек. Я лишь хочу видеть wayland на своём десктопе.

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

1. Как приложение будет рисовать в окне? У каждого графического тулкита должен быть реализован интерфейс с чем (драйвером видюхи)?

Да.

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

Сначала с событиями будет ковыряться композитор, которые в теории будет раздавать их в top-level окна. Всё остальное... Да, каждый будет ковыряться сам.

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

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

Поглядывал на него, учитывая совместимость с андроидными видеодровами, в перспективе заюзать в каком-то андроид-девайсе после накатки линя. Оказывается - без монструозых кедов (или хотя бы гнома) работать не будет, все не-gtk/не-qt работать будет через анус, и т.п...

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

Я тебе по-русски объяснил, что твоя задача - сидеть и помалкивать в тряпочку, поскольку тебе на десктопе нужен не wayland, не X11, не windows и не macos, а «браузер», «диспетчер файлов», «текстовый процессор» и «ярлыки на игрушки из стима».

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

В каком месте X-ы то тут виноваты? Если у тебя время запуска программы разнится в несколько раз, у тебя проблемы с системой, а не с X-ами.

Это обговаривалось около полугода назад — дело в протоколе без состояний (т.е. состояние передаётся вместе с сообщением), синхронности без xcb и необходимости перенастраивать все устройства, которые затем будут использоваться, при установке соединения с иксами. Как-то так, подробностей не помню.

Зато в иксах у нас все программы имеют одинаковые декорации, а у вас?

Я под вейландом не сижу. А в kwin декорации сам kwin и будет рисовать, во всяком случае так планировал сделать разработчик kwin, и разработчики Qt с ним были согласны.

Кстати, в Mir тиринга уже нет (если не считать бага на одном из планшетов, зарегистрированного на launchpad и пока не исправленного). И буфером обмена он управляет.

quiet_readonly ★★★★ ()
Последнее исправление: quiet_readonly (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.