1

关于我正在做什么以及我想要完成的一些背景是我编译了没有工具栏和背景的韦斯顿,所以它只是一个黑屏。我这样做是因为当我运行命令时:

$ weston &
$ ./pure-qml -platform wayland

在从 Qt 启动纯 qml 示例之前,它将以黑屏而不是桌面启动 weston 窗口管理器。

我的最终目标是一起跳过韦斯顿,只需从命令行启动纯 qml 示例,而无需运行韦斯顿。

如果我运行,从 qtwayland 示例:

./qwindow-compositor &
./pure-qml -platform wayland --single

它失败,无法创建显示(文件或目录丢失)。我的理解是 qt 有一个 Wayland 合成器。

我如何创建一个使用 Wayland 后端并创建一个屏幕的 qt 独立应用程序,就像从命令行启动 weston 一样。

4

2 回答 2

1

我的理解是 qt 有一个 Wayland 合成器。

在 qtwayland 模块中,只有一个示例合成器,向您展示如何使用 qtwayland 提供的基类来创建自己的合成器。

我如何创建一个使用 Wayland 后端并创建一个屏幕的 qt 独立应用程序,就像从命令行启动 weston 一样。

由于 Wayland 的服务器-客户端架构,您必须在客户端之前启动服务器端。在您的应用程序中调用 wl_display_connect() 之前,您需要在 Qt 应用程序中分叉您的合成器(服务器端)。

于 2016-07-25T04:28:29.840 回答
1

pure-qml 是一个合成器

所以你只需要在你喜欢的平台插件上运行它,它通常是eglfs,即

./pure-qml -platform eglfs

然后运行客户端

./myclient -platform wayland
于 2018-01-23T14:58:45.360 回答