qtwayland一直说无法在yocto中创建显示

时间:2015-04-14 14:02:32

标签: qt qt5 yocto wayland qtwayland

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

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

运行我的应用程序
source ~/App/Wayland/wayland.sourceme
~/helloworld -platform wayland

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

甚至在做     export DISPLAY =:0.0 也不起作用。

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

2 个答案:

答案 0 :(得分:1)

来自Qt Wiki

  

以Wayland客户端身份运行Qt应用程序

     

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

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

source ~/Apps/Wayland/wayland.sourceme
cd qtwayland/examples/qml-compositor
./qml-compositor -platform xcb

答案 1 :(得分:1)

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

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

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

  1. 在运行Qt应用程序之前运行一个wayland compositor(weston)。
  2. 编译qml-compositor并在运行Qt应用程序之前运行它。
  3. 在这两种情况下,如果您希望应用程序作为一个Wayland客户端运行,则必须运行合成器。

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