问题标签 [qtwayland]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1736 浏览

linux - 如何在没有像 weston 这样的平台的情况下从终端启动 qt Wayland 合成器

我一直在使用 Qt Wayland 插件为 linux 开发显示管理器。我尝试在终端会话上运行我构建的显示管理器,但它显示为

我知道这是因为我没有在 Wayland 合成器上运行它。但是我尝试构建您给出的 Wayland 合成器示例,它在我的桌面上运行时工作正常,但是当我从终端运行它时,我收到了同样的问题。那么如何在不使用 --platform xxxx 的情况下从终端启动 qtwayland 合成器

我想知道 weaston 如何在没有任何平台支持的情况下自行从终端启动,我能否像那样启动 qt wayland 合成器?

0 投票
3 回答
356 浏览

qt - QtWayland 客户端在 Raspberry Pi 4 上失真

我正在尝试使用此处找到的示例创建一个非常简单的 Wayland 合成器,如下所示:

然后我正在创建一个单独的客户端应用程序,它只创建几个矩形作为测试。

一切似乎都简单明了。但是当我在我的 Pi4 上运行它(使用-platform wayland标志)时,客户端会出现疯狂的失真,如下所示: 截屏

我正在使用 Boot2Qt 对其进行测试,它是一个 yocto linux 映像。我已经尝试过 Qt 版本 5.14.2 和最新的 5.15.0,结果相同。控制台上没有错误。除了看起来很糟糕之外,没有任何迹象表明有任何问题。

我确实注意到,如果我使用 weston 而不是 QtWayland 作为我的合成器,那么该应用程序看起来很完美。所以这让我觉得 WaylandCompositor 有问题。但是我在谷歌上的搜索发现没有其他人抱怨同样的事情。

我什至不知道该尝试什么。有人有什么想法吗?

0 投票
0 回答
221 浏览

qt - 使用 Debian 和 QT UI / dotnet 核心进行通信准备 I.MX 8 Nano 进行开发

我正在尝试使上述开发系统正常工作,我从 Varicsite NANO 计算模块开始。我正在尝试开发 QT 5 设置。我一直找不到关于如何做到这一点的好的 Debian 指南。我最终希望 QT 应用程序在没有 Weston 桌面的情况下以 kiosk 模式运行。

我使用他们为 IMX8 板构建 Debian 的说明构建了 Debian。它运行良好 Weston 在启动时出现。我在目标设备上安装了以下软件包。sudo apache2 php jq curl qtwayland5 gdb gdbserver

我试图按照他们的指南让 QT 为 YOCTO(而不是 Debian)工作,但没有让它工作。QT 已安装,但他们的 Debian 构建没有附带完整的 sdk。他们也没有详细说明需要安装的所有软件包。我也尝试过遵循本指南,但它是为 RPI 和 X11 而不是 Wayland/Weston 编写的,因此某些步骤似乎是错误的,尤其是在它希望您安装的所有软件包中。 https://mechatronicsblog.com/cross-compile-and-deploy-qt-5-12-for-raspberry-pi/

有没有关于如何做到这一点的好指南,我正在考虑尝试通过使用他的台词来设置 rsync 等来组合这两个指南,但是如果没有正确的 qmake,我仍然没有完整的 SDK。

我的主机系统是 UBUNTU 16.04

0 投票
0 回答
94 浏览

qt - 如何控制每个窗口表面的 FPS?

在我的程序中,有 QtWaylandCompositor,每个屏幕包含两个窗口。

我想控制每个窗口表面的最大 FPS。一个屏幕执行最高 30 FPS 和另一个最高 60 FPS。因此,我正在寻找一种解决方案,例如QT_QPA_UPDATE_IDLE_TIME不是针对流程而是针对窗口。


QPlatformWindow 子类可以重新实现此功能以提供显示刷新同步更新。

我正在尝试重新实现QPlatformWindow::requestUpdate https://code.woboq.org/data/symbol.html?root=../qt5/&ref=_ZN15QPlatformWindow13requestUpdateEv,但我不知道如何将自定义QPlatformWindow类放入QQuickWindow. https://code.woboq.org/qt5/qtbase/src/gui/kernel/qwindow.h.html#_ZNK7QWindow6handleEv

