Ответы:
Почему не Уэйленд / Уэстон?
Первое очевидное пояснение: Wayland - это определение протокола, которое определяет, как клиентское приложение должно взаимодействовать с компонентом композитора. Он касается таких областей, как создание / уничтожение поверхности, распределение / управление графическим буфером, обработка входных событий и примерный прототип для интеграции компонентов оболочки. Однако наша оценка определения протокола показала, что протокол Wayland не соответствует нашим требованиям. Во-первых, мы стремимся к более расширяемой обработке входных событий, которая учитывает будущие разработки, такие как устройства ввода 3D (например, Leap Motion). Однако обратите внимание, что обработка входных событий в Wayland не страдает от проблем безопасности, связанных с семантикой обработки входных событий X (спасибо Дэниелу Стоуну и Кристиану Хегсбергу за то, что указал на это). Что касается мобильных вариантов использования, мы считаем, что обработка методов ввода должна быть отражена и в протоколе сервера дисплея. В качестве другого примера, мы рассматриваем части интеграции оболочки протокола как привилегированные, и нам лучше избегать какого-либо поведения оболочки, определенного в протоколе на стороне клиента.
Тем не менее, мы по-прежнему считаем, что попытка Wayland стандартизировать связь между клиентами и компонентом сервера дисплея является очень разумной и полезной, но из-за наших различных требований мы решили использовать следующую архитектуру в отношении интеграции протоколов:
Внутреннее ядро, не зависящее от протокола, чрезвычайно четкое, проверенное и переносимое. Внешняя оболочка вместе с брандмауэром frontend, который позволяет нам портировать наш дисплейный сервер на произвольные графические стеки и связать его с несколькими протоколами.
Таким образом, мы не выбрали Wayland / Weston в качестве основы для предоставления пользовательского опыта следующего поколения, поскольку он не полностью отвечает нашим требованиям. Более того, с нашим подходом, независимым от протоколов и платформ, мы можем быть уверены в том, что достигаем нашей цели - обеспечить единообразное и прекрасное взаимодействие с пользователем для разных платформ и форм-факторов устройств. Однако поддержка Wayland может быть добавлена либо путем предоставления реализации внешнего интерфейса, специфичного для Wayland, для нашего сервера отображения, либо путем предоставления реализации libwayland на стороне клиента, которая в конечном итоге общается с Миром.
Более подробное обсуждение здесь: https://wiki.ubuntu.com/Mir/Spec?action=show&redirect=MirSpec
А от Мирского технического архитектора:
http://samohtv.wordpress.com/2013/03/04/mir-an-outpost-envisioned-as-a-new-home/
Больше информации:
Jono Bacon на Q и A ответил на это несколько раз. Его последний ответ здесь:
http://www.youtube.com/watch?v=6Oa2psAewtg&feature=share&t=56m36s
Из того, что я собрал из подобных вопросов и ответов Jono, и комментариев Popey к Linux Unplugged, эти моменты можно обобщить следующим образом: