39 使用 Wayland 和 Weston
Wayland 是一种计算机显示服务器 协议,使合成窗口管理器能够直接与应用程序及显示硬件通信,并要求它们通过其他 库与输入硬件通信。在支持的目标上使用 Wayland,可以比应用程序通常采用的方式 更好地控制图形帧的渲染。
Yocto Project 发行版提供 Wayland 协议库和参考合成器
Weston。这些集成软件包
位于 OpenEmbedded-Core (OE-Core) 的 meta 层,构建 Wayland 和
Weston 的配方具体位于 meta/recipes-graphics/wayland。
只有支持 Mesa 3D 和直接渲染基础设施 (也称 Mesa DRI)的目标,才能构建并使用 Wayland 和 Weston 软件包。例如, 如果目标使用替代 Mesa DRI 的 Intel Embedded Media and Graphics Driver (Intel EMGD),就无法构建和使用这些软件包。
备注
由于缺少 EGL 支持,Weston 1.0.3 无法直接运行在 QEMU 模拟硬件上, 但该版本可以在 X 模拟环境下正常运行。
本节介绍为受支持目标构建镜像时,如何实现 Wayland 并使用 Weston 合成器。
39 在镜像中启用 Wayland
启用 Wayland 需要同时启用其构建,并将其包含(安装)到镜像中。
39 构建 Wayland
要让 Mesa 构建 wayland-egl 平台,并让 Weston 构建支持内核模式设置
(KMS)的 Wayland,
请在发行版 configuration file 的 DISTRO_FEATURES 语句中
加入 "wayland" 标志:
DISTRO_FEATURES:append = " wayland"
备注
如果在其他位置启用了 X11,Weston 会构建带有 X11 支持的 Wayland。
39 安装 Wayland 和 Weston
要将 Wayland 功能安装到镜像中,必须在发行版 configuration file 中添加以下 CORE_IMAGE_EXTRA_INSTALL 语句:
CORE_IMAGE_EXTRA_INSTALL += "wayland weston"
39 运行 Weston
要在 X11 中运行 Weston,只需按前文所述启用它并构建 Sato 镜像。如果镜像运行 在 Sato 下,"Utility" 分类中会出现 Weston 启动器。
也可以通过命令行解释器(CLI)运行 Weston,这更适合开发工作。镜像构建完成后, 按以下步骤操作:
运行以下命令,导出
XDG_RUNTIME_DIR:mkdir -p /tmp/$USER-weston chmod 0700 /tmp/$USER-weston export XDG_RUNTIME_DIR=/tmp/$USER-weston
在 Shell 中启动 Weston:
weston