Wayland (Русский)

From ArchWiki
Jump to navigation Jump to search

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.

Note: Большинство проприетарных игр включают в себя старые версии SDL, которые не поддерживают Wayland. Чтобы заставить приложение работать под Xwayland, используйте SDL_VIDEODRIVER=x11.

GLFW

Чтобы включить поддержку Wayland в GLFW, установите пакет glfw-wayland (вместо glfw-x11).

GLEW

Чтобы включить поддержку Wayland в GLEW, установите пакет glew-wayland (вместо 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 через пакет wayvncAUR.
  • (20180401) mutter теперь имеет поддержку удалённого рабочего стола через пакет gnome-remote-desktop. Читайте [5] для деталей.
  • waypipe-gitAUR - прозрачный прокси для запуска Wayland приложений через оболочку SSH

Cannot open display::0 в Atom, Discord

Приложения, написаные на Electron не будут работать на Wayland. Установите переменную GDK_BACKEND=x11 для запуска на Xwayland.

Смотрите также