Pull to refresh

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

Он уже готов? Хочу попробовать!


Проект еще не готов встать на замену X, но уже его можно испытать.
Первым делом глянуть сюда — http://wayland.freedesktop.org
Git-репозитарий находится тут — http://cgit.freedesktop.org/wayland
PPA тут — https://launchpad.net/~xorg-edgers/+archive/wayland
Инструкции по сборке тут — http://wayland.freedesktop.org/building.html

Подводя итог, хочу сказать, что wayland — это светлое будущее, к быстрее прийти к которому, можете помочь именно Вы, $username!
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.