Lighthouse是QtGui的一个Window System Agnostic移植(使得QtGui不了解它在什么窗口系统上运行,把处理逻辑交给了Lighthouse的插件)。
Lighthouse直到前段时间还没有的一个特性是它没有提供在服务器和客户端同时运行Qt时的多进程的解决方案,这对于嵌入式设备是很重要的。虽然现在Qt当中有QWS(开发嵌入式Qt程序时使用的一个窗口系统,类似X Windows的C/S结构,从而保证Qt程序的的可移植性)。但是QWS并不是一个正式的协议,从而使得QWS的服务器和客户端是紧密耦合的。
因此如果有一个现成的协议可以利用的话,就会省下Qt开发者的不少功夫,然后他们最终发现Wayland(严格说来Wayland也是一个协议)正是他们所需要的。
在过去的几个月里Qt的几名开发者都在研究Wayland,然后他创建了一个新的实验室项目Qt-Compositor,这个项目的目标是作为一个基础层让其他人完成他们自己的Wayland compositor。Qt-Compositor抽象了所有Wayland Compositor所需要的通信。
其实我想很多人关心的重点其实就是Qt现在也有一个可以demo下的Wayland支持啦。虽然开发者们更多提到的是嵌入式系统,大概也就是想让Lighthouse替代以前的QWS,Wayland在Qt嵌入式的下一步也有着重要的作用。
Lighthouse在去年10月底的时候决定和Qt的master合并,评论里面不少人其实在催xcb支持(X的c语言绑定),后面也回复有xcb现在也正在开发中。lighthouse看来将成为Qt的移植性/跨平台的下一步。
来源:
http://labs.qt.nokia.com/2011/03/18/multi-process-lighthouse/
关于wayland的介绍,我就扔两篇tualatriX的blog了做参考了:
CuteQt Blog » Blog Archive » 转载:Qt Lighthouse & Wayland