openKylin wlcom正式开源!Wayland显示合成器革新之作
通用Linux操作系统显示服务协议,经过近30年的发展,正处于从X11到Wayland的技术换代阶段,当前基于Wayland协议的合成器虽取得了一定成果,但依然存在功能不完善、安全性弱、代码架构复杂、升级困难等问题。
wlcom是一款基于wlroots的Wayland合成器,以实现高性能、高安全、易维护为目标,具有渲染性能高、安全性高、生态兼容好、功能可灵活定制、第三方依赖少等技术特性。其基本架构如下图所示:
wlcom是openKylin 2.0的默认Wayland合成器,与kwin合成器相比,其主要特性提升如下:
优化渲染流程,过滤不可见surface,删除damage重复区域,减少渲染次数,并采用混合渲染方式对窗口装饰及多个damage进行批量渲染,提高渲染效率与渲染性能。如同时运行100个终端程序,CPU使用率wlcom比kwin明显降低。 摒弃现有开发框架,既不依赖KDE、GNOME等成熟桌面环境,也不依赖QT、GTK等UI工具包,仅依赖pixman、libdrm等基础库,解决现有合成器组件相互依赖所导致的升级维护困难问题,实现灵活升级。
https://gitee.com/openkylin/kylin-wayland-compositor
● wlroots, wayland, libinput, xkbcommon
● libseat, libdrm, libsystemd, librsvg-2.0
● cairo, pango, pangocairo, pixman-1
● gbm, json-c, libudev
依赖安装可通过apt进行(配置了deb-src源)
apt build-dep kylin-wayland-compositor
编译选项见meson_options.txt,简单的编译指令:
meson setup build -Dbuildtype=debugoptimizedninja -C buildmeson install -C build --skip-subprojects
程序参数如下:
"Usage: kylin-wlcom [options] [command]"" -h, --help Show help message and quit.\n"" -d, --debug Enables full logging, including debug information.\n"" -D, --debug <options> noxwayland or logtostdout.\n"" -s, --session <process> Run session on startup\n"" -v, --version Show the version number and quit.\n"" -V, --verbose Enables more verbose logging.\n"
通过-D参数可以方便运行时调试, 支持参数如下:
-Dnoxwayland 关闭xwayland支持-Dlogtostdout 将日志打印到stdout-Dloginmtime 使用monotonic time输出日志
默认情况下,日志打印到文件$HOME/.log/kylin-wlcom.log。
openKylin Wayland SIG小组由社区理事长单位麒麟软件发起成立,致力于新一代图形显示服务器相关技术研究,包括Wayland合成器、X兼容等,提供Wayland相关软件包的技术规划、设计、开发、维护和升级服务,共同推动新一代图形服务器技术发展及落地。
邮件列表: wayland@lists.openKylin.top SIG主页: https://gitee.com/openKylin/community/tree/master/sig/Wayland