Вопрос Почему Wayland лучше?


В виде недавно объявлено Марк Шаттлворт, Ubuntu будет двигаться к использованию Wayland в качестве своего менеджера дисплеев.

Каковы самые большие различия между X11 и Wayland? Почему Wayland сделает Ubuntu лучше?


150
2017-11-05 13:52


происхождения


По состоянию на декабрь 2013 года, похоже, Unity на базе Ubuntu будет использовать сервер отображения Mir вместо компоновщика, основанного на Wayland, начиная с Ubuntu 14.10: ссылка  ссылка Другие варианты Ubuntu, вероятно, переместятся в Wayland: ссылка - Diego
Вот отличное видео, объясняющее X и почему люди хотят его заменить: youtube.com/watch?v=cQoQE_HDG8g - Jason
Ubuntu 18 (Bionic) теперь будет использовать xorg по умолчанию, но wayland по-прежнему является опцией на экране входа в систему: blog.ubuntu.com/2018/01/26/... - Kris


ответы:


Ты можешь видеть страница архитектуры Wayland чтобы увидеть, как он отличается дизайном. Он должен упростить весь графический стек, заставив все через стандартный стек GEM / DRM прямо в ядро ​​и управляя компоновкой.

Сравните это со стеклом X, где у вас есть бит и бобы повсюду. Некоторые из Х беспорядок был через гибкий дизайн, некоторые из них страдают от боли. Все композиторы (Compiz / Metacity / Mutter / KWin / etc) были добавлены в качестве запоздалой мысли. Они, по сути, взламывают, чтобы делать то, что X должен, вероятно, делать сам. Если вещи продолжают расширяться, как они были, мы доберемся до того момента, когда проект станет недостижимым.

В общем, когда есть аппаратная поддержка, она должна сделать весь стек более эффективным и менее болезненным для использования в стандартных настройках.

Однако есть несколько проблем, на которые я пока не видел средств правовой защиты:

  • X довольно осведомлен о сети. Вы можете отправлять окна на другие компьютеры, вы можете иметь несколько экранов с удаленными входами и всевозможные напуганные вещи. Это может показаться довольно специалистом, но это широко используемая технология. Wayland выглядит довольно локально и статично в сравнении.

  • Существует также поддержка драйверов. Драйверы с закрытыми исходными кодами еще не поддерживают технологии KMS / shared-GEM / shared-DRM, которыми обладает Wayland. Пурист может быть в порядке с Нуво, но кто-то, кто платит 100-400 фунтов стерлингов на высокопроизводительной 3D-графической карте, не будет доволен плохой работой 3d, которую они получили бы с текущим открытым драйвером.

    Обновить:  Nvidia работает над поддержкой Wayland и Mir,

В любом случае, мы говорим о годах (возможно, от двух до трех ИМО), прежде чем что-либо подобное готово к стабильному тестированию и даже дольше, прежде чем вам придется отказаться от X (если Уэйленд явно лучше).


121
2017-11-05 14:43



+1 для чистой тупости что ссылка Nvidia, - poolie
Прозрачность сети - это раздутый по нескольким причинам. 1. Чистая пересылка X только достаточно быстро по локальной сети. Через Интернет raw X непригодно из-за латентности. Чтобы получить достойную производительность, вам необходимо использовать сторонние протоколы, такие как NX или VNC. 2. Как NX, так и VNC являются огромной болью для настройки из-за архитектуры X. С Wayland должно быть проще. 3. Немногие современные инструментальные средства используют код рисования X. Они просто рисуют растровое изображение и отправляют его на X. Это точно так же, как Wayland и будет иметь те же характеристики сети. - Timmmm
Я согласен с пунктом 1, но над хорошей локальной сетью, X-forwarding неприкасаемой для качества или производительности. Намного лучше, чем альтернатива в моем опыте. - Oli♦
С 2013 года ситуация более понятна в отношении прозрачности сети: askubuntu.com/a/359870/203271 - Diego
@poolie: Кажется, они передумали. ;-) - Peque


Есть много различий между X и Wayland. Вероятно, самый большой из графической стороны - то, что Wayland не делает никакого рисунка,

X имеет два API-интерфейса рисования. Один из них является частью основного протокола X11, который является древним, бесполезным и никто не использует. Другой - расширение XRender, которое обеспечивает современные сложные операции, среди прочего, такие как градиенты. Это то, что использует Каир. X также имеет API-интерфейсы рисования шрифтов.

У Wayland нет API-интерфейсов чертежа. Клиент Wayland получает дескриптор буфера DRM, который в основном является указателем на некоторую графическую память; Wayland не знает и не заботится о том, как клиент обращается к этому буферу. В терминах X это означает, что все приложения получают прямой рендеринг - запросы на рисование не должны проходить через сервер.

