0

目前我正在尝试使用 qtwayland 在 yocto 上创建一个 qt5 应用程序。我使用了 core-image-minimal 并添加了 wayland、weston、qtwayland、qtbase 插件等。我添加了 ~/Apps/Wayland/wayland.sourceme 并设置了 weston.ini。

现在我可以启动weston并进入weston桌面,打开终端并运行我的helloworld应用程序就好了。但是当我杀死韦斯顿或重新启动系统以以root身份返回终端时。我通过做来运行我的应用程序

source ~/App/Wayland/wayland.sourceme
~/helloworld -platform wayland

我无法创建显示(没有这样的文件或目录)

即使做 export DISPLAY=:0.0 也不起作用。

我也跟着https://wiki.qt.io/QtWayland没有运气。我如何使用 -platform wayland 或任何其他平台运行我的应用程序。

4

2 回答 2

3

您正在尝试使用 wayland 平台插件运行 Qt 应用程序。这使您的 qt 应用程序作为 wayland 客户端运行。

现在要运行 Wayland 客户端,应该运行一个 Wayland 合成器。

现在有两种方法可以做到这一点,

  1. 在运行 Qt 应用程序之前运行 wayland 合成器 (weston)。
  2. 在运行 Qt 应用程序之前编译 qml-compositor 并运行它。

在这两种情况下,如果您希望应用程序作为 Wayland 客户端运行,则必须运行合成器。

如果你只想全屏运行你的应用程序,你也可以使用 eglfs 平台插件而不是完全使用 Wayland。

于 2015-04-20T13:30:25.667 回答
1

来自Qt 维基

将 Qt 应用程序作为 Wayland 客户端运行

当你构建 QtWayland 模块时,你应该得到一个新的 Wayland 平台插件。要使用它,您必须首先运行 Wayland 合成器。

如果您不想使用外部合成器,请按照“使用 Qt5 创建和运行您自己的 Wayland 合成器”中的说明进行操作。例如,您可以运行 QmlCompositor:

source ~/Apps/Wayland/wayland.sourceme
cd qtwayland/examples/qml-compositor
./qml-compositor -platform xcb
于 2015-04-17T20:02:02.710 回答