0 投票
1 回答
50 浏览

qt - 什么是 WaylandView?

我阅读了https://doc.qt.io/qt-5/qml-qtwayland-compositor-waylandview.html#details但仍然无法理解什么是 WaylandView。我试图查看 WaylandView 是如何工作的,但找不到哪种类型。

我还尝试了 WaylandQuickItem,它看起来像WaylandView. 但无法理解其中的区别,为什么让 WaylandView 在 QML 中注册但无法创建实例?它是用来做什么的?

0 投票
0 回答
65 浏览

qt - Qtwayland eglfs输入在没有root的情况下不起作用

我正在尝试运行 qtwayland 合成器,除非我以 root 身份运行程序,否则鼠标和键盘在 eglfs 平台上不起作用。

问题是我需要使用该合成器启动一个 Wayland 会话,但我无法使用 root 访问权限运行它,我还尝试了普通的 qt 程序,但它们的输入不适用于-platform eglfs.

我该如何解决这个问题?

我也在使用 Qt 5.12.10 版。

0 投票
0 回答
934 浏览

qt - QtCreator 无法在 Wayland 上启动

我在 Debian 11 (sid) 上使用 Wayland 会话。通过 .sh 脚本从他们的网站安装了 QtCreator,但它没有启动。从终端中的“~/Qt/Tools/QtCreator/bin”目录运行时,我得到:

警告:忽略 Gnome 上的 XDG_SESSION_TYPE=way​​land。无论如何,使用 QT_QPA_PLATFORM=wayland 在 Wayland 上运行。qt.qpa.plugin:在“”中找不到 Qt 平台插件“wayland” 此应用程序无法启动,因为无法初始化 Qt 平台插件。重新安装应用程序可能会解决此问题。

可用的平台插件有:eglfs、linuxfb、minimal、minimalegl、offscreen、vnc、xcb。

中止

试过了

还尝试安装 qt 6.0.3 和 5.15。

不走运,qtcreator 没有启动。

0 投票
0 回答
171 浏览

yocto - 如何修复此错误“sources/meta-qt5/recipes-qt/qt5/qtwayland_git.bb:do_configure) failed with exit code '1'”

我正在使用 NXP L5.10.9 SDK,在构建 qtwayland 包时出现以下错误。日志显示该项目需要drm,有什么想法可以帮助吗?

0 投票
1 回答
68 浏览

qt - 如何在我创建的 Qt Wayland 合成器中打开像 firefox 这样的 gui 应用程序

我创建了一个示例 Qt Wayland 合成器,QML 代码如下所示:

--platform wayland我知道我可以在命令之后使用打开一个摆动窗口。如何在 Wayland 合成器中打开其他软件窗口(例如 Firefox)?

(我不了解显示服务器和 Wayland 合成器的基础知识。我认为我创建的合成器就像一个窗口管理器,我在其中打开的应用程序应该在合成器中打开,因为它在窗口中打开经理)。

0 投票
0 回答
13 浏览

startup - 延迟 Wayland 套接字访问

我正在开发一个项目,我想在 Weston 启动后立即使用 Weston 和一个 Wayland 客户端(myapp)试图连接到它。

以下是我的启动脚本中的几行。

我已经正确设置了环境变量“XDG_RUNTIME_DIR=/tmp/mydir”。Weston 和 Wayland 客户端都可以访问“XDG_RUNTIME_DIR”中设置的路径。

因此,weston 将套接字创建为“PATH/wayland-0”。但是尝试连接到此的客户端失败并出现错误“没有这样的文件或目录”。

在此https://unix.stackexchange.com/a/539011/514997之后,我尝试在客户端(myapp)启动和韦斯顿启动之间添加 2 的睡眠,它工作正常。

我的问题是:

  1. 为什么需要这种睡眠?我知道客户端尝试连接时套接字文件不可用。但这对于 Weston 和 Wayland 客户来说正常吗?
  2. 创建套接字文件需要多少时间?
  3. 有没有比使用睡眠更好的解决方案。

PS:使用 Wayland 的 QT 应用程序观察到相同的问题。