问题标签 [eglfs]

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 回答
335 浏览

qt - QML ComboBox 在嵌入式系统上崩溃

我在我的程序中添加了一个 ComoboBox 到我的 qml。这在桌面(Ubuntu 和 Win7)上运行良好。一旦我在我的嵌入式 linux 机器(带有 yocto 的 Sabrelight)上部署我的程序,只要我尝试从 ComboBox 打开项目列表,它就会崩溃。

有人遇到过类似的行为吗?知道为什么会这样吗?

0 投票
1 回答
1012 浏览

qt - Qt:截取 EGLFS 窗口的屏幕截图 - 像素完美的相同结果?

我们使用 EGLFS 在没有 X 服务器的嵌入式 Linux 设备上运行 QML 应用程序。所以我不能使用通常的技术来获取屏幕截图(例如使用屏幕截图实用程序)。在这个问题中,我找到了使用QQuickView::grabWindow().

我的问题:这个函数的结果是否保证与用户在屏幕上看到的完全一致?我担心要获取窗口内容,Qt 可能必须使用不同的代码路径(例如渲染到纹理)重新渲染窗口,这可能会导致结果不同。

我也希望您的答案中包含可靠的参考。

0 投票
2 回答
10450 浏览

qt5 - raspberry2 上的 eglfs -- * 未能添加服务 - 已在使用中?

这是我在这里的第一篇文章。

我想保持简短...

以下问题:

我想在树莓派 2b 上使用 eglfs 后端运行 qt5/qtquickcontrols2 应用程序,当然,由 vc4 加速。理想情况下,它应该在 kiosk 模式下运行,并且它肯定需要加速 gl 功能。为了尽量减少问题,我使用以下命令进行了测试:

LD_PRELOAD="/opt/vc/lib/libGLESv2.so /opt/vc/lib/libEGL.so" qmlscene ./gallery.qml

其中 gallery.qml 只是来自 qt-creator 的小部件预览示例项目(遵循这些说明...)。我收到以下错误输出:

我还测试了相同的运行交叉编译的二进制文件 - 同样的错误。除最后一行外,所有内容均来自我通过环境变量设置的 qt5 的详细调试输出,详细信息将在后面介绍。

系统/环境:

  • 树莓派 2b
  • qt-5.7.0
  • Manjaro-ARM(基于 Arch Linux ARM)
  • 所有固件、工具、引导程序、内核都已安装并且是最新的

其他设置...

我的 config.txt

我的 cmdline.txt

printenv 给出以下内容:

您可以看到几个 Qt 特定的设置:调试,使用 eglfs 作为默认后端,最有趣的是: QT_QPA_EGLFS_INTEGRATION=eglfs_brcm这意味着应该使用 Broadcom eglfs 插件。eglfs_brcm我也试过(eglfs_kms只是出于好奇):

这似乎既不是视频核心的问题,也不是 manjaro-arm 的“股票”Qt 的问题。它只是说某些东西可能会被阻止,但是什么?有什么提示吗?

叠加层和驱动程序似乎可以工作,glxgears 在 xfce4 上运行时达到了 ~60FPS。以下也很有趣:

对我来说看起来很像。

我尝试了以下事情:

我玩过 gpu_mem 拆分,尝试了 128 到 448 之间的值。检查 gpu mem 看起来符合预期,但对执行提到的应用程序没有影响。

我还创建了以下 udev 规则以修复我最初遇到的错误

如果没有提到的 udev 规则,我会收到以下错误:

该死的......我现在没有想法......我会很感激每一个可以帮助的小提示......

请不要:

  • anser 阅读了几个文档(我已经花了很多时间)
  • 建议尝试另一个发行版(这不是解决方案)
  • 建议重新刷新我的 SD 卡(也不是解决方案)

谁让 Qt-5.7/qtquickcontrols2/QML 通过 EGLFS 使用 vc4 在 raspberrypi 2 上工作???非常感谢你的每一个面包屑......

0 投票
1 回答
1409 浏览

qt - 在 Mac 上为 Raspberry Pi 上的 EGLFS 进行 Qt 交叉编译

我正在尝试创建一个嵌入在 Raspberry Pi 3 上运行的 Qt 应用程序。我按照本指南进行交叉编译,并且能够在 Pi 上正确运行示例 qopenglwidget。现在我的问题是我想在 Qt Creator 中构建我的 Macbook Pro,但我不知道现在如何部署到设备上。我在网上看到的所有指南都没有解释实际发生的事情,我不知道如何在我的 Mac 上构建交叉编译器。谁能指出我如何做到这一点的正确方向?

0 投票
1 回答
4016 浏览

qt - 带有树莓派 3 的 Qt 5.9 错误 eglfs

我已经从 git 5.9.2 编译了最新版本的 qt,并使用最新的 raspibian (2017-08-16-raspbian-stretch.img) 作为 sysroot。

我以前安装了一些库来使用-opengl es2 进行编译。编译成功,但是当我运行应用程序时出现此错误:

此应用程序无法启动,因为它无法在“”中找到或加载 Qt 平台插件“eglfs”。
重新安装应用程序可能会解决此问题。
放弃

我有所有必要的库,没有任何未找到的依赖项:

我已经很好地安装了 libGLESv2 和 libEGL,并且 libeglfs 可以看到它们,就像用 ldd 解决的一样:

我测试了使用 libqeglfs.so 的位置设置 QT_QPA_PLATFORM_PLUGIN_PATH 但同样的错误仍然存​​在:

此应用程序无法启动,因为它无法
在“/usr/local/qt5pi/plugins/platforms”中找到或加载 Qt 平台插件“eglfs”。
重新安装应用程序可能会解决此问题。
放弃

我需要你的帮助来解决这个严重的问题!谢谢。

关于配置的更新

配置命令:

输出 :

0 投票
2 回答
3170 浏览

linux - Linux下QT5应用的EGLFS和轮换

我代表我的同事想问一下是否可以旋转整个 QT5 (QT 5.6.1-1) 应用程序窗口。我们在运行 Linux 帧缓冲区的 Sitara TI AM335X 平台上使用 EGLFS 作为后端。

目前的情况是这样的:我们有一些应用程序通常从最终用户的角度旋转 90 度。作为临时解决方案,我的同事(此应用程序的开发人员)正在旋转此窗口中的每个元素以实现适当的视觉效果。不幸的是,这种轮换需要大量的 CPU 时间。

我的问题是 - 是否可以顺时针转动整个窗口?我的意思是可以在不旋转窗口中的每个元素的情况下在 EGLFS 或 QT5 级别上执行此操作吗?

我试图交换屏幕的 xy 尺寸(800x480)但没有成功。我还查看了 linux 内核驱动程序源,我认为不可能旋转整个屏幕。我正在考虑在内存中创建另一个缓冲区,我可以将数据与旋转复制到目标内存中,但我不确定这是否是个好主意。

有任何想法吗?

0 投票
1 回答
1425 浏览

qt - 在普通计算机上运行带有 eglfs 插件的 Qt 应用程序

我正在尝试在 Macbook Pro 上使用 Linux Mint 在 EGLFS 下运行 Qt 应用程序。

我有:

  1. 使用所有需要的标志和依赖项配置和编译 Qt。
  2. 尝试在关闭 X11 的情况下运行该应用程序。
  3. 使用 kms 集成。
  4. 安装了所有 Mesa 驱动程序(我有一个英特尔 GPU)。
  5. 甚至自己编译了 EGL。

但它一直说“无法创建 EGL 显示”。有谁知道我错过了什么?

PS例如我可以运行weston-launch,我相信它会在drm-egl上运行。

0 投票
1 回答
284 浏览

c++ - EGLFS QPA 上的输入和字体是互斥的

我在启用了EGLFS QPA的Ubuntu 16.04.3 LTS上构建Qt-5.9.2

我切换到Ctrl+Alt+F1屏幕上的终端。然后我运行我的Qt应用程序app(如果重要,基于Qt Quick):

到目前为止一切顺利:它正常启动,一切看起来都很好。但是Qt不处理触摸屏和鼠标输入。调试输出:

然后我按Ctrl+C

下一步是检查设备文件的文件权限:

好的。我决定将当前用户添加到组input

然后我在Ctrl+Alt+F1屏幕上重新登录。现在groups命令的输出包含input组。

我再次尝试运行我的应用程序:

现在它正确地对鼠标和触摸屏输入事件做出反应,但没有呈现字体 - 甚至没有正确大小的矩形作为占位符而不是相应的字母。

我从组中删除用户input

然后(重新登录后)我尝试只更改输入设备的文件权限:

效果是一样的。回滚:

这种行为的原因是什么?

为什么我不能同时使用libinput和字体?

解决方法是使用 root 权限运行应用程序,但这可能会导致严重的安全漏洞。

是否有libinput解决问题的特定设置?

提供 ad-hoc 字体也没有效果:

0 投票
1 回答
874 浏览

qt - 无法从 eGalax 设备到 QtQuick 应用程序的触摸输入

我正在尝试从eGalax 电阻式触摸设备到运行示例QtQuick2代码的eglfs窗口获取触摸输入。我失败了好几天。触摸屏通过 USB 连接到 Raspberry Pi B,适用于 raspbian jessie 桌面。但是,如果我运行示例 QtQuick2 代码,则应用程序不会获得任何触摸输入。但是,对于示例代码,使用鼠标效果很好。

我已经尝试使用 tsLib 但 ts_test 始终显示 0 用于 x 和 y 坐标。我也尝试使用“./samplecode -plugin evdevtouch:/dev/input/event1”但没有成功。如果触摸屏幕,则会打印输出“未处理的 MSC 事件代码 MSC_SCAN (0x4)”。因此,应用程序或鼠标光标没有响应。

与使用 ./samplecode -plugin evdevmouse:/dev/input/event1" 相同,但在这里可以移动鼠标光标。

一些有用的信息 dmesg:

运行 evtest (在我看来似乎没问题):

也许有人对我有线索。谢谢你的帮助。

0 投票
1 回答
1918 浏览

qt - GStreamer 上的 Qt 覆盖

考虑到当前设置,我有一个问题:

  • Yocto Linux 上iMX6
  • 既不是窗口管理器,也不是显示管理器
  • 一个功能齐全的 Qt 应用程序,在 Debian 9 上测试

该应用程序包含两个主要元素:

  • 一部分,带有GStreamerimxg2dvideosink
  • 一个半透明的 Qt Overlay,应该显示在流上

问题:

如何在流上显示叠加层,同时将两个部分都全屏显示(填满整个屏幕)?可能的解决方案:

  • /dev/fb1作为覆盖/dev/fb0(如何将单个应用程序拆分为两个fb?)
  • 使用显示管理器?
  • 使用窗口管理器?
  • linuxfb而不是eglfs

我当前(不工作)的解决方案:

  • 使用-platform eglfs
  • 该应用程序将首先启动GStreamer,然后显示覆盖