近日,openKylin 社区Wayland SIG成功研发了基于wayland协议的合成器Kylin wayland-compositor(简称wlcom),实现了操作系统图形栈底层核心子系统的进一步突破。
图形显示系统是人机交互的核心模块,目前广泛使用的X-Window(也常称为X或X11)显示系统,最初由麻省理工学院1984年研发,历经近40年的修补与扩展,代码量庞大,维护困难,设计也已略显“陈旧”。
X显示系统中窗管与合成器是两个独立组件,通信开销大,且存在窗口内容与合成器不同步的问题,容易造成图像撕裂;X客户端可篡改其他X客户端窗口属性及显示内容,安全性不强;合成管理器必须主动向X显示服务获取所有客户端图像数据进行图像合成,导致图像显示延迟风险增加。
针对X中的上述缺陷,开源社区于2008提出了替代方案—wayland显示服务器协议。该协议下,wayland合成器与wayland显示服务合为一个整体组件,通信开销低;客户端之间的输入和输出隔离,提高了客户端的安全性;客户端页面刷新时,合成器只处理数据有更新的区域,提高了显示合成效率。
鉴于wayland相对X的巨大优势,目前国际通用linux发行版本已经把wayland合成器作为默认的显示服务器。但目前社区开源wayland合成器在兼容性及稳定性方面存在不足。一方面大多数基于X协议编写的游戏、图形密集型等专业应用程序在wayland环境上兼容性较差,同时wayland各桌面环境定义了大量的私有协议,协议扩展难;另外,虽然wayland项目已经进行了十余年,在使用上仍然不够稳定,存在各种问题。
为解决上述问题,openKylin社区Wayland SIG基于wlroots研发了wayland合成器—wlcom,其整体框架如下图所示:
目前,wlcom已基本完成与UKUI核心组件融合,适配兼容主流媒体类、社交类、办公类等X应用。关于wlcom更多细节,敬请关注openKylin公众号。
关于Wayland SIG
openKylin Wayland SIG小组由麒麟软件有限公司发起成立,致力于新一代图形显示服务器相关技术研究,包括wayland合成器、X兼容等,提供wayland相关软件包的技术规划、设计、开发、维护和升级服务,共同推动新一代图形服务器技术发展及落地。
-
邮件列表:
wayland@lists.openkylin.top
-
SIG主页:
https://gitee.com/openkylin/community/tree/master/sig/Wayland