Как недавно объявил Марк Шаттлворт, Ubuntu будет использовать Wayland в качестве менеджера дисплея.
Каковы самые большие различия между X11 и Wayland? Почему Wayland сделает Ubuntu лучше?
Как недавно объявил Марк Шаттлворт, Ubuntu будет использовать Wayland в качестве менеджера дисплея.
Каковы самые большие различия между X11 и Wayland? Почему Wayland сделает Ubuntu лучше?
Ответы:
Вы можете увидеть страницу архитектуры 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 работает над поддержкой Wayland и Mir .
2018 обновление . 17.10 использовал Wayland в качестве сервера дисплея по умолчанию (если у вас не было закрытого драйвера или драйвера, который его не поддерживал или не нуждался в X). 18.04 и 18.10 оба используют X в качестве глобального значения по умолчанию (хотя вы можете установить Wayland).
Я не отвечаю ни за что, кроме как с этой позиции, кажется, что мы все еще находимся в метрических показателях Nvidia, чтобы получить реальную тягу. До этого момента, я не думаю, что мы увидим достаточное количество разума и развивающейся силы, отстающих от Уэйленда. Рынок игр / производительности использует X. Рынок MCE использует X (и прямые кадровые буферы). Я не уверен, что у Уэйленда когда-нибудь будет реальный шанс.
Есть много различий между X и Wayland. Вероятно, самым большим из графических аспектов является то, что Wayland не рисует .
X имеет два API рисования. Один из них является частью основного протокола X11, который является древним, бесполезным и никем не используется. Другим является расширение XRender, которое обеспечивает современные составные операции, среди прочего, такие как градиенты. Это то, что Каир, например, использует. X также имеет API для рисования шрифтов.
У Wayland нет API для рисования. Клиент Wayland получает дескриптор буфера DRM, который в основном является указателем на некоторую графическую память; Вейленд не знает и не заботится о том, как клиент обращается к этому буферу. В терминах X это означает, что все приложения получают прямой рендеринг - запросы на рисование не должны проходить через сервер.
Единственный рендеринг, который выполняет Wayland, - это копирование буферов клиента на экран.
С точки зрения преимуществ, Wayland намного менее сложен, чем X, что должно облегчить его обслуживание - хотя некоторая часть этой простоты проистекает из толкования сложности (например, как на самом деле использовать этот буфер, прозрачность сети) для других уровней стек. Делая клиентов ответственными за все их рендеринг, клиенты могут быть умнее в таких вещах, как двойная буферизация.
Есть и другие преимущества за пределами графики. Например, приложения для песочницы намного проще.
Главное отличие в моих глазах состоит в том, что Wayland ближе к ядру, чем X-Server. С переводом графических драйверов из X в ядро (известное как настройка режима ядра, KMS), Wayland планирует использовать эту новую функциональность для замены X. Можно ожидать следующего ...
Меньше занимаемая площадь, чем X - потому что дисплей обрабатывается ядром Wayland, и ему не нужно будет реализовывать столько, чтобы его можно было использовать. Это происходит в обоих направлениях, так как я подозреваю, что пересылка X (посмотрите на один экран на другом ПК) может уйти с X.
Возможности KMS: возможность изменять разрешение экрана без перезапуска X-сервера (хотя я считаю, что это было исправлено в X некоторое время назад, по крайней мере, для nvidia), отладка консоли при панике ядра для чипсетов Intel (переход на nouveau), если вы в Что-то в этом роде.
Кто-нибудь может поправить меня, если я ошибаюсь?
Все остальные сообщения подчеркивают преимущества Wayland, но это не только хорошо. Самым большим преимуществом X над Wayland является то, что X работает по сети. X прозрачен для сети, вы можете отобразить окно или с помощью XDMCP полный сеанс на терминале, в то время как настоящая программа работает на другом, обычно более мощном компьютере. С чем-то вроде Wayland идея прозрачности сети исчезла. Возможно, в наши дни это не так уж необходимо для быстрых сетей и других протоколов, таких как VNC и RDP, просто подумал, что я упомяну это для полноты.
Две мелочи, которые каждый заметит довольно быстро в повседневной работе: