Wayland
Wayland — это современный коммуникационный протокол для управления
дисплейными серверами в Unix-подобных операционных системах
(например, Linux).
Он определяет, как композитор — программа, отвечающая
за отрисовку того, что вы видите на экране, —
взаимодействует с клиентскими приложениями (вашим браузером,
терминалом или текстовым редактором).
Он был разработан как лёгкая и чистая замена устаревшему X11 (X
Window System), в котором за десятилетия накопилось огромное
количество сложного кода с обходными решениями.
Wayland в корне переосмысливает то, как устроена отрисовка графики
в десктопном Linux, и даёт ряд важных преимуществ по сравнению со
старыми протоколами дисплейных серверов:
1. Высокая производительность и низкая задержка, «каждый
кадр идеален»
В Wayland отрисовка организована так, что приложения рисуют
прямо в буферы, а композитор выводит их без разрывов. Это
практически полностью устраняет разрывы изображения (tearing) и
микрофризы.
Упрощённый конвейер: X11 опирался на отдельные
дисплейный сервер, оконный менеджер и менеджер композитинга,
которые постоянно обменивались данными друг с другом. Wayland
объединяет эти роли в одном композиторе (таком как Hyprland,
Sway или Mutter/GNOME), избавляясь от лишних накладных расходов
на IPC (межпроцессное взаимодействие).
2. Современная модель безопасности и песочницы
Изоляция приложений: В X11 любое запущенное
приложение могло без труда перехватывать нажатия клавиш в других
окнах или снимать содержимое экрана без разрешения.
Явные разрешения: Wayland по умолчанию не
позволяет клиентам читать ввод других окон или память их
буферов. Такие действия, как демонстрация экрана, глобальные
сочетания клавиш или общий буфер обмена, требуют явных
протоколов/порталов (например, xdg-desktop-portal), что даёт
гораздо лучшую изоляцию для песочниц вроде Flatpak или Snap.
3. Нативная поддержка нескольких мониторов и смешанного DPI
Независимая частота обновления: В X11 при
подключении монитора на 144 Гц рядом с монитором на
60 Гц оба часто работали на меньшей частоте либо сильно
лагали. Wayland штатно и без проблем обрабатывает разную частоту
обновления на разных экранах.
Масштабирование для каждого монитора: Wayland
отлично справляется с дисплеями разной плотности пикселей
(например, можно масштабировать 4K-экран ноутбука на 150%, а
внешний монитор 1080p оставить на 100% без размытия).
4. Более чистая и удобная в поддержке кодовая база
Простая архитектура: Отказавшись от устаревших
расширений отрисовки, сетевых графических примитивов и архаичных
механизмов X11, Wayland получил гораздо более компактную и
безопасную кодовую базу, которую разработчикам проще
поддерживать и развивать.
но всё же...
Wayland всё ещё находится в активной разработке, поэтому некоторые
вещи могут работать довольно ужасно. Не ждите всех возможностей,
например сетевой прозрачности (её делает X11), но Wayland —
удачная попытка создать современный коммуникационный протокол,
особенно для повседневных десктопных сценариев.
нет лучшего (X11 или Wayland), потому что у них сильно различается
архитектура, и я не понимаю, почему люди спорят о том, что лучше
¯\_(ツ)_/¯
так что же нам использовать?
я могу предложить вот эти WC и DE
(WC = Wayland-композитор)
(DE = окружение рабочего стола)