Як нещодавно оголосив Марк Шуттлворт, Ubuntu рухатиметься до використання Wayland в якості менеджера дисплеїв.
Які найбільші відмінності між X11 та Wayland? Чому Wayland зробить Ubuntu кращою?
Як нещодавно оголосив Марк Шуттлворт, Ubuntu рухатиметься до використання Wayland в якості менеджера дисплеїв.
Які найбільші відмінності між X11 та Wayland? Чому Wayland зробить Ubuntu кращою?
Відповіді:
Ви можете переглянути сторінку архітектури 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 (та прямі фреймбуфери). Я не впевнений, що У Вейленда колись буде реальний шанс.
Є багато відмінностей між X та Wayland. Мабуть, найбільший з графічної сторони те, що Wayland не робить жодного малюнка .
X має два API малювання. Одне з них є частиною основного протоколу X11, який є давнім, марним і ніхто не використовує. Іншим є розширення XRender, яке забезпечує сучасні композитні операції, серед іншого, такі як градієнти. Цим, наприклад, користується Каїр. X також має API для малювання шрифту.
У Wayland немає графічних API. Клієнт Wayland отримує ручку буфера DRM, яка в основному є вказівником на деяку графічну пам'ять; Wayland не знає і не цікавить, як клієнт звертається до цього буфера. З точки зору 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, я просто подумав, що я згадаю це для повноти.
Дві дрібниці, які хтось помітить досить швидко у щоденній роботі: