Про вейленд.

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 никто не собирается, но в будущем это возможно.

Поделиться:
  • Добавить ВКонтакте заметку об этой странице
  • Мой Мир
  • Facebook
  • Twitter
  • LiveJournal
  • MySpace
  • FriendFeed
  • В закладки Google
  • Google Buzz
  • Яндекс.Закладки
  • LinkedIn
  • Reddit
  • StumbleUpon
  • Technorati
  • del.icio.us
  • Digg
  • БобрДобр
  • MisterWong.RU
  • Memori.ru
  • МоёМесто.ru
  • Сто закладок
  • Блог Я.ру
  • Блог Li.ру
  • Одноклассники
  • Add to favorites
  • Blogger
  • email
  • Netvibes

1 comment

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.