改进 Xwayland 窗口调整大小

主要观点:通过调整应用程序窗口大小来确定其是否使用 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,但部分不支持会有问题。
阅读 88
0 条评论