Unsolved Cross-compiling Qt 5.6 for HW accelerated OpenGL with eglfs fails: Failed to load EGL device integration "eglfs_brcm"
-
Hi all,
I'm following the guide for cross-compiling Qt 5.6 for HW accelerated OpenGL with eglfs on Raspbian Jessie, see:
https://wiki.qt.io/RaspberryPi2EGLFS#Step_by_step
I'm using a Raspberry Pi 2, host machine is running Ubuntu 16.04.
./qopenglwidget qt.qpa.egldeviceintegration: Failed to load EGL device integration "eglfs_brcm" Could not find DRM device! Aborted
More info:
export QT_LOGGING_RULES=qt.qpa.*=true ./qopenglwidget qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_kms_egldevice", "eglfs_kms", "eglfs_x11") qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_brcm", "eglfs_kms", "eglfs_kms_egldevice", "eglfs_x11") qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_brcm" qt.qpa.egldeviceintegration: Failed to load EGL device integration "eglfs_brcm" 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 () qt.qpa.eglfs.kms: Found the following video devices: () Could not find DRM device! Aborted
Specifying the platform:
./qopenglwidget -platform eglfs
Yields the same output. Running it and specifying linuxfb creates the user interface but fails after a while (probably to be expected, just to show that the app seems to be working but not using eglfs).
./qopenglwidget -platform linuxfb [9;0]qt.qpa.input: libinput: input device 'Logitech USB Receiver', /dev/input/event0 is a keyboard qt.qpa.input: libinput: input device 'Logitech USB Receiver', /dev/input/event1 is a pointer caps = relative-motion button qt.qpa.input: libinput: input device 'Logitech USB Receiver', /dev/input/event1 is a keyboard qt.qpa.input: libinput: input device 'FT5406 memory based driver', /dev/input/event2 is a touch device qt.qpa.input: Using xkbcommon for key mapping QOpenGLWidget is not supported on this platform. This plugin does not support createPlatformOpenGLContext! This plugin does not support createPlatformOpenGLContext! QOpenGLWidget: Failed to create context This plugin does not support createPlatformOpenGLContext! QOpenGLWidget: Failed to create context This plugin does not support createPlatformOpenGLContext! QOpenGLWidget: Failed to create context
I've searched for this problem but it seems too specific to yield enough results that help solve it or pinpoint to possible causes.
Can anyone provide some pointers as to how I can begin to solve this problem or tell me what the exact prerequisites are for making this work? I'm assuming that, since the guide was written, new Jessie updates were issued which could cause my problem.
-
This post is deleted! -
@AimedSquid you could solve thel issue?, because I have the same error.
-
hi
could not find drm device
is becasue the device driver need its dtb
device tree overlay
there are two overlays and you need to add one to config.txt -
@eliar can you be more clear how to do that...
pi@raspberrypi:~ $ export LD_LIBRARY_PATH=/usr/local/qt5pi/lib
pi@raspberrypi:~ $ export QT_LOGGING_RULES=qt.qpa.*=true
pi@raspberrypi:~ $ ./qopenglwidget
qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_emu", "eglfs_kms_egldevice", "eglfs_kms", "eglfs_x11")
qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_brcm", "eglfs_kms", "eglfs_emu", "eglfs_kms_egldevice", "eglfs_x11")
qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_brcm"
qt.qpa.egldeviceintegration: Failed to load EGL device integration "eglfs_brcm"
qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_kms"
qt.qpa.eglfs.kms: New DRM/KMS via GBM integration created
qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_kms"
qt.qpa.eglfs.kms: platformInit: Opening DRM device
qt.qpa.input: udev device discovery for type QFlagsQDeviceDiscovery::QDeviceType(Device_DRM|Device_VideoMask)
qt.qpa.input: Found matching devices ()
qt.qpa.eglfs.kms: Found the following video devices: ()
Could not find DRM device!
Abortedoverlays ....
pi@raspberrypi:/boot/overlays $ ls
adau1977-adc.dtbo mmc.dtbo
adau7002-simple.dtbo mz61581.dtbo
ads1015.dtbo pi3-act-led.dtbo
ads1115.dtbo pi3-disable-bt.dtbo
ads7846.dtbo pi3-disable-wifi.dtbo
akkordion-iqdacplus.dtbo pi3-miniuart-bt.dtbo
allo-boss-dac-pcm512x-audio.dtbo piscreen2r.dtbo
allo-piano-dac-pcm512x-audio.dtbo piscreen.dtbo
allo-piano-dac-plus-pcm512x-audio.dtbo pisound.dtbo
at86rf233.dtbo pitft22.dtbo
audioinjector-addons.dtbo pitft28-capacitive.dtbo
audioinjector-wm8731-audio.dtbo pitft28-resistive.dtbo
audremap.dtbo pitft35-resistive.dtbo
bmp085_i2c-sensor.dtbo pps-gpio.dtbo
dht11.dtbo pwm-2chan.dtbo
dionaudio-loco.dtbo pwm.dtbo
dionaudio-loco-v2.dtbo qca7000.dtbo
dpi18.dtbo raspidac3.dtbo
dpi24.dtbo README
dwc2.dtbo rpi-backlight.dtbo
dwc-otg.dtbo rpi-cirrus-wm5102.dtbo
enc28j60.dtbo rpi-dac.dtbo
enc28j60-spi2.dtbo rpi-display.dtbo
fe-pi-audio.dtbo rpi-ft5406.dtbo
googlevoicehat-soundcard.dtbo rpi-proto.dtbo
gpio-ir.dtbo rpi-sense.dtbo
gpio-poweroff.dtbo rpi-tv.dtbo
hifiberry-amp.dtbo rra-digidac1-wm8741-audio.dtbo
hifiberry-dac.dtbo sc16is750-i2c.dtbo
hifiberry-dacplus.dtbo sc16is752-spi1.dtbo
hifiberry-digi.dtbo sdhost.dtbo
hifiberry-digi-pro.dtbo sdio-1bit.dtbo
hy28a.dtbo sdio.dtbo
hy28b.dtbo sdtweak.dtbo
i2c0-bcm2708.dtbo smi-dev.dtbo
i2c1-bcm2708.dtbo smi.dtbo
i2c-bcm2708.dtbo smi-nand.dtbo
i2c-gpio.dtbo spi0-cs.dtbo
i2c-mux.dtbo spi0-hw-cs.dtbo
i2c-pwm-pca9685a.dtbo spi1-1cs.dtbo
i2c-rtc.dtbo spi1-2cs.dtbo
i2c-sensor.dtbo spi1-3cs.dtbo
i2s-gpio28-31.dtbo spi2-1cs.dtbo
iqaudio-dac.dtbo spi2-2cs.dtbo
iqaudio-dacplus.dtbo spi2-3cs.dtbo
iqaudio-digi-wm8804-audio.dtbo spi-gpio35-39.dtbo
justboom-dac.dtbo spi-rtc.dtbo
justboom-digi.dtbo tinylcd35.dtbo
lirc-rpi.dtbo uart1.dtbo
mcp23017.dtbo vc4-fkms-v3d.dtbo
mcp23s17.dtbo vc4-kms-v3d.dtbo
mcp2515-can0.dtbo vga666.dtbo
mcp2515-can1.dtbo w1-gpio.dtbo
mcp3008.dtbo w1-gpio-pullup.dtbo
midi-uart0.dtbo wittypi.dtbo