Использование Linux с Wayland? Что нужно знать

GTKLinuxQtWaylandX Window System

Многие аспекты Linux дистрибутивов постоянно меняются, но некоторые компоненты существуют уже десятилетия. Одним из таких компонентов является X Window System (известной прежде всего как X), не один год ведется работа по созданию замены, которая будет более быстрой и безопасной. Эта замена — Wayland.

Wayland уже давно появился и некоторые операционные системы на базе ядра Linux приняли его в качестве протокола дисплея по умолчанию. Если у вас еще нет, есть шанс, что это случится совсем скоро. Вот что значит использовать Linux с Wayland.

Что такое Wayland?



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, чтобы получить наиболее оптимальный игровой опыт. Некоторые хотят записать свой экран для создания подкастов или потокового видео в интернете.

Статьи по теме


Учитывая, что сервер отображения не является чем-то, что большинство из нас замечает, дистрибутивы не стремятся создавать такие заметные проблемы в обмен на выгоды, которые, хотя и реальны, существуют в основном за кулисами.

Источник: MakeUseOf