Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Графические оболочки Линукс

Дорога к Wayland: готовимся к жизни "после X"

Оригинал: "The way to Wayland: Preparing for life After X"
Автор: Joe 'Zonker' Brockmeier
Дата публикации: November 17, 2010
Перевод: Н.Ромоданов
Дата перевода: декабрь 2010 г.

Верный способ взбудоражить пользователей и разработчиков Linux — это предложить заменить проверенные и надежные технологии на новые и еще не опробованные. Особенно, если заменить что-то важное, например, X на Wayland, что может произойти в Ubuntu по предложению Марка Шаттлворта. Реакция на пост Марк Шаттлворта, а также комментарии и вопросы, появившиеся после этого в списках рассылок для разработчиков, показывают, что роль Wayland не столь хорошо понятна в более широком сообществе Linux. Переход на Wayland не столь надуманный, как это можно было первоначально предположить.

Так что же это такое? Wayland - это не "новый X-сервер" для Linux, как об этом первоначально сообщалось. Wayland - это название протокола и реализованного по лицензии MIT композитного менеджера, который может работать как автономный дисплей-сервер или как клиент под X. Самое важное то, что когда Wayland работает самостоятельно, он позволяет отказаться от нескольких слоев в архитектуре системы и уменьшает ее сложность.

Как поясняется в документе, описывающем архитектуру Wayland ( Wayland architecture document), система X работает поверх ядра Linux и, в сочетании с композитным менеджером, она, по сути дела, добавляет лишний слой между ядром, оборудованием и композитным менеджером. При использовании X, окна и их содержимое направляются в отдельные буферы, а затем в буфере кадров в Compiz, в Kwin или в ином композитном менеджере выполняется их "композиция". При использовании Wayland все это будет происходить в единственном дисплей-менеджере.

Wayland работает непосредственно поверх ядра, и позволяет клиентским приложениям осуществлять рендеринг напрямую без использования промежуточного слоя. В Wayland используется прямой рендеринг через OpenGL или OpenGL ES. В X добавляются еще слои, что сказывается на производительности системы. Как пишет Марк Шаттлволрт, мы ставим на Wayland как на будущее для Ubuntu и Unity, поскольку "мы не верим, что в X можно создавать такой пользовательский интерфейс, как мы хотим, с супер гладкой графикой и эффектами".

Первоначальная реакция и обсуждение, связанные с Wayland, несли в себе нечто большее, чем оттенок озабоченности. В большей мере это было связано с совсем недавним сообщением о замене X на Wayland в Ubuntu. Как отметил Андрей Хейли (Andrew Haley) в списке рассылки для разработчиков Fedora, нет никаких конкретных причин для беспокойства:

Выглядит это так, как будто бы группа несмышленышей, которые никогда не пользовались приложениями X с дистанционным доступом, решили, что нам это больше не потребуется, и нам более важны такие особенности kewl, как плавный скроллинг и вращение всякой 3D-всячины. Кажется, это не так, и нам не следует беспокоиться. Сумасшедших, на самом деле, не выпускали из больницы.

Больница остается под присмотром. Wayland - не новая идея. Он был начат Кристианом Хогсбергом (Kristian Høgsberg) в 2008 году как "секретный" проект. Детище Хогсберга было разрекламировано на сайте Phoronix, что вызвало непродолжительное возбуждение в кругах Linux, а затем все вернулось в прежнее состояние и проект практически игнорируется в большом мире Linux.

Но те, кто связан с разработкой X, изредка задумываются об использовании Wayland. В прошлом году на Саммите Linux Foundation Collaboration Summit, Кейт Паккард (Keith Packard) говорил, что из-за переноса механизма конфигурирования устройств из системы X в ядро произошел переворот "графического стека с ног на голову". Благодаря этому открылась возможность использовать другие системы, например, Wayland. В этом году на конференции Linux Plumbers Conference Кейт Паккард также высказался, что эпоха "после X", возможно, уже рядом, упомянул о Wayland, как о возможной замене X, и о системе X, работающей в роли клиента.

Но почему бы просто еще раз не расширить возможности X? С помощью расширений можно добавить то, о чем не предполагали в начале разработки. Wayland, как это указано в FAQ, позволяет "убрать систему X как прослойку между клиентами и аппаратным обеспечением и сделать ее просто одним из специальных приложений". В частности, важно то, что X можно использовать в качестве клиента. Как в списке рассылок для разработчиков Fedora указывает Адам Джексон (Adam Jackson), потребуется только портировать приложения X в клиентские приложения, предназначенные специально для работы с Wayland. Либо эти приложения можно будет запускать в Wayland в его внутреннем сервере X "и вы никогда не обнаружите разницы". Обратите внимание, что Wayland также может работать как клиент X, что будет удобно для разработки и тестирования в переходный период.

