Почему Wayland лучше?

143

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

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

    
задан Hillar 05.11.2010 в 13:52
источник

6 ответов

114

Вы можете увидеть страницу архитектуры 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 (если Уэйленд явно лучше).

    
ответ дан Oli 05.11.2010 в 14:43
источник
45

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

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

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

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

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

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

    
ответ дан RAOF 07.11.2010 в 05:40
15

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

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

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

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

    
ответ дан TGM 05.11.2010 в 14:36
6

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

    
ответ дан ido 05.11.2010 в 14:20
6

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

    
ответ дан Christian Hujer 02.09.2015 в 20:16
2

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

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

Ознакомьтесь с другими вопросами по меткам