Размер шрифта:

Wayland приходит на смену Х11

Wayland приходит на смену Х11

Периодически человек совершает прорыв в области науки, который резко подстёгивает прогресс. Это может быть что угодно, от открытия электричества до полёта в космос. В данный момент всё сообщество Linux обратило своё, пока ещё настороженное, внимание на новую технологию Wayland. Что она из себя представляет, чем вызван такой ажиотаж вокруг неё? Давайте присмотримся повнимательнее.


Новейший графический сервер, который вскорости придёт на смену Х11, вот что такое Wayland. Не следует смеяться над столь дерзким заявлением. За последний четверть века это, пожалуй, единичный случай, когда X Window System была предложена реальная альтернатива. Х11 появился в 87 году в качестве 11 версии проекта. А уже летом 92 года был успешно перенесён на Linux. Он перестал быть похожим на терминал чёрного цвета, возникло такое понятие как «рабочее пространство».


Абсолютно все графические программы, игры, эффекты Compize — целиком и полностью заслуга Х11, он отвечает за всю графику в Linux. Прошли года, и вот уже новый продукт — Wayland — готов потеснить ставшего нам таким родным Х11. Смешайте вместе такие компоненты как современная архитектура и рационализм — и вы получите новый дисплейный сервер, при чём написанный с ноля. Я постараюсь вам доходчиво рассказать о преимуществах новой технологии, как она устроена и как ею пользоваться. Естественно, я поведаю, как установить Wayland на свой любимый сервер и полностью ему довериться в управлении графикой. Это знание будет полезным, тем более что Fedora и Ubuntu интегрируют данный сервер в свои самые свежие релизы.


По классике дело обстоит так: мышь, клавиатура и монитор представляют собой можно сказать единую связку, и управляются Севрером, а всё остальное называется Клиентом. Программки посылают запросы на Сервер (например, отрисовка окон, движение мышкой, рендеринг и прочее). Целая куча «слоев» отрисовки и прозрачности возложена на Х сервер. И само ядро операционной системы здесь отнюдь не самый главный компонент.

Именно это отличие и лежит в основе нового графического сервера Wayland. В нём, в отличии от Х11, ядро пашет как трудолюбивая пчёлка: от регулировки разрешения экрана до обработки событий мыши и клавиатуры, осуществляемые через evdev, всё возложено на крепкий плечи ядра. Сам сервер Wayland запускается в экранном режиме KMS (Kernel Modesetting), им обслуживаются только окна, он отвечает за их отображение на мониторе, перерисовку, перетаскивание мышкой различных объектов, взаимодействие окон между собой. Содержимое окон выводится напрямую, через OpenGL или библиотеку Cairo, без участия сервера графики. В связи с этим, между приложением и его отображением не экране исчезают за ненадобностью сразу несколько промежуточных слоев абстракции. Теперь графика завязана чисто на само ядро и управляемое им устройство вывода.


Не нужно всматриваться, чтобы увидеть в этом плюсы: плавность воспроизведения видео, более «чистое» 3D, увеличение производительности и время отклика приложений.


Wayland только-только был рожден, потому наиболее стабильной версии этого сервера пока не существует. Но это лишь дело времени. Сегодня данный графический сервер может работать в качестве самостоятельного дисплейного варианта (или как клиент рабочего стола), не требующего никакого Х11. Второй вариант предоставит вам возможность ознакомиться с новой технологией, но ускорения как такового вы не заметите, так как вся работа Wayland будет происходить внутри Х11.


Как бы то ни было, Вайланд уже обзавелся базовыми библиотеками и протоколами. Возникающие проблемы касаются именно приложений-клиентов. Для успешной работы необходимо портировать Qt и GTK на новый сервер. В настоящий момент эта работа успешно ведётся, но целиком пока не перенесена ни одна программа.


Что требуется, чтобы Wayland запустить? Прежде всего это OpenGL-ускорение и KMS. В руках у последнего сосредоточено управление режимом видео. Плюс ко всему, DRI должен поддерживать «page-flipping», иначе сервер не сможет функционировать в штатном режиме. Данное условие на настоящий момент реализовано только для драйверов intel и nouveau. Все остальные пользователи могут лишь запустить Wayland внутри «иксов». Пользователям Nvidia, для работы KMS, необходимо будет удалить проприетарный драйвер и установить драйвер nouveau.


