更稳定高效、更广泛兼容,openKylin Wayland SIG 成功研发 wlcom 合成器

近日,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

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/261552

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。