深入解析 X Window System 与 Wayland:架构、性能与应用对比
1. Wayland 核心接口
Wayland 协议当前版本的接口存于一个 XML 文件中,该文件也是 Wayland 的源代码。它列举了当前版本 Wayland 现有的接口,以及这些接口的请求、事件和属性。任何 Wayland 合成器(如 Wayfire)都必须实现这些接口。
2. 窗口系统对比
理解 Wayland 架构及其与 X 系统差异的一个好方法,是跟踪一个从输入设备到屏幕显示变化的事件流程。
2.1 X Window System 的事件/请求循环步骤
- 内核接收并传递事件 :内核通过 evdev 输入驱动从输入设备获取事件,并将其发送给 X 服务器。内核负责驱动设备,并将不同设备特定的事件协议转换为 Linux evdev 输入事件标准。
- X 服务器确定事件接收窗口 :X 服务器确定事件影响的窗口,并将事件发送给在该窗口上选择了该事件的客户端。但 X 服务器并不清楚如何正确处理,因为窗口在屏幕上的位置由合成器控制,可能存在多种 X 服务器无法理解的变换(如缩小、旋转、晃动等)。
- 客户端响应事件 :客户端查看事件并决定如何响应。通常,用户界面会根据事件进行更新,例如点击复选框或鼠标指针进入按钮时需要高亮显示。客户端会向 X 服务器发送渲染请求。
- X 服务器处理渲染请求 :X 服务器接收到渲染请求后,将其发送
超级会员免费看
订阅专栏 解锁全文
1779

被折叠的 条评论
为什么被折叠?



