Wayland — это новый графический сервер, разрабатываемые в Intel и изначально нацеленный на MeeGo, наделал много шума, когда Марк заявил, что хотел бы использовать Wayland вместо Xorg в Ubuntu.
Что я могу сказать по этому поводу. Концептуально архитектура wayland вполне очевидно, и предлагалась ещё лет пять назад, когда в Xorg были тучи архитектур XGL, AIGLX и иже с ними. Когда оказалось, что ряд операций лучше выполнять в обход XRender, появился XComposite. Связанные с этим глюки, например, невозможность одновременной работы видеооверлеев и AIGLX привела к довольно длительным возведеням костылей внутри драйверов видеокарт, что не могло понравиться разработчикам.
И вот в 2007 году Tungsten Graphics представила новую архитектуру драйверов, в которой разделила драйвер на две части — DRI и DRM, в одном из которых были собраны все функции вывода графики, а в другом все функции собственно видеокарты — разрешение экрана, выбор голов монитора и так далее. В результате иксы стали работать следующим образом — графика, как и раньше, шла через протокол X11, а 3D графика через XComposite (GLX), который отправлял её напрямую в DRI. Иными словами, чтобы ускорить выполнение композитных операций, в архитектуру была добавлена боковая ветвь, работающая в обход. Такой подход работал, но пускать Compiz по сети уже не представляется возможным. Ну оно особо и не нужно было…
Идея Wayland проста — реализовать XComposite режим как основной режим работы графического сервера, при этом реализация протокола X11 производится в отдельном процессе. То есть то, что раньше было боковой ветвью, станет основной сервера, а X11 станет боковой ветвью. Это позволяет, во-первых, сильно упростить код самого графического сервера, а может быть, даже сделать реализацию X11 независимой, тогда её проще будет перевести в X12, но это уже очень дальняя перспектива. Во-вторых, главное, это позволит использовать архитектуру Gallium3D как есть — без лишней в данном случае сущности X11. В то же время, программы, работающие по протоколу X11 по прежнему будут поддерживаться через отдельный процесс совместимости.
Таким образом, Wayland позволит, с одной стороны, оптимизировать архитектуру графического сервера, и упростить процесс написания драйверов (т.е. он обяжет производителей драйверов использовать Gallium3D и ничего больше), а с другой — сохранит совместимость с X11 ради устаревших приложений и поддержки работы по сети. Кроме того, Wayland позволит как угодно переделать способ локального взаимодействия с приложениями, что, собственно, и было заявлено, и, теоретически, даст прирост в производительности и сократит время отклика. Плюс, на момент написания Wayland уже будут написаны драйверы для оборудования и будут работать все приложения.
Из потенциальных проблем — возможна потеря совместимости части приложений с протоколом X11, если они будут поддерживать только Wayland. Существующим тулкитам это не грозит, поскольку выкидывать X11 никто не собирается, но в будущем это возможно.
1 Comment »
http://keinkeinkein.livejournal.com/2848.html
Тему раскрыл. Вейланд не лучшая идея.
Придется, видимо, на дебиан-тестинг переходить…