Единственный рендеринг Wayland - это копирование буферов клиента на экран.

Что касается преимуществ, Wayland намного менее сложна, чем X, что должно облегчить его поддержание - хотя некоторые из этих простот связаны с повышением сложности (например: как на самом деле нарисуйте этот буфер, прозрачность сети) на другие слои стека. Делая клиенты ответственными за все их рендеринг, клиенты могут быть умнее в отношении вещей, таких как двойная буферизация.

Существуют и другие преимущества вне графики. Например, гораздо проще использовать приложения для песочницы.


49
2017-11-07 05:40



Похоже, что Microsoft DirectX нравится? - Anwar
Я использую API-интерфейс основного API-интерфейса X11, потому что он быстрее, чем XRender. - étale-cohomology
Я также получаю Microsoft wibes от Wayland и systemd. И нет, это нехорошо. Они нарушают основные правила разработки программного обеспечения. В systemd просто потому, что разработчикам systemd проще. В wayland, потому что они хотят более быстрых игр (?) И рендеринга, и бросают много хороших вещей с этим. - Anders


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

Меньше отпечатка, чем X - потому что дисплей обрабатывается ядром Wayland, не нужно будет внедрять столько, чтобы стать пригодным для использования. Это происходит в обоих направлениях, поскольку я подозреваю, что X-пересылка (посмотрите на один экран на другом ПК) может исчезнуть с X.

Возможности KMS: возможность изменять разрешение экрана без перезапуска сервера X (хотя я считаю, что это было исправлено в X некоторое время назад, по крайней мере для nvidia), консоль отладки на панике ядра для чипсетов Intel (переход в нуво), если вы входите в Что-то в этом роде.

Может ли кто-нибудь исправить меня по любому поводу, если я ошибаюсь?


16
2017-11-05 14:36



KMS и GEM не переносят графические драйверы в ядро, только некоторые мелкие части перемещаются в ядро ​​(биты, которые говорят непосредственно на аппаратном обеспечении и должны находиться в ядре, чтобы разные драйверы могли сосуществовать, например запись в порты ввода / вывода и управление памятью). KMS & GEM уже используются X сегодня, по крайней мере для современных драйверов с открытым исходным кодом (intel, radeon, nouveau). BTW: Я серьезно сомневаюсь, что весь графический драйвер для ядра будет принят Linus ...;) - JanC
О, и KMS никогда не нужно было менять разрешение экрана (это было возможно с тех пор, как я использовал X более 10 лет назад), но он позволяет использовать разные драйверы (например, драйвер консоли framebuffer, драйверы X и теперь драйверы Wayland) легче сотрудничать. Раньше для каждого из них не всегда было очевидно, что «состояние» графического оборудования находится в определенный момент времени, и использовались многие угадывающие или зависящие от драйверов проприетарные обходные пути. - JanC
Не совсем верно, что X-пересылка исчезнет, ​​поскольку X все еще может использоваться как клиент на Wayland. wayland.freedesktop.org есть пример этого. Но X - довольно ужасный способ сделать такое. Пришло время заменить. Во многих случаях кажется, что такие вещи, как GTK с Бродвеем, станут лучшим подходом. - Jo-Erlend Schinstad
Расширение RandR позволяет изменять разрешение экрана без перезагрузки X-сервера. - Anonymous


Все другие сообщения подчеркивают преимущества Wayland, но это не все хорошо. Самое большое преимущество X over Wayland в том, что X работает по сети. X прозрачен в сети, вы можете отобразить окно или с XDMCP полный сеанс на терминале, пока фактическая программа работает на другой, обычно более мощной машине. Что-то вроде Wayland, идея прозрачности сети исчезла. Может быть, в наши дни это не так уж и много, с быстрыми сетями и другими протоколами, такими как VNC и RDP, просто подумал, что я упомянул об этом для полноты.


11
2017-09-02 20:16



Именно это я и считаю самым большим преимуществом X по предлагаемому Wayland. - Kris Jace


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


6
2017-11-05 14:20





Две мелочи, которые каждый может заметить довольно быстро в повседневной работе:

  • Уэйленд покончил с papercuts, которые считались слишком трудными для исправления в X11. Известный пример: использование функциональных клавиш (громкость динамика, яркость дисплея и т. Д.), Когда открыто меню или включен экран блокировки.
  • Wayland лучше на устройствах ввода. Во-первых, есть еще много возможностей для настройки сенсорных панелей, включая постоянную настройку «щелчок по клику».

3
2017-08-15 13:52



Wayland хуже, если программа заблокирована по какой-то причине. Быть разными wm - это хорошо. Я использую сеть X11 на регулярной основе (каждый день). Некоторая программа остановила работу в Wayland (я использую Ubuntu 18.04) - Anders