- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我在这里发表的第一篇文章。
我想长话短说......
以下问题:
我想在树莓派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 的小部件预览示例项目(遵循 these 说明...)。我收到以下错误输出:
[manjaro@Loki gallery]$ LD_PRELOAD="/opt/vc/lib/libGLESv2.so /opt/vc/lib/libEGL.so" qmlscene ./gallery.qml
qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_brcm", "eglfs_kms", "eglfs_x11")
qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_brcm", "eglfs_kms", "eglfs_x11")
qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_brcm"
qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_brcm"
* failed to add service - already in use?
我还测试了运行交叉编译的二进制文件的相同情况 - 相同的错误。除了最后一行之外的所有内容都来自 qt5 的详细调试输出,我通过环境变量设置,详细信息如下。
系统/环境:
其他设置...
[manjaro@Loki gallery]$ uname -a
Linux Loki 4.4.28-1-MANJARO-ARM #1 SMP Sat Oct 29 21:01:09 CDT 2016 armv7l GNU/Linux
我的config.txt
dtparam=audio=on
#hdmi_drive=2
avoid_warnings=2
disable_overscan=1
disable_splash=1
boot_delay=0
# activate raspi cam
start_x=1
# tuning gpu accel and memory usage
gpu_mem=320
dtoverlay=vc4-kms-v3d
我的cmdline.txt
root=/dev/mmcblk0p2 rw rootwait console=tty1 selinux=0 quiet plymouth.ignore-serial-consoles dwc_otg.lpm_enable=0 elevator=deadline fsck.repair=yes
printenv 给出以下内容:
XDG_SESSION_ID=c1
TERM=xterm
SHELL=/bin/bash
SSH_CLIENT=192.168.0.100 43274 22
QT_QPA_EGLFS_INTEGRATION=eglfs_brcm
OLDPWD=/home/manjaro
SSH_TTY=/dev/pts/0
USER=manjaro
MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins
MAIL=/var/spool/mail/manjaro
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/vc/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
PWD=/home/manjaro/opt
LANG=de_DE.UTF-8
QT_QPA_PLATFORM=eglfs
SHLVL=1
HOME=/home/manjaro
LOGNAME=manjaro
QT_LOGGING_RULES=qt.qpa.*=true
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
SSH_CONNECTION=192.168.0.100 43274 192.168.0.107 22
XDG_RUNTIME_DIR=/run/user/1000
_=/usr/bin/printenv
您可以看到几个 Qt 特定设置:调试、使用eglfs作为默认后端以及最有趣的:QT_QPA_EGLFS_INTEGRATION=eglfs_brcm
这意味着应该使用 Broadcom eglfs 插件。沿着eglfs_brcm
我也尝试了eglfs_kms
(只是出于好奇):
[manjaro@Loki gallery]$ export QT_QPA_EGLFS_INTEGRATION=eglfs_kms
[manjaro@Loki gallery]$ LD_PRELOAD="/opt/vc/lib/libGLESv2.so /opt/vc/lib/libEGL.so" qmlscene ./gallery.qml
qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_brcm", "eglfs_kms", "eglfs_x11")
qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_kms", "eglfs_brcm", "eglfs_x11")
qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_kms"
qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_kms"
qt.qpa.input: udev device discovery for type QFlags(0x10)
qt.qpa.input: Found matching devices ("/dev/dri/card0")
qt.qpa.eglfs.kms: Found the following video devices: ("/dev/dri/card0")
qt.qpa.eglfs.kms: Using "/dev/dri/card0"
qt.qpa.eglfs.kms: Opening device "/dev/dri/card0"
qt.qpa.eglfs.kms: Creating GBM device for file descriptor 5 obtained from "/dev/dri/card0"
* failed to add service - already in use?
看来既不是视频核心的问题,也不是manjaro-arm的“库存”Qt的问题。它只是说有些东西可能被阻止,但是什么?有什么提示吗?
覆盖层和驱动程序似乎有效,glxgears 在 xfce4 上运行时达到了约 60FPS。以下也很有趣:
[root@Loki gallery]# vcdbg log msg|& grep -v gpioman|grep -iv hdmi
001042.905: *** Restart logging
001043.889: Read command line from file 'cmdline.txt'
root=/dev/mmcblk0p2 rw rootwait console=tty1 selinux=0 nofb dwc_otg.lpm_enable=0 elevator=deadline fsck.repair=yes
001409.425: Loading 'kernel7.img' to 0x8000 size 0x5ea25c
001413.076: Kernel trailer DTOK property says yes
001413.091: Kernel trailer DDTK property says yes
001415.514: Loading 'bcm2709-rpi-2-b.dtb' to 0x5f225c size 0x3bfc
001514.479: dtparam: audio=on
001567.591: Loaded overlay 'vc4-kms-v3d'
001836.841: Device tree loaded to 0x2effbc00 (size 0x430d)
005904.220: vchiq_core: vchiq_init_state: slot_zero = 0xd0400000, is_master = 1
005911.919: TV service:host side not connected, dropping notification 0x00000002, 0x00000001, 0x00000010
007999.619: camsubs: Looking for camera 0: i2c_port = 0, led gpio = 32, power enable gpio = 41
008000.339: camsubs: Camera not found
008000.377: camsubs: Looking for camera 0: i2c_port = 0, led gpio = 32, power enable gpio = 41
008001.091: camsubs: Camera not found
008001.128: camsubs: Looking for camera 0: i2c_port = 0, led gpio = 32, power enable gpio = 41
008001.844: camsubs: Camera not found
对我来说看起来很像。
我尝试了以下操作:
我尝试了 gpu_mem split,尝试了 128 到 448 之间的值。检查 GPU 内存看起来符合预期,但对执行提到的应用程序没有影响。
[manjaro@Loki gallery]$ vcgencmd get_mem gpu
gpu=320M
我还创建了以下 udev 规则以修复我最初遇到的错误
[manjaro@Loki gallery]$ cat /etc/udev/rules.d/10-vchiq-permissions.rules
SUBSYSTEM=="vchiq",GROUP="video",MODE="0660"
[manjaro@Loki gallery]$ groups
wheel video storage power users
如果没有提到的 udev 规则,我会收到以下错误:
[manjaro@Loki gallery]$ LD_PRELOAD="/opt/vc/lib/libGLESv2.so /opt/vc/lib/libEGL.so" qmlscene ./gallery.qml
qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_brcm", "eglfs_kms", "eglfs_x11")
qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_brcm", "eglfs_kms", "eglfs_x11")
qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_brcm"
qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_brcm"
* failed to open vchiq instance
该死...我现在没有主意了...我很感激每一个可以帮助的小提示......
请不要:
谁让 Qt-5.7/qtquickcontrols2/QML 通过 EGLFS 利用 vc4 在 raspberrypi 2 上工作???非常非常感谢您的每一个面包屑...
最佳答案
我刚刚遇到了同样的问题。
当您使用开源“vc4-kms-v3d”驱动程序(在 config.txt 中设置)时,您无法使用闭源驱动程序(/opt/vc/lib/libGLESv2.so 和 /opt/vc/lib/libEGL.so,在您的 LD_PRELOAD 字符串上)。
错误
failed to add service - already in use?
表明这一点,正如我刚刚发现的那样。
因此,您可以在 config.txt 上注释该行,或者不使用 LD_PRELOAD 策略或 QT_QPA_EGLFS_INTEGRATION=eglfs_brcm
关于qt5 - raspberry2 上的eglfs -- * 未能添加服务 - 已在使用中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40490113/
我有一个运行 Raspbian 的 Raspberry Pi 1。我尝试在 Raspberry Pi 3 上运行 SD 卡,但它没有启动。 我已经阅读了有关升级 Raspberry Pi 2 安装以在
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我目前正在尝试RadiusNetworks发布的Raspberry Pi iBeacon教程,网址为 http://developer.radiusnetworks.com/2013/10/09/ho
我的公司使用 Raspberry Pi 3 作为产品中的嵌入式 Controller 。用户不会优雅地关闭它,他们只是扳动一个开关。为避免损坏,/boot 和/root 文件系统是只读的。这似乎是防弹
如何使用 Raspberry Pi 作为 b/w USB Tethered 手机和路由器的桥接器,使用“以太网电缆 b/w Raspberry Pi 和路由器”和“USB 电缆 b/w 手机和 Ras
我关注了一个名为Creating an Electron Application for the Raspberry Pi的博客,内容涉及使用Buster OS在Raspberry Pi中启动Elec
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
我有一个树莓派,并且已经从 raspbmc.com 加载了最新的独立版本。在使用 XBMC 时,我看到 CPU 使用率始终在 90% 以上。查看 XBMC wiki 和常见问题解答后,脏区域似乎是减少
我现在正在做一个小项目。我希望 python 脚本在登录到 GUI 后自动运行。 我按照这里的步骤操作:https://www.raspberrypi.org/forums/view ... 91&t
我正在使用 Android Things 在 Raspberry Pi 上构建应用程序并且我有 7 inch touch screen ,但屏幕永远不会关闭。 是否可以像 Android 手机一样设置
我正在执行一组事件以确保 Redis 在一组嵌入式系统(包括 Raspberry PI)中运行良好。为了修复执行未对齐内存访问的 Redis 的某些代码路径(由于 Redis 3.2 中引入的更改),
我正在尝试使用 Tanuki Java Service Wrapper。 我使用的硬件是带有 Raspbian wheezy 发行版的 Raspberry Pi。 (见 http://www.rasp
我希望构建一个以全屏模式在 Raspberry Pi 上运行的应用程序。我已经尝试过 JavaFX 和基于 Swing 的应用程序,但性能非常糟糕。 在我开始使用 SDL( http://www.li
我的项目在/home/pi/app中 以npm start开头 启动操作系统后如何启动应用程序? ****西类牙文 Mi proyecto esta zh/home/pi/app Arranca la
我正在尝试安装 Kappelt gBridge在 Raspberry Pi 3 B 型上,使用本指南:https://doc.gbridge.io/selfHosted/hostItYourself.
我正在使用我的 Pi 作为文件服务器,最近当我登录时,我看到一条错误消息,指出 libarmmem.so(无法打开共享对象文件),尽管有一些建议运行 apt-get update + 升级它并没有带来
我正在尝试使用 Raspberry# 库通过 Raspberry PI 上的 GPIO 引脚(打开和关闭)执行基本任务。根据 github 上的示例:https://github.com/raspbe
如标题所述,我在将一些用户空间中断代码从另一个 armv7 嵌入式 linux 平台移植到 Raspberry Pi 2 Model B 时遇到问题。 我知道 wiringPi 库(并让它以这种方式工
我正在尝试为 Raspberry Pi B+ 交叉编译 Tensorflow-Lite。为此,我正在关注 these instructions来自官方网站,它们是: git clone https:/
我正在尝试使用 PulseAudio RTP 将音频从 Linux Mint 桌面流式传输到运行 LibreELEC (Kodi) 的 RaspberryPi 3B。我可以使用 RTP 多播成功地流式
我是一名优秀的程序员,十分优秀!