- Wayland (Русский)
- Contents
- Требования
- Композиторы
- Менеджеры входа
- Библиотеки графического интерфейса
- GTK 3
- Clutter
- winit
- Решение проблем
- Цветовая коррекция
- Графические артефакты в GNOME
- Удалённый доступ к ПК
- Cannot open display::0 в Atom, Discord
- Использование Linux с Wayland? Вот что вы должны знать
- Что такое Wayland?
- Избегайте приложений GTK + 2 или Qt 4
- Некоторые приложения могут не работать
- Композитор это необходимость
- Nvidia Graphics может не работать
- Вы, вероятно, должны использовать Fedora
- Использование Linux с Wayland? Что нужно знать
- Что такое Wayland?
- Избегайте GTK+ 2 или Qt 4 приложений на Wayland
- Некоторые приложения несовместимы с Wayland
- Композитор – это необходимость
- Nvidia может не работать с Wayland
- Как использовать Wayland
- Некоторые дистрибутивы, которые предоставляют Wayland по умолчанию
Wayland (Русский)
Wayland — протокол, который является более простой заменой Xorg. В отличие от Xorg, Wayland не имеет API отрисовки. и соответственно ей не занимается. Такие среды рабочего стола как GNOME и KDE уже поддерживают Wayland. Также существует Xwayland, который позволяет запускать приложения X11 в Wayland.
Contents
Требования
Большинство 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.
Чтобы включить поддержку Wayland в Qt 5, установите пакет qt5-wayland и установите переменную окружения QT_QPA_PLATFORM=wayland . Чтобы заставить приложение использовать Xwayland установите переменную окружения QT_QPA_PLATFORM=xcb . Это может быть необходимо для некоторых проприетарных приложений, которые не используют системную реализацию Qt, к примеру zoom AUR .
Clutter
Инструментарий Clutter имеет поддержку Wayland. Она включена в пакет clutter .
Для запуска SDL2 приложения на Wayland, выставите переменную окружения SDL_VIDEODRIVER=wayland .
Чтобы включить поддержку Wayland в GLFW, установите пакет glfw-wayland (вместо glfw-x11 ).
Чтобы включить поддержку Wayland в GLEW, установите пакет glew-wayland AUR (вместо glew ).
EFL полностью поддерживает Wayland. Для запуска EFL в Wayland смотрите страницу проекта Wayland.
winit
winit (библиотека для создания окон в Rust) имеет поддержку Wayland по умолчанию. Чтобы использовать Xwayland установите переменную WINIT_UNIX_BACKEND=x11 .
Решение проблем
Цветовая коррекция
Графические артефакты в 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.
Источник
Использование Linux с Wayland? Вот что вы должны знать
Возможно, вы слышали о Wayland
новый (ish) протокол, который призван заменить сервер дисплея Xorg в далеком будущем. Если вы думаете, что это не повлияет на вас, подумайте еще раз — Fedora 25 и выше
использует его по умолчанию.
Очевидно, что это то, что здесь, чтобы остаться и будет расти. Тот факт, что вы можете использовать его сейчас, является доказательством этого. Но если вы хотите проверить будущее, вам нужно помнить некоторые вещи.
Что такое Wayland?
Короче говоря, это протокол, который сообщает вашим программам, как они должны выглядеть для вас, в зависимости от ваших действий. Например, перемещение окна или нажатие кнопки. Технически, он не является заменой сервера Xorg сам по себе — Wayland определяет только способ, которым такой сервер отображения должен взаимодействовать с этими приложениями.
Вместо этого он полагается на стороннее устройство для предоставления этого сервера отображения, называемого Wayland композитор. Это то, что берет на себя роль сервера Xorg. Примером этого является KWin, плазменного рабочего стола KDE
, То, что делает Wayland, — это попытка упростить связь с сервером дисплея, делая дальнейшую разработку проще и быстрее.
Но, как и во многих будущих технологиях, в нем есть прорезывание зубов. Сервер Xorg существует уже давно и сам по себе неуклонно строится. Это также означает, что Wayland нужно наверстать упущенное (наряду с серверами отображения, которые его реализуют). Но на данный момент есть много вещей, которые вы можете сделать, чтобы сделать тестирование намного более плавным.
Избегайте приложений GTK + 2 или Qt 4
Linux довольно уникален тем, что в нем нет реального графического инструментария де-факто (по сравнению, например, с Windows или macOS). Эти наборы инструментов являются частями программного обеспечения (каркасов), которые облегчают создание графических интерфейсов (графических пользовательских интерфейсов).
) для программ. Основные из них в Linux включают GTK + и Qt.
В основном программы, с которыми вы взаимодействуете ежедневно, написаны на этих платформах. Они действуют как клиенты на ваш сервер отображения, прося, чтобы вещи были нарисованы на вашем экране. Тем не менее, эти запросы должны быть поняты в первую очередь, и это зависит от набора инструментов.
Таким образом, в Вейленде могут работать только некоторые типы программ — те, которые знают, как на них говорить. Например, написанные в Qt 5 (инструментарий рабочего стола Plasma
на основе), сможет работать правильно. Программы GTK + 3 также могут запускаться изначально.
При этом, если вы попытаетесь открыть, скажем, приложение Qt 4, у вас будет хороший шанс его запустить. Wayland делает это, запуская сервер Xorg за кулисами, чтобы слушать приложения, которые он не может понять. Тем не менее, это может привести к увеличению использования памяти
и немного более низкие скорости. Плюс, есть некоторые вещи, которые он просто не может сделать в данный момент.
Некоторые приложения могут не работать
Сервер Xorg, на котором построены годы работы, является полнофункциональным. Он был разработан, чтобы быть очень расширяемым, что позволяет ему расти с годами. Таким образом, есть некоторые вещи, которые Wayland пока не может сделать для программ (и поэтому зависят от Xorg).
Например, общая проблема, процитированная о Wayland, заключается в том, что Redshift
не работает над этим. Redshift — это программа, предназначенная для фильтрации синего света от вашего монитора в том же духе, что и F.lux или Night Shift.
, Основная причина, по которой он не работает, заключается в том, что он опирается на одно из расширений Xorg: RandR. Он предоставляет программам простой способ попросить Xorg изменить отображение на экране.
В то время как Wayland предоставляет средства для воссоздания этой способности, она зависит от каждого Wayland наборщик на самом деле реализовать это. Это означает, что в то время как одна среда рабочего стола
может поддерживать что-то вроде Redshift, нет гарантии, что оно будет работать в другом месте.
В будущем Wayland, вероятно, будет должным образом поддержан. Рабочий стол GNOME
Например, теперь реализована возможность изменения температуры экрана. Но путь еще есть.
Композитор это необходимость
Композиция — это метод, который помогает предотвратить разрыв экрана и артефакты. Это делается путем сохранения копий вашего дисплея в памяти, обычно с помощью вашей видеокарты
, Таким образом, даже если приложения перестают отвечать на запросы, вашему серверу отображения все равно будет с чем работать. Наряду с этим, он также позволяет вам иметь такие вещи, как оконная анимация и тени
Wayland разработан, чтобы сделать этот процесс намного более эффективным, чем Xorg, сделав его обязательным. Xorg имеет композитинг в качестве дополнительной функции, через расширение под названием Xcomposite. Но из-за того, как это реализовано, это занимает немного больше времени по сравнению с Wayland.
При этом, это может привести к некоторым проблемам. Композиция приводит к немного более низкой производительности программ, таких как игры
, Поэтому в Xorg большинство настольных компьютеров отключают эту функцию, когда приложение переходит в полноэкранный режим, решая эту проблему. Но многим Wayland-композиторам все еще нужно это реализовать. Если вы заинтересованы в использовании графически интенсивных программ под этим, это очень важно иметь в виду.
Nvidia Graphics может не работать
В частности, если вы используете собственный графический драйвер Nvidia
Уэйленд, вероятно, не будет работать для вас. Это связано с проблемой композитинга выше. Чтобы заставить этот процесс работать, ваш графический драйвер должен определенным образом общаться с компиляторами Wayland.
Видеокарты Intel и AMD
У них нет этой проблемы, поскольку они используют ожидаемый стандарт, называемый GBM (Generic Buffer Management). Nvidia считает, что их способ общения с Wayland, называемый EGLStreams, лучше, и поэтому он придерживается этого.
Эта проблема может быть решена двумя способами: драйверы Nvidia реализуют GBM, или композиторы Wayland реализуют EGLStreams. В настоящее время Nvidia, похоже, не заинтересована в поиске прежнего решения, поэтому решение этой проблемы зависит от среды рабочего стола. Например, GNOME работает нормально. Тем не менее, многие другие рабочие столы
Вы, вероятно, должны использовать Fedora
При этом, если вы хотите получить хороший опыт на Wayland, Fedora — ваш лучший выбор. Несмотря на удобство использования, серверы отображения, использующие его, по-прежнему довольно передовые
так что любая поддержка это хорошо иметь. Fedora известна тем, что использует новейшие технологии, которые может предложить рабочий стол Linux, и в то же время ее можно использовать. Это делает его идеально подходящим для Вейланда, у которого все еще есть некоторые проблемы, с которыми нужно разобраться.
Так как работает последняя версия рабочего стола GNOME
по умолчанию вам не нужно беспокоиться о том, что ваша видеокарта Nvidia не работает. Кроме того, все приложения для него написаны на GTK + 3, которые отлично работают с Wayland. А поскольку Fedora постоянно обновляется, вы получите улучшения своего опыта в Wayland как можно скорее.
После всего этого, возможно, вы захотите еще немного поработать с Xorg. По большей части, Wayland разработан для того, чтобы облегчить разработку — выгоды для конечных пользователей приходят позже, когда эта разработка окупается. И на данный момент есть способ пойти до этого.
Вы пробовали Wayland? Вы видите, как это окажется улучшением? Расскажите нам, что вы думаете об этом важном событии в мире Linux.
Кредиты изображений: TravelMediaProductions / Shutterstock
Источник
Использование Linux с Wayland? Что нужно знать
Многие аспекты Linux дистрибутивов постоянно меняются, но некоторые компоненты существуют уже десятилетия. Одним из таких компонентов является X Window System (известной прежде всего как X), не один год ведется работа по созданию замены, которая будет более быстрой и безопасной. Эта замена – Wayland.
Wayland уже давно появился и некоторые операционные системы на базе ядра Linux приняли его в качестве протокола дисплея по умолчанию. Если у вас еще нет, есть шанс, что это случится совсем скоро. Вот что значит использовать Linux с Wayland.
Что такое Wayland?
Архитектура X
Архитектура Wayland
Изображения предоставлены: Freedesktop.org
Wayland – это протокол, который сообщает программам, как они должны отображаться на вашем экране, основываясь на ваших действиях (таких как перемещение окна или нажатие кнопки). Технически, Wayland не является заменой X-сервера сам по себе – Wayland определяет только способ, которым такой дисплей-сервер должен взаимодействовать с этими приложениями.
Wayland полагается на стороннего разработчика, известного как композитор Wayland, который будет выполнять роль сервера дисплея. Примеры включают в себя Mutter и KWin (соответственно, рабочих столов GNOME и KDE Plasma). Wayland пытается упростить связь с сервером отображения, делая дальнейшую разработку проще и быстрее.
Х существует уже давно и неуклонно продолжает строится. Что касается Wayland, как и многие технологии “будущего”, у него есть некоторые недоработки, но наряду с дисплейными серверами, которые его реализуют, Wayland набирает свои обороты. На данный момент, есть несколько вещей, которые нужно знать, чтобы сделать его гораздо более плавным.
Избегайте GTK+ 2 или Qt 4 приложений на Wayland
Большинство приложений Linux, с которыми вы общаетесь ежедневно, написаны для одного из двух графических наборов инструментов: GTK+ и Qt. Эти платформы выступают в роли клиентов для сервера отображения, запрашивая объекты, которые будут отображаться на вашем экране. Тем не менее, эти запросы должны быть поняты в первую очередь и это зависит от набора инструментов.
В результате на рабочих столах Wayland могут работать только некоторые типы программ. Например, программы GTK+ 3 также могут работать правильно. То же самое может быть написано в Qt 5 (инструментарий, на котором основан рабочий стол Plasma).
При этом, если вы попытаетесь открыть, скажем, приложение Qt 4, у вас будет хороший шанс его запустить. Wayland делает это, запуская X-сервер за кулисами, чтобы слушать приложения, которые он не может понять. Однако это может привести к более высокому использованию памяти и немного более низким скоростям. Плюс, есть некоторые вещи, которые этот подход просто не может сделать в данный момент.
Некоторые приложения несовместимы с Wayland
Wayland и X разработаны по-разному, поэтому некоторые приложения, которые работают с X, просто не смогут работать на Wayland.
Рассмотрим приложения, изменяющие цвет экрана, такие как Redshift и f.lux. Эти приложения фильтруют синий свет от вашего дисплея в зависимости от времени суток. Они работают с использованием расширений X, таких как RandR, который предоставляет программам простой способ попросить X изменить отображение вашего экрана.
В то время как Wayland предоставляет средства для воссоздания этой способности, он зависит от каждого композитора Wayland, чтобы фактически реализовать её. Это означает, что хотя одна среда рабочего стола может поддерживать что-то вроде Redshift (например, функцию GNOME Night Light, показанную выше), эта функциональность не обязательно доступна в другом месте.
Вы можете столкнуться с подобными проблемами с программным обеспечением для записи экрана. В качестве функции безопасности сервер отображения Wayland блокирует приложения от записи экрана. Нельзя сказать, что запись экрана на Wayland принципиально невозможна. Разработчики работают над реализацией этой функции другим способом.
Композитор – это необходимость
Композиция – это метод, который помогает предотвратить разрыв экрана и артефакты. Это делается путем сохранения копий вашего дисплея в памяти, обычно с помощью вашей видеокарты. Таким образом, даже если приложения перестают отвечать на запросы, вашему серверу отображения все равно будет с чем работать. Компоновка также обеспечивает анимацию окон и тени.
Wayland разработан, чтобы сделать этот процесс намного более эффективным, чем X, сделав его обязательным. X имеет композитинг в качестве дополнительной функции, через расширение под названием Xcomposite. Но из-за того, как это реализовано, это занимает немного больше времени по сравнению с Wayland.
При этом, композитинг может привести к некоторым проблемам. Композиция приводит к немного более низкой производительности программ, таких как игры. В X большинство рабочих столов выключают композитинг, когда приложение работает в полноэкранном режиме. Но многим Wayland-композиторам все еще нужно это реализовать. Если вы заинтересованы в использовании графически увесистых программ на рабочем столе Wayland, это очень важно иметь в виду.
Nvidia может не работать с Wayland
Более конкретно, если вы используете собственный графический драйвер Nvidia, Wayland, вероятно, не будет работать для вас. Это связано с проблемой композитинга выше. Чтобы заставить этот процесс работать, ваш графический драйвер должен определенным образом общаться с компиляторами Wayland.
Видеокарты Intel и AMD не имеют этой проблемы, поскольку они используют ожидаемый стандарт, называемый GBM (Generic Buffer Management). Nvidia считает, что их способ общения с Wayland, называемый EGL, лучше и поэтому они придерживается этого.
Эта проблема может быть решена двумя способами: драйверы Nvidia реализуют GBM или композиторы Wayland реализуют EGLStreams. В настоящее время Nvidia, похоже, не заинтересована в поиске первого решения.
Как использовать Wayland
На данный момент большинство дистрибутивов Linux дают вам возможность установить Wayland, но по-прежнему используют X по умолчанию. Вы можете выполнить поиск Wayland в репозиториях вашего дистрибутива, выйти из рабочего стола и выбрать Wayland при повторном входе.
Fedora была одним из первых дистрибутивов, которые воспользовались этой тенденцией и уже несколько лет используют Wayland по умолчанию. Fedora известна тем, что использует новейшие технологии, которые могут предложить Linux дистрибутивы и в то же время, весьма удобна в использовании. Но Fedora не одна.
Некоторые дистрибутивы, которые предоставляют Wayland по умолчанию
- Fedora
- Debian
- openSUSE Tumbleweed
- PureOS
- Red Hat Enterprise Linux
- SUSE Enterprise Linux
Почему больше дистрибутивов не переключились? Многие ждут решения еще нескольких вопросов. Многие люди рассчитывают использовать собственный графический драйвер Nvidia, чтобы получить наиболее оптимальный игровой опыт. Некоторые хотят записать свой экран для создания подкастов или потокового видео в интернете.
Учитывая, что сервер отображения не является чем-то, что большинство из нас замечает, дистрибутивы не стремятся создавать такие заметные проблемы в обмен на выгоды, которые, хотя и реальны, существуют в основном за кулисами.
Источник