Email or username:

Password:

Forgot your password?
Жора Змейкин :ablobcatwave:

Спорил с разными людьми по поводу Wayland, поэтому решил действовать радикально и постараться поглубже изучить этот протокол. На этот пост ушло где-то 2 дня поиска разной информации, но зато я теперь намного лучше понимаю устройство Wayland.

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

Долгое время сидя на Xorg и потом перейдя на Wayland в 2022 мне в глаза бросилось довольно много вещей, как например очень плавная работа DE (Desktop Environment, среда рабочего стола). Wayland имеет отличный визуальный отклик и обеспечивает плавную работу на рабочем столе. Это могут подтвердить люди из Reddit (reddit.com/r/linux_gaming/comm) и чуть позже я опубликую свою наглядную демонстрацию.

На то время что GNOME, что KDE уже хорошо работали с этим протоколом, поэтому проблем с этим у меня не было. Во вторых, что мне бросилось: запись экрана через PipeWire происходит намного плавнее чем на X11. Это особенно чувствуется на слабых ПК. Я заметил что с Wayland я могу не беспокоиться об несколько открытых окнах, в Xorg все эти окна постоянно находились в отрисовке (их миниатюры постоянно обновлялись) и это сильно давило на производительность. В Wayland же они отрисовываются только если в этом появляется нужда и это очень улучшает производительность (как я понимаю это зависит от композитора).

Новые обновления KDE Plasma сейчас особенно нацелены на Wayland. Поддержка жестов тачпада, HDR, дробное масштабирование и разный масштаб на мониторах, поддержка сенсорных мониторов и многое другое. Отчасти некоторые эти функции есть на Xorg, но чаще они работают плохо. Например, сенсорный монитор на X11 не может работать адекватно, если он подключён вторым.

У Xorg также много накладных расходов из-за своей раздутости, в Wayland отзывчивость всё же лучше (это особенно заметно, если использовать размытие в системе. Xorg в такие моменты просто умирает в нагрузке (github.com/yshui/picom/issues/), а с Wayland всё плавненько). Но сразу стоит уточнить что Wayland это протокол, он ничего не рендерит, этим занимаются уже сами приложения и композиторы.

Про безопасность ходят много слухов и многие из них оправданы. Окна в Wayland изолированы и не имеют доступа к экрану и к нажатым клавишам (когда окно вне фокуса). Чтобы приложение получило доступ к экрану, ему нужно попросить разрешение у композитора.

Однако Wayland не лишён недостатков. Wayland это НЕ ЗАМЕНА X11, он не имеет всех привычных вещей из X11 и недостающий функционал приходится доделывать уже композиторам. По факту, композитор это и есть "сервер" (грубо говоря), он управляет всеми окнами, что на экране. И вот несколько достаточно критических проблем у Wayland (по моему мнению):
1. Приложения не могут создавать и обрабатывать глобальные горячие клавиши.
2. Все приложения висят на композиторе, сбой композитора (например KWin) приводит к тому, что все ваши приложения закрываются. Это очень серьёзная проблема, но есть хорошие новости: такое встречается довольно редко в GNOME, а в KDE Plasma 6 эту проблему активно решают и сейчас приложения на qt6 уже не завершают свою работу после сбоя композитора. У Xorg в этом плане надёжность лучше, ибо приложения остаются подключёнными к Xorg серверу и сбой композитора не закрывает приложения.
3. Не все приложения работают под Wayland. XWayland спасает ситуацию, создавая прослойку между Xorg приложениями и Wayland, но не полностью.
4. XWayland приложения не имеют доступа к экрану, что означает что вы не можете проводить трансляции в том же Discord (потому что Discord до сих пор не поддерживает wayland). Однако, эта проблема уже решена в KDE Plasma благодаря xwaylandvideobridge (XWayland видео-мост).
5. На Wayland больше проблем с программами удалённого доступа, хоть KDE и GNOME предоставляют утилиты удалённого доступа, нормально завести у меня редко когда удавалось. В Xorg с этим как-то проще.
6. Некоторые пользователи отмечают, что на Wayland есть проблемы с виртуальными клавиатурами, цветовыми профилями (в KDE вроде решено) и другими вспомогательными средствами.
7. Старые видеокарты зачастую не очень хорошо работают с этим протоколом.
8. xwayland не даст жизнь X11 утилитам, вроде xbindkeys. Однако тот же xbindkeys можно заменить, например, Input Remapper. Очень удобная программа.

И проблем на самом деле ещё больше, но я назвал те которые мне вспомнились в первую очередь. Подробнее о том что Wayland "ломает" можно кстати почитать здесь: gist.github.com/probonopd/9feb. Но я бы не стал так пугаться этого, это неизбежно, Wayland просто другой.

—————————————————

Давайте подытожим.
Xorg — это стабильно, но медленно и устаревает.
Wayland — это современно, быстро, но немного сыро. Wayland существует уже много лет, но активное развитие технология получила только недавно, как я понимаю. Она подарила вторую жизнь моему ноутбуку, ибо на ней производительность сильно выше. Тем же GNOME на Xorg я просто пользоваться не могу, это какой-то кошмар. Раскладка переключается криво, анимации сильно тормозят, просто пытка :(

Лично у меня в играх производительность на Wayland выше, даже если игры запускаются через XWayland, хоть бенчмарки в Phoronix (phoronix.com/review/wayland-nv) показывают спорную картину. Но я думаю будущее всё же за Wayland (учитывая что Fedora хотела отказаться от Xorg, KDE планирует сделать Wayland сеансом по умолчанию, а GNOME уже по умолчанию запускается через Wayland).

—————————————————

Теперь извинения. Извиняюсь за такой длинный пост, мне кажется его можно было сделать покороче и понятнее, но я не умею. Я убрал некоторые вещи, вроде детального объяснения работы Xorg и Wayland/XWayland (что очень уменьшило длину поста), но мне до сих пор кажется что здесь много воды.

Также я всё время приводил только KDE в пример, а про GNOME почти ничего не сказал (хотя и они вклад в Wayland вносили). Я GNOME пользуюсь мало, поэтому мне трудно было найти какие-то вещи связанные с ними.

Также трудно было описать конкретные преимущества Wayland кроме производительности, сенсорного экрана и масштабирования, поэтому я взял то, что нашёл в интернете. Я пытался найти людей, кто хорошо разбирался бы в этой теме, но не нашёл, поэтому я буду рад любой критике, исправлениям и т. д.

3 comments
hardworm ☭

@Katze_942 уговорил, погоняю вялого на ubuntu. 😄

Попробую продержаться неделю.

Жора Змейкин :ablobcatwave:

@hardworm интересно стало, что там у вас такого, что вам нужно прям "продержаться"?)

hardworm ☭

@Katze_942 просто он работает как говно в 22.04

Go Up