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

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

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

178
задан 1 December 2010 в 21:42

6 ответов

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

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

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

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

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

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

    Обновление: Nvidia работает, чтобы поддержать и Вейланда, и Мир .


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

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

0
ответ дан 1 December 2010 в 21:42

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

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

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

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

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

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

0
ответ дан 1 December 2010 в 21:42

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

0
ответ дан 1 December 2010 в 21:42

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

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

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

0
ответ дан 1 December 2010 в 21:42

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

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

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

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

0
ответ дан 1 December 2010 в 21:42

Другие вопросы по тегам:

Похожие вопросы: