Wayland、QLauncher(也称为Qt Launcher)和Weston 是在图形界面和显示服务器领域中的三个不同概念和组件。
-
Wayland(韦兰德):Wayland 是一种协议和通信机制,用于在计算机图形系统中实现高效的窗口管理和显示功能。它被设计为替代 X Window System,并提供更好的性能、更低的延迟和更直接的硬件加速支持。Wayland 提供了一种简洁的方式,使客户端应用程序(如窗口管理器、应用程序等)与显示服务器进行交互,以实现图形渲染和窗口管理的目的。
-
QLauncher(Qt Launcher):QLauncher 是基于 Qt 框架开发的一个启动器程序,用于在嵌入式系统中实现图形界面的启动和管理。QLauncher 提供了一个用户友好的界面,可以启动和切换应用程序、管理窗口、显示图标和菜单等。它通常作为系统的默认启动程序或桌面环境的一部分,用于用户交互和应用程序管理。
-
Weston:Weston 是一个参考实现的 Wayland 显示服务器,其目的是为 Wayland 协议提供一个可用的实现示例。Weston 提供了一个完整的窗口管理器和显示服务器,用于处理应用程序的窗口、输入事件和显示输出等。它支持多个不同的渲染后端,如 DRM、OpenGL 等,并提供了一些基本的窗口管理功能,如窗口堆叠、窗口移动和窗口缩放等。
总结:Wayland 是一种图形协议,用于实现高效的窗口管理和显示功能,QLauncher 是一个基于 Qt 的启动器程序,用于嵌入式系统中的应用程序管理和用户交互,而 Weston 则是一个 Wayland 的参考实现,作为 Wayland 显示服务器提供完整的窗口管理和显示功能。这些概念和组件在图形界面和显示技术中扮演着不同的角色和功能。
Weston
是基于
Wayland
合成器的一个实例,开箱即用。
Weston
为无桌面应用场景提供了一个非常基础的桌面或者全功能环境,如汽车,嵌入式,飞机,工业,电话亭,机顶盒和电视等应用场景。同时,它也提供了一个库,允许其他项目以
Weston
为核心来客制化专属的全功能环境。
Weston
最大的特点就是适用性和可靠性。它是快速地,可依赖地。更重要的是,可预测地。当然,
Weston
有一些已知的问题和缺点,我们尽可能的去避免,如帧的显示,会偶现在性能上出现一些抖动峰值。
Weston
提供了一些Demo或案例
Orbital是
Wayland
的合成器和外壳,使用Qt5和
Weston
。 该项目的目标是构建一个简单但灵活且外观漂亮的
Wayland
桌面。 它不是成熟的DE,而是X11世界中WM的类似物,例如Awesome或Fluxbox。
依存
关系
轨道取决于两件事:
Weston
和Qt5。由于它使用QtQuick 2绘制界面,所以它将使用OpenGL,因此建议使用合适的图形驱动程序,否则性能将不佳。 目前,Orbital需要从分支lib
weston
取得补丁的
weston
。 您还需要Qt
Wayland
,它从5.4版本开始随Qt一起提供。 您不需要QtCompositor,平台插件就足够了。 还有一些可选的依赖项:当前,Orbital可以使用KDE Frameworks 5,ALSA和Logined中的Solid,但是如果没有它们,它也可以工作,从而失去了某些功能。 您可以通过向cmake传递一些选
androidQ和androidP上
Launcher
结构有很大区别。LoaderTask从
Launcher
Model中分离出来LoaderTask也没有直接取调用
Launcher
Provider,而是通过
Launcher
Setting.call
Launcher
Setting:工具类,保存
Launcher
中用到的一些静态值,类似于key值。
简单地说,
Wayland
是一套display server(
Wayland
compositor)与client间的通信协议,而
Weston
是
Wayland
compositor的参考实现。其官网为http://
wayland
.freedesktop.org/。它们定位于在Linux上替换X图形系统。X图形系统经历了30年左右的发展,其设计在今天看来已略显陈旧。在X系统中,X Server作为中心...
Wayland
是一套display server(
Wayland
compositor)与client间的通信协议,
而
Weston
是
Wayland
compositor的参考实现。
Wayland
基于domain socket实现了一套display server与client间通信的库(简单的基于例子的介绍可以参见http://blog.csdn.net/jinzhuojun/article/details/40264449),并且以XML形式定义了一套可扩展通信协议。这个协议分为
Wayland
核心
本文简单介绍
Weston
常用的几种 backend 启动方式。目前最新的
Weston
8.0.0 支持如下几种 backend:
drm-backend
fbdev-backend
headless-backend
rdp-backend
wayland
-backend
x11-backend
其中 headless-backend 不带任何 UI 界面,主要用于
weston
自测试,rdp-backend 则用于远程桌面。这两个 backend 本文不做介绍。
weston
参考文档:
https://www.mankier.com/5/
weston
.ini#Screen-Share_Section
https://www.mankier.com/7/
weston
-drm
https://blog.csdn.net/u012080932/article/details/114373675
https://blog.csdn.net/weixin_42892101/article/details/107696652
root@ok5718-idk:~#
Qt
Wayland
是Qt官方基于
Wayland
开发的一款Toolbox,根据其官网介绍基于Qt/QtQuick,使用Qt
Wayland
可以写出一套 Compositor(
Wayland
Compositor)Qt应用可以作为
Wayland
的Client端运行。下图摘自Qt官网,对于Qt与
Wayland
关系
的介绍。如何运行Qt
Wayland
?Qt
wayland
是基于Qt编译的,可以参考Qt
Wayland
官网提供的编译手顺。
基于
wayland
/
weston
源码编译简介下载工具设置环境变量构建
wayland
构建
wayland
-protocols构建
weston
运行
weston
weston
的一些测试程序
官网:https://
wayland
.freedesktop.org/
简单地说,
Wayland
是一套display server(
Wayland
compositor)与client间的通信协议,而
Weston
是
Wayland
compositor的参考实现。其官网为http://
wayland
.freedesktop.o
本文介绍网上资料比较少,搜索不到的一些GUI框架,有EFL(Enlightenment Foundation Libraries),AWTK(Toolkit AnyWhere),
Wayland
/
Weston
,SDL(Simple DirectMedia Layer),DirectFB,LittlevGL,Nuklear