Wayland (Русский)
Wayland - протокол, который является более простой заменой Xorg. В отличие от Xorg, Wayland не имеет API отрисовки. и соответственно ей не занимается. Такие среды рабочего стола как GNOME и KDE уже поддерживают Wayland. Также существует Xwayland, который позволяет запускать приложения X11 в Wayland.
Требования
Большинство Wayland композиторов будут работать только на системах, используюших Kernel mode setting (Русский). Wayland не предоставляет графического окружения; для этого вам нужен композитор, такой как Sway или Weston.
Чтобы GPU драйвер и Wayland могли работать вместе - они должны поддерживать одинаковый буферный API. Есть два основных - GBM и EGLStreams.
Buffer API | Поддержка GPU драйвером | Поддержка Wayland композиторами |
---|---|---|
GBM | Все, кроме NVIDIA | Все |
EGLStreams | NVIDIA | GNOME, KDE |
Композиторы
Название | Тип | Описание |
---|---|---|
Mutter | Stacking | Смотрите GNOME#Starting. |
sway | Tiling | Sway i3-совместимый оконный менеджер для Wayland. GitHub |
Enlightenment | Stacking and tiling | Смотрите Enlightenment#Manually. Больше информации: [1] [2] |
KDE Kwin | Stacking | Смотрите KDE#Starting Plasma. |
Orbment | Tiling | orbment (раньше loliwm) заброшенный тайловый менеджер для Wayland. |
Velox | Tiling | Velox простой оконный менеджер базирующийся на swc. Имеет идеи dwm и xmonad. |
Orbital | Stacking | Orbital композитор и оболочка (скорее WM, чем DE) использующий Qt5 и Weston. |
Liri Shell | Stacking | Liri Shell оболочка для Liri, собрана с QtQuick и QtCompositor как композитор для Wayland. |
Maynard | (Unclear) | Maynard оболчка для Weston основаная на GTK. Не в разработке. [3][4] |
Motorcar | (Unclear) | Motorcar - композитор для использования VR с Wayland. |
Maze Compositor | Floating 3D | Maze Compositor 3D композитор в стиле старой FPS игры. Есть возможность перемещения |
Cage | Kiosk | Cage Wayland композитор, который отображает лишь одно окно на весь экран. |
Greenfield | Stacking | Greenfield Wayland в браузере |
Grefsen | Floating | Grefsen Qt/Wayland композитор предостовляющий минимальное DE. |
Waymonad | Tiling | Waymonad xmonad, но только на wayland |
wayfire | Stacking | Wayfire |
Weston | Floating | Weston |
dwl | Tiling | dwl dwm для Wayland |
Некоторые из них имеют возможность использовать экранный менеджер. Проверьте /usr/share/wayland-sessions/название_композитора.desktop
.
Менеджеры входа
Ниже перечислены менеджеров дисплеем, который поддерживает работу Wayland. Столбец тип указывает, поддерживает ли экранный менеджер работу на Wayland или нет.
Название | Тип | Описание |
---|---|---|
GDM | Запускается на Wayland | Экранный менеджер рабочего окружения GNOME |
LightDM | Запускается на Xorg | Кросс-десктопный Экранный менеджер |
SDDM | Запускется на Xorg | Экранный менеджер на основе QML. |
Ly | Запускается в консоли | Консольный экранный менеджер, написаный на C |
greetd | Демон входа в систему | Минималистичный менеджер входа, поддерживает консольный и графический режим |
Библиотеки графического интерфейса
Смотрите подробности на официальном сайте
GTK 3
В пакете gtk3 уже включена поддержка Wayland. GTK будет использовать wayland по умолчанию, но вы можете изменить это, установив переменную окружения GDK_BACKEND=x11
, чтобы использовать Xwayland.
Qt 5
Чтобы включить поддержку Wayland в Qt 5, установите пакет qt5-wayland и установите переменную окружения QT_QPA_PLATFORM=wayland
. Чтобы заставить приложение использовать Xwayland установите переменную окружения QT_QPA_PLATFORM=xcb
. Это может быть необходимо для некоторых проприетарных приложений, которые не используют системную реализацию Qt, к примеру zoomAUR.
Clutter
Инструментарий Clutter имеет поддержку Wayland. Она включена в пакет clutter.
SDL2
Для запуска SDL2 приложения на Wayland, выставите переменную окружения SDL_VIDEODRIVER=wayland
.
SDL_VIDEODRIVER=x11
.GLFW
Чтобы включить поддержку Wayland в GLFW, установите пакет glfw-wayland (вместо glfw-x11).
GLEW
Чтобы включить поддержку Wayland в GLEW, установите пакет glew-waylandAUR (вместо glew).
EFL
EFL полностью поддерживает Wayland. Для запуска EFL в Wayland смотрите страницу проекта Wayland.
winit
winit (библиотека для создания окон в Rust) имеет поддержку Wayland по умолчанию. Чтобы использовать Xwayland установите переменную WINIT_UNIX_BACKEND=x11
.
Решение проблем
Цветовая коррекция
Читайте Backlight#Color correction.
Графические артефакты в GNOME
Пользователи gnome-shell могут испытывать проблемы при переходе с Xorg на Wayland. Чаще всего корнем проблемы является установленная переменная CLUTTER_PAINT=disable-clipped-redraws:disable-culling
. Уберите её из /etc/environment
.
Удалённый доступ к ПК
- (20200206) wlroots (используется в sway) имеет поддержку VNC через пакет wayvnc.
- (20180401) mutter теперь имеет поддержку удалённого рабочего стола через пакет gnome-remote-desktop. Читайте [5] для деталей.
- waypipe-gitAUR - прозрачный прокси для запуска Wayland приложений через оболочку SSH
Cannot open display::0 в Atom, Discord
Приложения, написаные на Electron не будут работать на Wayland. Установите переменную GDK_BACKEND=x11
для запуска на Xwayland.