Answers:
为什么不选择Wayland / Weston?
首先显而易见的是:Wayland是协议定义,它定义客户端应用程序应如何与合成器组件进行通信。它涉及诸如曲面创建/破坏,图形缓冲区分配/管理,输入事件处理以及用于外壳组件集成的粗糙原型之类的领域。但是,我们对协议定义的评估表明,Wayland协议不符合我们的要求。首先,我们的目标是提供一种更具扩展性的输入事件处理,以考虑3D输入设备(例如Leap Motion)等未来的发展。请注意,尽管Wayland的输入事件处理不受X的输入事件处理语义所引入的安全性问题的困扰(感谢Daniel Stone和KristianHøgsberg指出这一点)。关于移动用例,我们认为输入方法的处理也应反映在显示服务器协议中。再举一个例子,我们认为协议的外壳集成部分是特权的,我们宁愿避免在面向客户端的协议中定义任何类型的外壳行为。
但是,我们仍然认为Wayland标准化客户端和显示服务器组件之间的通信的尝试非常明智和有用,但是由于我们的不同要求,我们决定采用以下架构进行协议集成:
与协议无关的内核,定义明确,经过测试和可移植。外壳和前端防火墙一起使我们能够将显示服务器移植到任意图形堆栈,并将其绑定到多种协议。
总之,我们没有选择Wayland / Weston作为提供下一代用户体验的基础,因为它不能完全满足我们的要求。更重要的是,通过与协议和平台无关的方法,我们可以确保我们达到跨平台和设备外形一致,美观的用户体验的目标。但是,可以通过为我们的显示服务器提供特定于Wayland的前端实现或通过提供最终与Mir对话的libwayland的客户端实现来添加Wayland支持。
这里有更详细的讨论:https : //wiki.ubuntu.com/Mir/Spec?action=show&redirect=MirSpec
来自Mir技术架构师:
http://samohtv.wordpress.com/2013/03/04/mir-an-outpost-envisioned-as-a-new-home/
更多信息:
乔诺·培根(Jono Bacon)的问答已经回答了几次。他的最新答案是在这里:
http://www.youtube.com/watch?v=6Oa2psAewtg&feature=share&t=56m36s
从我从乔诺(Jono)的问与答(Q&A)之类的东西以及波佩(Popey)对Linux Unplugged的评论中收集的信息来看,这些要点可以总结如下: