Ubuntu wayland что это
Wayland. Что за зверь? Вопросы и ответы.
Читая Хабр, я много раз натыкался на упоминания о загадочном Wayland, о котором мало что писали конкретного, просто давали ссылку на http://wayland.freedesktop.org (кстати, это официальный сайт).
Поискав на Хабре информацию о нем, честно, очень удивился, не найдя ничего информативного (а может быть плохо искал), и решил написать статью, рассказывающую об этом проекте.
Так что же такое «Wayland»?
Wayland — новая система отображения графики для Linux, которая может, впоследствии, заменить X.org. Разработка Wayland начата Кристианом Хогсбергом (Kristian Høgsberg) в 2008 году как «секретный» проект, затем wayland всплыл на сайте www.phoronix.com, немного пошумел в узких кругах и, снова, вернулся в прежнее состояние.
Лирическое отступление
X.org уже давно испытывает проблемы, как всем уже давно известно. К тому же, думаю Вы все читали эту статью, так что не буду описывать вопросы типа: «А почему бы не допилить X?», «Зачем создавать велосидублировать работу?», «Что не так с X.org?»
По сути
Wayland НЕ ответвление X.org’а, а новый, самостоятельный проект, использующий современные достижения GNU/Linux, например управление памятью или шрифтами, которые уже переданы в ядро или специальные библиотеки fontconfig, cairo, pixman, freetype, pango и другие. По сути, wayland — это компоновщик окон, всю работу выполняют клиенты, например wayland-приложение «рисует» собственное окно в предопределенной области памяти, а wayland только компонует окно, получив ивент от приложения. Так же, к задачам wayland относятся управление визуальными эффектами и направление входных команд пользователя соответствующим клиентам.
Аргументы?
— Ускорение графики
— Групповая работа с GPU
— Фишки с игровой стороны, а именно обеспечение полноэкраного режима, не блокирующего остальную часть рабочего стола, а так же, более простая и «легкая» работа с 3D-играми
Кто в этом заинтересован?
Естественно, сами разработчики
Ubuntu, пруфлинк
Fedora. пруфлинк
Intel и Nokia операционной системе MeeGo, пруфлинк
А как же приложения X?
Wayland и ее сможет обеспечить. Иксовое приложение выдает серверу запрос на отрисовку окна, и тот будет рисовать его в выделенной области памяти, обращаясь к wayland’у, то есть X-сервер можно использовать в качестве клиента wayland, для работы X-приложений
Сие означает, что на переходных этапах не должно возникнуть больших усилий для перехода.
Разницу Вы не почуите ©
А как же сетевая прозрачность?
К сожалению, wayland такое не умеет, потому что большинству оная фича не нужна, а для тех, кто в ней нуждается, могут использовать VNC, RDP, или просто работать с X. Хотя, разработчики предлагают сделать сетевой клиент wayland, в будущем.
Тем самым проект не будет тащить монстрообразный багаж модулей/расширений/кода X.org’а для удовлетворения нужд того меньшинства.
Выходит, что надо переписать все приложения под wayland?
Нет, надо всего-лишь передописать общие библиотеки Gtk и Qt.
А минусы есть?
Конечно, помимо сетевой прозрачности так же, будут проблемы с поддержкой старого железа, но незначительные — потеря будет измеряться в паре процентов от доступного списка устройств.
Так же, трудно сказать будут ли писать NVidia проприетарные драйвера с поддержкой wayland.
Ниасилил. Вкратце можно?
Wayland — это отказ от лищних слоев между ядром, оборудованием и композитным менеджером, чем, по сути, сейчас и является X.org. В Wayland используется прямой рендеринг через OpenGL или OpenGL ES, тем самым увеличивая быстродействие и отзывчивость графики в linux, чего, по крайней мере, мне очень не хватает. Думаю, Вы с этим согласитесь.
Проект выпускается под лицензией MIT, часть кода под GPL
Он уже готов? Хочу попробовать!
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
Существует ряд устойчиво неправильных мнений на сей счет.
Как включить и отключить 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.
Использование 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, чтобы получить наиболее оптимальный игровой опыт. Некоторые хотят записать свой экран для создания подкастов или потокового видео в интернете.
Учитывая, что сервер отображения не является чем-то, что большинство из нас замечает, дистрибутивы не стремятся создавать такие заметные проблемы в обмен на выгоды, которые, хотя и реальны, существуют в основном за кулисами.
Ubuntu wayland что это
В преддверии выхода Ubuntu 17.10, в которой по умолчанию используется Wayland, поговорим об этом протоколе для организации графического сервера в Linux и других UNIX-подобных операционных системах. А также разберём, зачем Wayland пришёл на замену Xorg.
Графическая система Linux оставалась в своей сути неизменной с 1993 года. Xorg (до 2004 года он назывался XFree86) — это та реализация графической системы, которая лучше всего соответствует инженерной направленности Linux. Она построена по архитектуре «клиент-сервер», может отрисовывать окна на удалённых машинах, её функциональность легко нарастить расширениями.
Но такой подход заложил и слабые места, которые ярко проявились в наше время многоядерных вычислений, сложной графики и множества устройств ввода. Сейчас Xorg — это рядовая программа, через которую проходит вся графика и данные от клавиатур, мышей, джойстиков, тачпадов, и т. д. Существование такой монолитной прослойки порождает уйму проблем:
Как с этим бороться?
Были попытки создать X12 (нынешняя реализация Xorg обозначается как X11), но скоро разработчики Xorg поняли, что проще всё выкинуть и сделать с нуля, заложив современные возможности в самую основу протокола. Так был начат проект Wayland — начала его компания Intel, которая активно участвует в развитии Linux.
Wayland — протокол общения приложений с композитным менеджером. Композитный менеджер это почти всегда менеджер окон: Weston, KWin, Mutter, Compiz, и т. д. Он напрямую использует ресурсы видеокарты, взаимодействуя с ядром. Сам протокол Wayland включает в себя только работу с поверхностями — окнами, панелями, виджетами. То, что внутри панели, рисует сама программа.
Так исчезает надобность в графическом сервере типа того, что виден в диспетчере задач под именем Xorg (в некоторых дистрибутивах — просто X). Как следствие, отрисовка становится очень быстрой и плавной, при этом нагрузка на оборудование — минимальна. Особенно сильно разница заметна на слабом «железе», например, на Raspberry Pi.
Когда же Wayland придёт в Linux?
Разработка Wayland длится больше 5 лет, но до сих пор он применяется лишь на некоторых смартфонах. Но в ближайшем будущем следует ожидать начала массового прихода Wayland на компьютеры пользователей. Ведь, с одной стороны, KDE и Gnome уже готовы для работы на Wayland, с другой — Nvidia, наконец, реализовала полноценную поддержку протокола в своём драйвере.
На память приходит дистрибутив Fedora, в котором используется Wayland, а теперь еще и Ubuntu 17.10 (следующие версии также будут на Wayland). Но в Ubuntu 17.10 всё еще доступны две сессии, как Xorg, так и Wayland. Так как проблем с новым дисплейным сервером ещё достаточно, нельзя совсем отказываться от Xorg в данный момент.
Wayland не единственная альтернатива Xorg — для Ubuntu разрабатывался протокол Mir, на который планировалось перевести окружение Unity. Он также избавляет графическую систему от посредничества X-сервера. Mir не был готов для использования и Canonical отказались от собственного варианта, как отказалась от своего upstart и перевела Ubuntu на systemd. И сейчас Mir разрабатывается исключительно для IoT устройств (интернет вещей). А Ubuntu возвращается на Gnome и начинает использовать протокол Wayland с версии 17.10.