Почему Вэйленд лучше?

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

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

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

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

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

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

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

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

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


обновление 2018 года. 17.10 использовал Wayland в качестве сервера отображения по умолчанию (если только у вас не было закрытого драйвера или драйвера, который его не поддерживал, или не требовался X). 18.04 и 18.10 оба используют X в качестве глобального сервера отображения по умолчанию (хотя вы можете установить Wayland).

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

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

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

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

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

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

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

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

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

Особенности KMS: Возможность изменять разрешение экрана без перезапуска X server (хотя я полагаю, что это было исправлено в X некоторое время назад, по крайней мере, для nvidia), консоль отладки в kernel panic для чипсетов intel (переход на nouveau), если вы увлекаетесь подобными вещами.

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

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

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

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

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

Вот отличное видео, объясняющее X и почему люди хотят его заменить: [Linux.conf.au 2013] - The real story behind Wayland and X - YouTube

По состоянию на декабрь 2013 года, похоже, что Ubuntu на базе Unity будет использовать сервер отображения Mir вместо композитора на основе Wayland, начиная с Ubuntu 14.10: [ссылка](http://unity.ubuntu.com/mir /) ссылка Другие варианты Ubuntu, вероятно, перейдут в Wayland: ссылка

Ubuntu 18 (Bionic) теперь будет использовать xorg по умолчанию, но wayland по-прежнему доступен на экране входа в систему: https://blog.ubuntu.com/2018/01/26/bionic-beaver-18-04-lts-to-use-xorg-by-default

Я бы сказал, что X лучше. Я бы не стал вдаваться в технические подробности. Но я просто скажу, что у меня есть отбрасывание кадров на YouTube с помощью Wayland, если я изменю размер окна или перейду / выйду из полноэкранного режима. С X проблем нет. Даже при том, что скорость та же самая. Кроме того, на Wayland курсор мыши чувствует себя более свободно, чем на X. X по-прежнему мой номер 1

This kind of question implies that wayland >является< better. Better is always relative compared to use case and reference frame. Better than what ? Better than Windows ? Better than XOrg ? Better for whom ? People who want to run games? People running software on a remote computer without needing RDP ? You didn’t specify. Wayland is way worse than X11 (speaking as non-gamer here).