Если посмотреть на зависимости Wayland, то при первом приближении становится ясно из чего он состоит. Так как он активно использует OpenGL, то позаботьтесь заранее об актуальной версии Mesa. Сигналы evdev от ядра должны быть понятны серверу, следовательно, установим библиотеку libxkbcommon. И третий компонент, который у нас должен быть — это Сairo-GL, без него интерфейс Wayland отображаться не сможет. И только после установки всего этого вы сможете наконец-то запустить графический сервер.


В зависимости от дистрибутива, способ установки будет немного отличаться. Есть бинарные пакеты, которые нет необходимости «собирать». Если же это не совсем так, то придется сделать всё своими руками. Да плюс к этому хорошо бы знать заголовочные файлы пакетов, от которых зависит сам Wayland. Вы должны понимать, что именно вы собираетесь сделать, а так же запастись на всякий пожарный бекапами важных данных.


Не так давно прошел слух, что новый графический сервер будет встроен в Ubuntu уже в этом году, начиная с нового релиза. Что бы приступить к проверке новой технологии, перво-наперво нужно взять необходимые пакеты из РРА-репозитория для Ubuntu. Последовательность действий следующая:

  1. Ставим актуальную версию Mesa с DRI вместе.
  2. Следует добавить текущего юзера в группу video, для того, что бы сервер мог функционировать без суперпользователя.
  3. Так добавьте сведения о странице Xorg-Edgers в источники приложений.
  4. Обновите список своих репозиториев.


Вот так, чинно и важно, мы выполнили настроечный минимум не «замарав рук».

Если вы истинный линуксоид, и от бинарных пакетов вам делается нехорошо, давайте попробуем собрать Wayland сами. Про набор инструментария для сборки пакетов из исходников напоминать не буду, за годы сидения в консоле сами всё знаете.


Если вы «сидите» на семействе Debian, вам подойдёт build-essential. Юзеры дистрибутивов Red Hat могут успешно использовать yum. Начиная с релиза 7.9, EGL будет присутствовать в основной ветке Mesa. Потом можно будет просто обновлять указанный пакет, не заботясь о зависимостях.


Следующим шагом компилируем xkbcommon, необходимый для трансляции событий. Если этого не сделать, вы лишитесь поддержки клавиатуры.
Так же понадобиться векторная графическая библиотека, способная поддерживать GL. Как нельзя лучше подойдёт для этой цели Cairo. Если она отсутствует в системе, вам придётся собрать её. Начиная с очередной версии в этой библиотеке будет интегрирована поддержка вывода-GL. После всех терзаний мы можем запустить Wayland. Если у вас перед глазами знакомая картинка, это значит, что Х11 уже работает. И новый сервер может быть запущен только внутри его. Вашей мышкой и клавиатурой будут всё же управлять «иксы». В таком случае KMS вам не потребуется. Чтобы запустить Wayland так, как следует, вам необходимо будет выйти из Х-сервера и запустить консоль.


Проверьте, запущенны ли системные службы (уровень 3), и главным образом KMS. По окончании проверки запускаем новый графический сервер, потом дистанционные приложения.


Если всё прошло успешно, вы увидите несколько окон с цветочками и шестерёнками. По дефолту вы сможете воспользоваться некоторыми тестовыми приложениями. По большому счёту это все программы, которые на данный момент есть для Wayland. С помощью терминала у вас есть возможность стартовать Х-сервер, KDE или Gnome. Такое положение вещей надо будет пережить, ведь и Х11 для MacOS работал подобным же образом.


Самый значительный толчок ожидается от проекта Unity. Она будет внедрятся как среда по дефолту. А если учесть, что она основана на GTK, то это даст обществу разработчиков достаточно глубоко прорабатывать это направление. Как ни было, нас в ближайшем будущем ожидаем довольно много нового и интересного от Linux-сообщества.


Социальные закладки:


Комментарии к этой заметке больше не принимаются.

Рейтинг популярности - на эти заметки чаще всего ссылаются:

апрель, 2011
пн вт ср чт пт сб вс
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30