Чому Wayland кращий?


177

Як нещодавно оголосив Марк Шуттлворт, Ubuntu рухатиметься до використання Wayland в якості менеджера дисплеїв.

Які найбільші відмінності між X11 та Wayland? Чому Wayland зробить Ubuntu кращою?


5
З грудня 2013 року схоже, що Ubuntu на базі Unity буде використовувати сервер відображення Mir замість композитора на базі Wayland, починаючи з Ubuntu 14.10: посилання на посилання Інші варіанти Ubuntu, ймовірно, перейдуть до Wayland: посилання
Дієго

4
Ось чудове відео з поясненням X і чому люди хочуть його замінити: youtube.com/watch?v=cQoQE_HDG8g
Jason

Тепер Ubuntu 18 (Bionic) використовує xorg за замовчуванням, але на екрані входу Wayland все ще є опцією: blog.ubuntu.com/2018/01/26/…
Kris

Я б сказав, що Х краще. Я б не вдавався в технічні речі. Але я просто скажу, що у мене є Waypad, який випадає на youtube, якщо змінити розмір вікна або перейти / вийти на весь екран. З X немає проблем. Навіть незважаючи на те, що швидкість однакова. Крім того, курсор миші Wayland відчуває себе втраченішим, ніж на X. X все ще мій no1
Лука

Відповіді:


136

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

Порівняйте це зі стеком X, де у вас є біти і боби в усьому місці. Деякі з X безладу проходили завдяки гнучкому дизайну, в деяких зростали болі. Всі композитори (Compiz / Metacity / Mutter / KWin / тощо) були додані в якості подальшої думки. Вони, по суті, хакі робити те, що X, ймовірно, повинен робити сам. Якщо все продовжуватиметься розширюватися назовні, як було, ми дістанемося до того, що проект стане неможливим.

Загалом, коли апаратна підтримка є, вона повинна зробити весь стек більш ефективним і менш болісним для використання в стандартних налаштуваннях.

Однак є кілька питань, яких я до цього часу не бачила:

  • X досить відомий мережею. Ви можете надсилати вікна на інші комп’ютери, у вас є кілька екранів із віддаленими входами та всілякі подібні речі. Це може здатися досить спеціалістом, але це широко застосовувана технологія. У порівнянні з цим Wayland виявляється досить локальним і статичним.

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

    Оновлення: Nvidia працює над підтримкою і Wayland, і Mir .


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

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


21
Проблема з прозорістю мережі є значно перекритою з кількох причин. 1. Чиста X переадресація проводиться лише досить швидко через локальну мережу. Через Інтернет сирий X непридатний через затримку. Для отримання гідної продуктивності вам потрібно використовувати протоколи сторонніх виробників, такі як NX або VNC. 2. І NX, і VNC - це величезна біль, яка виникає завдяки архітектурі X. З Wayland повинно бути легше. 3. Небагато сучасних наборів інструментів використовують код малювання X. Вони просто звертаються до растрової карти та надсилають її до X. Це точно те саме, що і Wayland і матиме ті ж мережеві характеристики.
Timmmm

4
Я погоджуюся з пунктом 1, але над гарною локальною мережею, переадресація X недоторканною за якість та продуктивність. Набагато краще, ніж будь-яка альтернатива в моєму досвіді.
Олі

1
Станом на 2013 рік ситуація стає прозорішою щодо прозорості мережі: askubuntu.com/a/359870/203271
Дієго

2
@poolie: Схоже, вони передумали. ;-)
Peque

2
Від BionicBeaver / ReleaseNotes : "X - сервер відображення за замовчуванням. Wayland надається як Технічний попередній перегляд. Очікується, що він буде сервером відображення за замовчуванням у 20,04 LTS . Щоб спробувати це, просто виберіть Ubuntu на Wayland з гвинтика входу екран. Журнали X.org тепер можна знайти за адресою ~ / .local / share / xorg "[моє наголос]
Денніс Вільямсон,

56

Є багато відмінностей між X та Wayland. Мабуть, найбільший з графічної сторони те, що Wayland не робить жодного малюнка .

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

У Wayland немає графічних API. Клієнт Wayland отримує ручку буфера DRM, яка в основному є вказівником на деяку графічну пам'ять; Wayland не знає і не цікавить, як клієнт звертається до цього буфера. З точки зору X це означає, що всі програми отримують пряме візуалізація - запити для малювання не потрібно проходити через сервер.

Єдине рендеринг Wayland - це скопіювати буфер клієнта на екран.

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

Є й інші переваги поза графікою. Набагато простіше, наприклад, пісочниці програм.


2
Як у DirectX Microsoft схожі речі?
Анвар

3
Я використовую API для малювання ядра протоколу X11, тому що це швидше, ніж XRender.
étale-когомологія

3
Я також отримую серветки Microsoft від Wayland і systemd. І ні, це не дуже добре. Вони порушують основні правила розробки програмного забезпечення. У systemd просто тому, що це простіше розробникам systemd. У Wayland тому, що вони хочуть швидших ігор (?) Та рендерінгу, і викидає з цим багато хороших речей.
Андерс

18

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

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

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

Чи може хтось виправити мене з будь-якого з цього, якщо я помиляюся?


4
KMS & GEM не переміщує графічні драйвери до ядра, лише деякі невеликі частини переміщуються до ядра (біти, які говорять безпосередньо на апаратному забезпеченні і повинні бути в ядрі, щоб різні драйвери могли співіснувати, наприклад запис до портів вводу / виводу та управління пам'яттю). KMS & GEM вже використовуються X сьогодні, принаймні для сучасних драйверів з відкритим кодом (intel, radeon, nouveau). BTW: Я серйозно сумніваюся, що переміщення всього драйвера графіки до ядра було б прийнято Linus ...;)
січня

4
О, і KMS ніколи не знадобився для зміни роздільної здатності екрана (це було можливо з моменту використання X більше 10 років тому), але він дозволяє різним драйверам (наприклад, драйвер Framebuffer консолі, драйвери X і тепер драйвери Wayland) легше співпрацювати У минулому для кожного з них не завжди було очевидно, у якому «стані» знаходиться графічне обладнання в певний момент часу, і було використано багато вгадувань або залежних від драйверів власних способів вирішення.
січня 10.10

1
Не зовсім вірно, що переадресація X пройде, оскільки X все ще може використовуватися як клієнт у Wayland. wayland.freedesktop.org є прикладом цього. Але X - це досить жахливий спосіб зробити таку річ у будь-якому випадку. Прийшов час його замінити. У багатьох випадках здається, що такі речі, як GTK з Broadway, були б кращим підходом.
Жо-Ерленд Шінстад

3
Розширення RandR дозволяє змінювати роздільну здатність екрана без перезавантаження X-сервера.
Анонім

14

Усі інші пости висвітлюють переваги Wayland, але це не все добре лише. Найбільша перевага X над Wayland полягає в тому, що X працює над мережею. X - мережа прозора, ви можете відобразити вікно або з XDMCP повний сеанс на терміналі, коли фактична програма працює на іншому, зазвичай більш потужному апараті. Щось подібне до Wayland, ідея про прозорість мережі відпала. Можливо, це не так вже й вимагається в наші дні з швидкими мережами та іншими протоколами, такими як VNC та RDP, я просто подумав, що я згадаю це для повноти.


Саме це я вважаю найбільшою перевагою X перед запропонованим Wayland.
Кріс Джейс

7

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


3

Дві дрібниці, які хтось помітить досить швидко у щоденній роботі:

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

1
Wayland гірше, якщо програма заблокована з причини. Мати різний wm - це добре. Я використовую мережу X11 регулярно (щодня). Деякі програми перестали працювати у Wayland (я використовую Ubuntu 18.04)
Андерс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.