Может быть, лучше взглянуть на Wayland как на благоприятную возможность, а не как на потенциальную проблему. Например, система X не особенно дружественна к полноэкранным 3D-играм, хотя сейчас многие игры в X работают хорошо. А в случае с Wayland, как указывает Кристиан Хогсберг, можно будет просто перейти к конкретным проблемам полноэкранных игр и решать вопросы с настройкой режимов и с обработкой указателей.

Wayland также поможет реализовать горячую смену графических процессоров, которая сейчас отсутствует в X. Поскольку для экономного расходования ресурсов системы многие устройства поставляются с более чем одним GPU, пользователи захотят, чтобы в Linux поддерживалось переключение GPU.

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

Как упомянул Кейт Паккард в обсуждении на конференции Linux Plumbers Conference, еще одной проблемой альтернативных систем является ввод данных. Нужно решить проблемы с отображением клавиш, выполнением прочих действий (например, использованием клавиатуры для перемещения курсора мыши) и обслуживанием более сложных входных устройств, таких как сенсорные панели.

Помимо общего отсутствия готовности самого Wayland, в Wayland также не хватает драйверов. Компания Nvidia уже однозначно заявила, что ее не интересует Wayland, хотя в этом вопросе брешь может закрыть фирма Nouveau. В Wayland можно использовать драйвера KMS для ATI, Intel, Nvidia с открытым кодом, но как быть с кучей нового видеооборудования, используемого в устройствах ARM? У нас есть масса новых видеоустройств, для которых нет драйверов с открытым кодом и никто не пытается их разрабатывать.

Также стоит вопрос о том, кто выполнит работу по подготовке Wayland. Работы по Wayland до сих пор выполнялись и в ближайшем будущем будут выполняться под покровительством Red Hat и Intel. Кристиан Хогсберг, когда он начал работу над Wayland, был сотрудником Red Hat, а в настоящее время работает в Intel. У фирмы Canonical в настоящее время нет ресурсов для работы над Wayland. Тед Гулд (Ted Gould ) из фирмы Canonical выполнил импорт дерева git для Wayland в Launchpad с тем, чтобы облегчить создание пакетов. Но он утверждает, что ему не известен кто-либо непосредственно, кто бы в фирме Canonical работал над проектом Wayland:

Большая часть наших усилий направлена на то, чтобы новое, что мы создаем (Unity, uTouch и т.д.), было совместимо с будущим без X11. Похоже, что поворот в этом направлении, безусловно, произошел еще тогда, когда Кейт Паккард выступил на конференции Linux Plumbers Conference.

Что касается меня, то наибольшее беспокойство, связанное с Wayland, у меня вызывают графические драйверы, и я думаю, что с этим мог бы частично помочь блог Марка Шаттлворта. Если указывать общее направление движения, то другие компании будут знать, куда мы двигаемся. Я надеюсь на успех, в противном случае переход (который, кажется, неизбежен) будет очень болезненным.

Пользователям, которым не терпится попробовать последние разработки, связанные с Wayland, стоить посмотреть инструкции по компиляции или добавить репозитарии PPA, в которых находятся тестовые пакеты "xorg crack pushers" для установки Wayland на Maverick (10,10) и на Natty (11.04). Весьма вероятен выход системы из строя. Разработчики заинтересованы в проверке своего результата и приглашают всех помочь им в этом. Wayland является частью проекта freedesktop.org и для доступа открыт репозитарий git.

Пройдет некоторое время, прежде чем кому-то потребуется осуществить переход. Пост Марка Шаттлворта возродил к этому вопросу внимание, Кристиан Хогсберг снова стал более активно работать над Wayland. Но хотя Кристиан Хогсберг не одинок, разработчиков все еще не так много. Марк Шаттлворт отметил, что потребуется год, прежде чем можно будет серьезно рассматривать вопрос о переходе Ubuntu к Wayland. В проекте Fedora пакет Wayland, вероятно, будет уже в релизе F15, но вопрос о том, когда он будет использоваться по умолчанию, завис в воздухе. Адам Джексон утверждает, что у "клики" спецов, имеющих дело в проекте Fedora с графикой, "еще даже нет полного списка критериев перехода, не говоря уже о временных оценках использования Wayland по умолчанию". Кажется, поворот к тенденции на замену X уже произошел, но мы все еще далеки от осуществления этой замены.


На нашем сайте опубликованы еще 2 статьи на тему будущего графического интерфейса в Linux: