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

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

Например, в конфигурации сборки для ядра на моем ноутбуке я использую:

CONFIG_PREEMPT=y
CONFIG_HZ_1000=y
CONFIG_HZ=1000

Это, как представляется, приводит к подходящей скорости отклика, для использования на настольном компьютере.

Конечно, читатель, незнакомый со сборкой ядра, может обратиться к некоторой документации о процессе. Похоже, есть несколько документов типа «Howto» о сборке собственного ядра в Ubuntu. Вот простой пример с make menuconfig . Конечно, он не упоминает пакет linux-tools и связанные с ним пакеты, но доходит до того, как собрать ядро ​​из исходного кода.

Вот более обширное руководство, показывающее прямое извлечение из Git-репозитория Kernel. GIYF. НТН. Приветствия.

164
задан 30.10.2019, 22:37

6 ответов

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

0
ответ дан 30.10.2019, 22:38
  • 1
    Это именно то, что я также считаю самым большим преимуществом X по сравнению с предложенным Wayland. – Styx 30.10.2019, 22:38

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

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

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

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

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

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

0
ответ дан 30.10.2019, 22:38
  • 1
    Похоже, Microsoft DirectX, как вещи? – Sliq 30.10.2019, 22:39
  • 2
    Я также получаю Microsoft wayes от Wayland и systemd. И нет, это не очень хорошая вещь. Они нарушают основные правила разработки программного обеспечения. В systemd только потому, что это проще для разработчиков systemd. В Wayland, потому что им нужны более быстрые игры (?) И рендеринг, и он выбрасывает с собой много хорошего. – Ivijan Stefan Stipić 30.10.2019, 22:39
  • 3
    Я использую базовый API-интерфейс рисования протокола X11, потому что он быстрее, чем XRender. – Wolfsblvt 30.10.2019, 22:40

Вы можете увидеть страницу архитектуры 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
ответ дан 30.10.2019, 22:39
  • 1
    Прозрачность сети слишком раздута по нескольким причинам. 1. Pure X forwarding достаточно быстр по локальной сети. Через Интернет raw X не работает из-за задержки. Чтобы получить приличную производительность, вы должны использовать сторонние протоколы, такие как NX или VNC. 2. И NX, и VNC - сложная задача для установки из-за архитектуры X. С Вейландом должно быть проще. 3. Немногие современные наборы инструментов используют код рисования X. Они просто рисуют себя в растровое изображение и отправляют его в X. Это точно так же, как Wayland и будет иметь те же характеристики сети. – DACrosby 30.10.2019, 22:40
  • 2
    @Timmmm не уверен в вас, но около 12 лет назад он успешно перенаправил X-сессию из моего домашнего DSL в нашу сеть колледжей, поиграл с Gimp и провел рабочий сеанс gnome через мой сервер Windows X на своем ноутбуке. Даже с такой задержкой не было большой проблемой. – xdazz 30.10.2019, 22:40
  • 3
    @poolie: Кажется, они передумали. ;-) – user2958137 30.10.2019, 22:40
  • 4
    Я согласен с пунктом 1, но по хорошей локальной сети X-forwarding неприкасаем для качества или производительности. Гораздо лучше, чем любая другая альтернатива в моем опыте. – djleop 30.10.2019, 22:41
  • 5
    По состоянию на 2013 г. ситуация с прозрачностью сети более ясна: askubuntu.com/a/359870/203271 – Volker E. 30.10.2019, 22:41

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

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

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

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

0
ответ дан 30.10.2019, 22:40
  • 1
    Не совсем верно, что переадресация X исчезнет, ​​поскольку X все еще можно использовать в качестве клиента на Wayland. wayland.freedesktop.org имеет пример этого. Но X - довольно ужасный способ делать подобные вещи. Пришло время заменить его. Во многих случаях кажется, что такие вещи, как GTK с Бродвеем, были бы лучшим подходом. – jewelhuq 30.10.2019, 22:40
  • 2
    Да, и KMS никогда не требовалось для изменения разрешения экрана (это стало возможным с тех пор, как я использовал X более 10 лет назад), но оно позволяет использовать разные драйверы (например, драйвер кадрового буфера консоли, драйверы X и теперь драйверы Wayland) сотрудничать легче. Раньше для каждого из них не всегда было очевидно, в каком состоянии находится «состояние». графическое оборудование работает в определенный момент времени, и было использовано множество догадок или зависимых от драйверов проприетарных обходных путей. – chiliNUT 30.10.2019, 22:41
  • 3
    KMS & amp; GEM не перемещает графические драйверы в ядро, только некоторые небольшие части перемещаются в ядро ​​(биты, которые обращаются непосредственно к оборудованию и должны быть в ядре, так что разные драйверы могут сосуществовать, например, запись Порты ввода / вывода и управление памятью). KMS & amp; GEM уже используются X сегодня, по крайней мере, для современных драйверов с открытым исходным кодом (Intel, Radeon, Nouveau). Кстати, я серьезно сомневаюсь, что перевод всего графического драйвера в ядро ​​был бы принят Линусом ...;) – Matthias S 30.10.2019, 22:41
  • 4
    Расширение RandR позволяет изменять разрешение экрана без перезапуска X-сервера. – Akintunde-Rotimi 30.10.2019, 22:41

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

  • Уэйленд покончил с бумажными вырубками, которые считались слишком трудными для исправления в X11. Известный пример: использование функциональных клавиш (громкость динамика, яркость дисплея и т. Д.) При открытом меню или включенном экране блокировки.
  • Wayland лучше в устройствах ввода. Во-первых, существует множество опций для настройки сенсорных панелей, включая постоянную настройку «нажми и нажми».
0
ответ дан 30.10.2019, 22:41
  • 1
    Уэйленд хуже, если программа заблокирована по причине. Иметь разные wm - это хорошо. Я использую сеть X11 на регулярной основе (каждый день). Некоторая программа перестала работать в Wayland (я использую Ubuntu 18.04) – Buttle Butkus 30.10.2019, 22:41

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

0
ответ дан 30.10.2019, 22:41

Теги

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