Что такое Wayland и что это значит для пользователей Linux?

Если вы используете десктоп на основе Linux, вы взаимодействуете с сервером дисплея. Этот важный элемент программного обеспечения отвечает за отображение всего, что вы видите на экране – от окон и меню до указателя мыши. На протяжении десятилетий стандартом был сервер дисплея Xorg (X11). Однако с изменением вычислительных потребностей появилось современное решение под названием Wayland, которое все чаще становится новым стандартом.
В этом посте будет объяснено, что такое Wayland, как он работает и как он соотносится с Xorg.
Что такое Wayland
Wayland – это современный дисплейный протокол, который определяет, как приложения взаимодействуют с сервером дисплея для рендеринга графики и обработки пользовательского ввода, такого как клики или текст. Впервые представленный примерно в 2008 году как облегченная, более безопасная и эффективная альтернатива системе X Window (X), доминировавшей в Linux с 1984 года до середины 2010-х, Wayland оптимизирован для современного графического оборудования и дисплеев. Хотя X продолжает использоваться для некоторых устаревших приложений (часто через XWayland), Wayland стал стандартом во многих дистрибутивах Linux к 2025 году.
В отличие от X, который полагается на отдельный сервер дисплея, такой как Xorg, Wayland интегрирует сервер дисплея и менеджер окон в единое целое, называемое композитором. Например, GNOME использует свой композитор Mutter, в то время как KDE Plasma использует KWin. Эти композиторы напрямую взаимодействуют с графическим оборудованием, часто используя библиотеки, такие как libwayland (или wlroots для меньших композиторов, таких как Sway), чтобы записывать данные в framebuffer. Это исключает необходимость в посреднике, как в Xorg, что приводит к повышению производительности и более плавному рендерингу.
Особенности Wayland
- Более простой, современный дизайн, что упрощает разработку, обслуживание и отладку
- Улучшенная безопасность за счет изоляции приложений и предотвращения доступа к данным ввода или отображения других приложений
- Сниженная нагрузка на систему, что позволяет добиться более низкой задержки, плавной графики и минимизировать разрывы экрана
- Встроенная поддержка дисплеев с высоким разрешением, масштаба для каждого монитора и дробного масштаба
- Интегрированный композитор, обеспечивающий последовательные визуальные эффекты и улучшенную производительность рендеринга
- Нативная поддержка сенсорных экранов, жестов, стилусов и других современных устройств ввода
- Лучшая синхронизация с дисплеем (VSync), что уменьшает мерцание и визуальные артефакты
- Избегает устаревшей сложности, что упрощает поддержку современных требований к аппаратному и программному обеспечению
Как работает Wayland
Серверы дисплея предоставляют информацию ядру и графическому оборудованию, чтобы они могли быстро передавать данные на дисплей. Они получают эту информацию через приложения, которые общаются с ними, используя свои собственные протоколы. Приложение, предназначенное для работы с X, например, не может взаимодействовать с сервером Wayland.

Wayland решает эту проблему с помощью так называемого XWayland, который действует как слой совместимости, позволяющий переводить взаимодействие клиента и сервера X в формат, который может понять Wayland.
В Wayland сервер и композитор – это одно и то же. Каждая среда рабочего стола, использующая Wayland, вызывает библиотеку, реализующую протокол Wayland, для отображения эффектов, таких как прозрачность, размытие окон, анимация переходов и тени, которые придают окнам ощущение объема.
Wayland приближает все эти функции к ядру, и вы часто чувствовали бы это по плавности, испытываемой в графической среде.
Вместо рендеринга с использованием стороннего программного обеспечения, композитор Wayland вызывает так называемый буфер дисплея (Direct Rendering Manager, DRM) в ядре для рисования.
Вы можете заметить, что в Wayland шаги гораздо проще, а процесс более понятен. Это приводит к большей производительности в ситуациях с графическими нагрузками и упрощает разработку приложений, работающих под этим протоколом.
Как попробовать Wayland
Многие современные дистрибутивы Linux – особенно те, которые используют последние версии GNOME или KDE Plasma – теперь используют Wayland в качестве стандартного сервера дисплея.
На момент выпуска Ubuntu 24.04 LTS (Noble Numbat) Wayland является стандартным сервером дисплея на большинстве систем, особенно тех, которые используют графику Intel или AMD. Если вы используете графический процессор NVIDIA, система все равно будет по умолчанию использовать Wayland. Однако, если он все еще не работает, следуйте этому подробному руководству и запустите Wayland на графической карте Nvidia.
Чтобы проверить, используете ли вы Wayland или Xorg, откройте терминал и выполните:
echo $XDG_SESSION_TYPEЕсли вывод – Wayland, значит, вы уже на Wayland. Вы работаете на Xorg, если он говорит x11.
Если вы на Xorg, вы обычно можете перейти на Wayland с экрана входа. Найдите значок шестеренки или меню сеансов (обычно рядом с кнопкой Войти), нажмите на него и выберите либо Ubuntu или Ubuntu на Wayland, либо GNOME Classic. Затем войдите в систему, как обычно.

