主要观点:通过调整应用程序窗口大小来确定其是否使用 Xwayland 是快速方法之一,6.3 的目标之一是修复 Plasma Wayland 会话中的视觉故障,介绍了 X11 帧同步协议及在 Xwayland 中的情况,包括基本和扩展帧同步协议,以及_NET_WM_SYNC_REQUEST与 Xwayland 的关系,多数 GTK 和 Qt 应用支持该协议,但仍有不支持的应用会出现视觉故障,KWin 是少数能正确处理 Wayland 上 X11 窗口帧同步的合成器之一。
关键信息:
- 调试时调整窗口大小可判断应用是否用 Xwayland。
- 6.3 旨在修复视觉故障。
- X11 有基本和扩展帧同步协议。
- Wayland 合成器依赖 Xwayland 附接图形缓冲区,导致同步问题。
- 需确保 XSync 请求确认和
wl_surface提交的顺序。 - 多数 GTK 和 Qt 应用支持
_NET_WM_SYNC_REQUEST,部分不支持的会有视觉故障。
重要细节: - X11 窗口更改立即发生,可能导致合成器构图时出现视觉故障。
- 基本帧同步协议中,应用需在客户端窗口属性中列出
_NET_WM_SYNC_REQUEST等。 - 在 Xwayland 中,窗口位置更新时不一定有新尺寸的图形缓冲区。
- 合成器通过设置
_XWAYLAND_ALLOW_COMMITS属性控制wl_surface提交。 - 多数应用支持
_NET_WM_SYNC_REQUEST,但部分不支持会有问题。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。