Что такое ubuntu на wayland
Ubuntu Wiki
Wayland
*** We are no longer moving to Mir and now switching back to Gnome-Shell which already has a wayland implementation in it. This section likely needs a lot of review. It was originally written for moving Unity to Wayland ***
Wayland and Ubuntu
What is Wayland?
Wayland is a new protocol that enables 3D compositors to be used as primary display servers, instead of running the 3D compositor as an extension under the (2D) X.org display server.
Or, in layman’s terms, it assumes you’re using a 3D desktop from the start, instead of bolting on 3D capabilities to an 2D framework.
See the Wayland website for more details.
Is Ubuntu dropping X?
No, X will be retained for backwards compatibility. It will be run inside the Wayland/Unity instance when needed.
When will Wayland become the default on Ubuntu?
This has not been decided. This decision will be made at a future Ubuntu Developer Summit (UDS).
It’s possible we’ll roll it out for some limited scope initially, since it may take time before it’s adequately supported across a broad enough range of hardware.
What is the reason for making Wayland? Why does X have to be replaced?
These days we only use a fraction of what X was originally designed to do. X11, by definition, is a big protocol of rendering primitives and font management and lots of other stuff. Most of that stuff we don’t really need or use in modern desktops.
At the same time, with today’s 3D-centric desktops, toolkits, and window managers, the compositor is a critically important piece and in the future will likely become a hard requirement, yet in X11 it is limited to being merely an out-of-process extension to the X server.
Thus Wayland, from a high-level view, is about making the compositor the central process and the X server the optional add-on you can activate for legacy X applications.
Will video drivers need to be rewritten for Wayland?
No. Most of the open source drivers have been undergoing rewrites in recent years to support KMS, GEM, and other modern graphics technologies which move more of the graphical functionality into the Linux kernel. Wayland leverages (and requires) these technologies; indeed the whole reason Wayland can exist is because of these changes. But those changes were underway for X in general. In the future Wayland and X will both be using the same graphics drivers.
What about the graphics drivers still in X?
Graphics drivers such as Intel, Nouveau, and Radeon include both kernel drivers and an X driver. With Wayland we only need the kernel drivers. Under the KMS/DRM/GEM architecture, that’s where most of the real functionality is, such as modesetting, memory management, and graphics rendering. The remaining bits on the X side of things are used just to interface with the X server and aren’t needed by Wayland.
Can Wayland be used with the closed source proprietary graphics drivers?
No, not at this time. fglrx, nvidia, psb, and other closed source drivers are developed externally to X.org and externally to Ubuntu. As far as we know, work to update them to conform to the new KMS/GEM/etc. architecture is not planned (at least, not publicly) and would need to be done before they could be used under Wayland.
psb already is capable of mode setting. I (adamw) don’t know if it can share buffers.
What about network transparency?
The X11 protocol was designed around running graphical apps across the network. While some people use this feature, it’s far from common. Wayland drops this requirement as a way to greatly simplify its architecture.
There are other ways to share graphical sessions and applications across a network. Wayland also permits running an X11 server inside itself, so you also always have the option of just running X11 clients on top of the server.
Another possible idea is discussed here: NetworkTransparency.
Will toolkits (Qt, GTK+, etc.) need to be ported to work on Wayland?
Yes. This is an area of heavy development currently. The toolkits must be ported as one of the pre-requisites to getting existing applications running on Wayland. Much progress has been made on Qt, GTK+, Clutter, SDL, and EFL.
Will applications need to be rewritten or modified to work on Wayland?
Yes, due to the technical design differences of the Wayland protocol compared with X11, changes need to be made to client applications. In some cases, a simple recompilation using Wayland-enabled GTK+/Qt will be enough; in other cases minor changes are needed; in a few cases where extensive X11 functionality is used directly in the app, it will necessitate more extensive porting work.
I have more questions not answered here
In case you still have questions after that, this is a wiki, so add your questions above this one.
Wayland (последним исправлял пользователь nio-wiklund 2017-10-31 20:24:59)
The material on this wiki is available under a free license, see Copyright / License for details.
Использование 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
Как включить и отключить Wayland в Ubuntu
Главное меню » Ubuntu » Как включить и отключить Wayland в Ubuntu
Если вы хотите протестировать Wayland, понять, что это такое, прежде чем использовать, или научитесь включать и отключать его в Ubuntu, это руководство окажется ценным в той или иной мере.
В этой статье будет рассказано, что такое Wayland, как он работает, а также как включать и отключать его в вашей системе Ubuntu.
Что такое Wayland
Лучший способ определить Wayland – это назвать его протоколом, используемым составными оконными менеджерами для связи с клиентом и библиотекой C протокола Wayland.
Диспетчер окон композитинга, в просторечии сокращенный до композитора, представляет собой диспетчер окон, который предоставляет приложениям внеэкранный буфер для каждого окна. Композитор может взаимодействовать с графикой и оконной системой, создавая:
Композитор, реализованный по протоколу Wayland, может быть сервером отображения, работающим на ядре, X-приложении или клиентом Wayland, таким как бесконтактные или полноэкранные X-серверы, другие серверы отображения или базовые приложения.
Первоначальная команда разработчиков-добровольцев, которые помогли разработать протокол Wayland, создала его как более простую и быструю замену X. Технология X11 была сервером отображения по умолчанию, используемым в большинстве сред Linux Desktop. Однако из-за различных проблем на сервере X11, включая уязвимости безопасности и проблемы с производительностью, команда под руководством Кристиана Хогсберга разработала Wayland в качестве альтернативы.
Почему Wayland
По сравнению с другими серверами отображения, протокол отображения Wayland безопасен и быстр. Wayland определяет каждое приложение как клиент, а графический процесс – как сервер. В отличие от X11, Wayland позволяет каждому приложению использовать протокол в автономном режиме.
Поскольку Wayland обрабатывает каждое приложение в отдельном сеансе протокола, это повышает производительность, поскольку серверу не нужно управлять всеми приложениями одновременно. Вместо этого требуемые приложения рисуют отдельные требуемые элементы.
Разработка Wayland улучшилась, добавлено больше функций, таких как XWayland, которая позволяет пользователям работать с приложениями Wayland на базе X11.
На изображении ниже показана архитектура Wayland.
Как включить и отключить Wayland в Ubuntu
За прошедшие годы, отчасти благодаря активной команде разработчиков и сообществу, некоторые дистрибутивы Linux приняли Wayland и позволяют включать его при входе в систему.
Чтобы включить Wayland в Ubuntu, выполните следующие действия:
Для этой статьи у вас должны быть права суперпользователя для редактирования определенных файлов. В статье также предполагается, что вы используете GNOME в качестве среды рабочего стола по умолчанию.
Отредактируйте: file /etc/gdm3/daemon.conf
Найдите в файле следующую запись #WaylandEnable = false.
Раскомментируйте запись, чтобы отключить Wayland, или оставьте без комментария, чтобы включить Wayland.
Закройте, сохраните файл и перезапустите gdm с помощью команды:
Вы также можете применить изменения, перезагрузив систему.
Чтобы использовать Ubuntu поверх Wayland, щелкните значок настроек в меню входа в систему, выберите «Ubuntu on Wayland» и затем войдите в систему. Убедитесь, что вы включили Wayland, оставив строку в приведенном выше файле без комментариев.
Заключение
Это руководство дало вам представление о том, что такое протокол Wayland, как он работает, а также как включать и отключать его в Ubuntu.
На прощание имейте в виду, что это не руководство по протоколу Wayland или справочное руководство. Цель состояла в том, чтобы познакомить вас с протоколом Wayland, показать, как он работает, и как вы можете включать и отключать его в системе Ubuntu.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Wayland на замену X Window System
В предыдущем посте мы узнали, почему X Window System — один из самых успешных проектов с открытым кодом в истории, пора заменить на новое решение для графического окружения Linux. В этой же статье мы узнаем, каков из себя Wayland — наиболее вероятный кандидат на замену X.
Глоссарий Wayland
Имеет смысл сначала разобраться с некоторыми определениями и терминологией.
Compositor — Композитный оконный менеджер является одним из центральных понятий Wayland и вокруг него. Нигде толком не определено, что это такое, но термин этот используется так, как будто все всё знают. Во всяком случае на русском языке никакого определения я так и не нашел. К счастью примеры-таки проясняют суть дела. Вот их список в контексте Wayland:
Как мы видим, это не что иное как знакомые нам оконные менеджеры, хотя на самом деле нет. Это дисплейные сервера, которые все-таки отличаются по своему функционалу от WM. Первые взаимодействуют с пользовательскими устройствами ввода-вывода, с железом, управляют потоком данных клиентских программ. Вторые же отвечают за отображение окон и их размещение в системе оконного интерфейса.
Иллюстрация со страницы в википедии.
Композитный менеджер, он же дисплейный сервер может обозначаться еще как композитный оконный менеджер.
Weston — Эталонный дисплейный сервер протокола Wayland. Недавно вышла вторая версия КОМ-а.
EGL — платформонезависимый эквивалент программных интерфейсов OpenGL GLX/AGL/WGL, разрабатываемый Khronos Group. EGL предоставляет инфраструктурный набор для быстрой настройки приложения и инициализации сцены.
EGL в отличие от GLX/AIGLX умеет выполнять лишь direct rendering, в котором приложения через DRI2/DRI3 могут безопасно и быстро получать доступ к видеоаппаратуре минуя X сервер.
GLES — Подмножество OpenGL, разработанное специально для встраиваемых систем — мобильных телефонов, планшетов, компьютеров, игровых консолей.
Архитектура Wayland
Итак, что представляет собой Wayland? Так же как и в случае с X Window System, речь идет о протоколе и его реализации. Wayland — это протокол взаимодействия между КОМ и клиентами, а также его библиотечная реализация в Си. В роли клиента может выступать пользовательское приложение, X сервер или другой дисплейный сервер.
Wayland — асинхронный протокол, объектно ориентированный и нацеленный на обработку сообщений. Сообщение, передаваемое от клиента серверу, есть вызов, а в обратную сторону — событие. Каждое сообщение состоит из 32-битных слов, значения представлены в порядке следования байтов хоста.
Как взаимодействуют эти блоки?
А как происходит рендеринг? Клиенты самостоятельно производят отрисовку своих окон в отдельном буфере, передавая информацию об обновлениях дисплейному серверу, который комбинирует содержимое буферов разных приложений для формирования итогового вывода с учетом возможных нюансов, таких как перекрытие окон и прозрачность.
Wayland vs. X
Ошибочные суждения об X и Wayland
Существует ряд устойчиво неправильных мнений на сей счет.
Использование Linux с Wayland? Что нужно знать
Многие аспекты 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 по умолчанию
Почему больше дистрибутивов не переключились? Многие ждут решения еще нескольких вопросов. Многие люди рассчитывают использовать собственный графический драйвер Nvidia, чтобы получить наиболее оптимальный игровой опыт. Некоторые хотят записать свой экран для создания подкастов или потокового видео в интернете.
Учитывая, что сервер отображения не является чем-то, что большинство из нас замечает, дистрибутивы не стремятся создавать такие заметные проблемы в обмен на выгоды, которые, хотя и реальны, существуют в основном за кулисами.