Wayland 显示服务器

最后更新: 2025-12-31 01:50:01 +0800 +0800
原文以英文撰写。您正在阅读AI翻译版本。

Wayland 是一种显示协议,专为同一内核上的本地客户端和合成器而设计。 工具包的 Wayland 后端使用 libwayland-client 连接到 Unix 套接字,通常为 $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY,例如 /run/user/1000/wayland-0。

协议模型 #

客户端和合成器针对表面、缓冲区和输入座席等带编号的对象交换类型化请求与事件。 XML 协议定义用于生成编组存根。客户端渲染到由共享内存或 DMA-BUF 支持的 缓冲区中,并将这些缓冲区提交给合成器;合成器负责组合表面并控制输出设备和输入。 因此,Wayland 合成器整合了 X11 服务器、窗口管理器和合成器中通常彼此独立的角色。

核心协议没有 TCP 传输机制;远程显示解决方案会提供各自的传输和安全模型。 运行时目录和显示套接字属于安全边界,因此不应将它们挂载到不受信任的容器中。

Xwayland 兼容性 #

Xwayland 运行一个嵌套在 Wayland 合成器下的 X 服务器。它通过 X11 Unix 套接字接受旧版 X11 客户端,并将其窗口转换为 Wayland 表面。原生 Wayland 应用程序不需要 Xwayland,但对于使用 libX11 或其他仅支持 X11 的工具包后端的 应用程序,Xwayland 仍然很重要。

评论

在 GitHub 上阅读或评论(发表评论需要登录)