Примечание: Если вы используете живую сессию (например, Ubuntu 24.04.1 с USB-накопителя), опция переключения между Xorg и Wayland может быть недоступна.
В любом другом дистрибутиве, использующем текущую версию GNOME или KDE Plasma, есть возможность использовать Wayland.
Попробуйте Wayland в Fedora и Arch Linux
Fedora полностью приняла Wayland в качестве стандартного сервера дисплея для сред рабочего стола GNOME и KDE Plasma. Если вы используете последнюю версию Fedora, вероятно, вы уже на Wayland. Процесс проверки или переключения между Wayland и X11 похож на Ubuntu. Просто выйдите из системы, нажмите на значок шестеренки на экране входа и выберите соответствующую сессию.
В Arch Linux и для пользователей GNOME не требуется дополнительных настроек, кроме установки пакетов gnome и gnome-session, так как стандартный дисплейный менеджер (GDM) поддерживает Wayland “из коробки”.
sudo pacman -S gnome gnome-sessionПользователи KDE Plasma должны установить пакеты plasma и plasma-workspace-wayland, чтобы включить поддержку Wayland.
sudo pacman -S plasma plasma-workspace-waylandВ обоих случаях вам также следует установить пакет xorg-xwayland, чтобы обеспечить совместимость с приложениями, которые все еще полагаются на X11.
sudo pacman -S xorg-xwaylandПосле установки необходимых пакетов выберите сеанс Wayland из меню сессий вашего дисплейного менеджера на экране входа.
Для улучшенной поддержки приложений Qt и GLFW рассмотрите установку qt5-wayland, qt6-wayland и glfw-wayland. Кроме того, если вы испытываете какие-либо проблемы с запуском KDE на Wayland, вы можете открыть отладочную консоль KWin и диагностировать проблемы:
qdbus org.kde.KWin /KWin org.kde.KWin.showDebugConsoleПосле завершения всех настройок ваша система должна быть готова к запуску на Wayland с возможностью запуска устаревших приложений X11.
Wayland против Xorg: ключевые различия
Wayland и Xorg (также известный как X11) фундаментально отличаются как по архитектуре, так и по философии дизайна. Xorg, будучи старой системой, использует модель клиент-сервер, в которой сервер X обрабатывает ввод и вывод. Он выступает в роли посредника между приложениями и оборудованием. Со временем эта модель стала громоздкой из-за множества расширений и поддержки устаревших систем, что привело к ухудшению производительности и проблемам безопасности – например, приложения могут подглядывать за вводом друг друга.
В отличие от этого, Wayland разработан для того, чтобы быть проще и современнее. Он устраняет необходимость в отдельном сервере дисплея, позволяя клиентам (приложениям) напрямую взаимодействовать с композитором. Композитор обрабатывает как рендеринг, так и отображение, что улучшает безопасность и производительность.
Еще одно ключевое различие заключается в том, как каждая система управляет графическим выводом и вводом. Xorg сильно полагается на внешние менеджеры окон и композиторы, такие как Compiz или Mutter. Wayland, с другой стороны, интегрирует композитор напрямую, снижая задержку и разрывы экрана.
Стоит ли использовать Wayland
Поддержка Wayland steadily растет. Среды рабочего стола, такие как Cinnamon, XFCE и MATE, начали добавлять поддержку Wayland, и многие легковесные менеджеры окон теперь предлагают версии, совместимые с Wayland. Инструменты, такие как Sway (для пользователей i3), dwl (на основе dwm) и более новые, такие как Hyprland, разработаны специфицески для Wayland и предлагают современные функции, такие как более плавные анимации.
Тем не менее, Wayland не идеален. Некоторые знакомые инструменты, такие как xkill, не работают из-за того, как Wayland обрабатывает окна. Кроме того, иногда возникают сбои или ограничения в зависимости от вашего аппаратного и программного обеспечения. Устаревшие приложения, которые не обновлялись годами, могут не работать хорошо без Xorg.
Заключение
Если ваша текущая настройка работает стабильно, нет настоятельной необходимости в переходе – просто продолжайте использовать то, что работает. Однако если вы испытываете проблемы, такие как зависания или дергание экрана, стоит попробовать другой сервер дисплея. Иногда одно просто работает лучше другого, в зависимости от вашего оборудования и драйверов. Если что-то не работает так, как ожидалось, переключение дисплейных систем может помочь решить проблему.