agherzan / meta-raspberrypi

Yocto/OE BSP layer for the Raspberry Pi boards
https://www.yoctoproject.org/
MIT License
531 stars 409 forks source link

No HDMI output on Raspberry Pi 4 #453

Closed mozcelikors closed 5 years ago

mozcelikors commented 5 years ago

Hi, I recently got a Raspberry Pi 4, 4GB version. Previously I had Raspberry Pi 3B+, with perfectly running everything I require, using meta-raspberrypi's sumo branch. I have a Qt app which runs using eglfs platform plugin running on Pi 3B+, but not working on Pi 4. I wanted to port my work there to the meta-raspberrypi's raspberrypi4 machine on warrior branch. Here's what I did:

bblayers.conf

BBLAYERS ?= " \
  ${BSPDIR}/meta \
  ${BSPDIR}/meta-poky \
  ${BSPDIR}/meta-yocto-bsp \
  ${BSPDIR}/meta-openembedded/meta-oe \
  ${BSPDIR}/meta-openembedded/meta-multimedia \
  ${BSPDIR}/meta-openembedded/meta-networking \
  ${BSPDIR}/meta-openembedded/meta-python \
  ${BSPDIR}/meta-openembedded/meta-gnome \
  ${BSPDIR}/meta-openembedded/meta-xfce \
  ${BSPDIR}/meta-qt5 \
  ${BSPDIR}/meta-qt5-extra \
  ${BSPDIR}/meta-raspberrypi \

local.conf

MACHINE_FEATURES_append = "vc4graphics"
DISTRO_FEATURES_append = " bluez5 bluetooth wifi polkit "
DISTRO_FEATURES_remove = "systemd"
IMAGE_FEATURES += "splash"
SPLASH = "psplash-raspberrypi"
LICENSE_FLAGS_WHITELIST_append = " commercial "
RPI_KERNEL_DEVICETREE_OVERLAYS_append = " overlays/ads7846.dtbo "

rpi-config_%.bbappend

echo "hdmi_group=2" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "hdmi_mode=87" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "hdmi_cvt 800 480 60 6 0 0 0" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "hdmi_drive=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt

(Whether I have these changes or not, does not affect the result)

myimage.bb

include recipes-core/images/core-image-minimal.bb
IMAGE_INSTALL_append = " packagegroup-core-x11 packagegroup-core-boot packagegroup-xfce-base "
IMAGE_INSTALL_append = "  kernel-modules "
IMAGE_INSTALL_append = " linux-firmware-rpidistro-bcm43455 bluez-firmware-rpidistro-bcm4345c0-hcd"
... and more

When I try to either run my Qt app on OpenGL with eglfs, or when I simply run Xorg (XFCE), I get no display output on both HDMI's. Only hdmi output I get is the output from psplash splash screen, which looks like its bars are not working. I have tried 2 different HDMI displays, but no result.

Just for example, I get following on app output:

QT_QPA_EGLFS_NO_LIBINPUT=1 QT_LOGGING_RULES="qt.qpa.*=true" /opt/myapp -platform eglfs
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/var/volatile/tmp/runtime-root'
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_kms", "eglfs_emu", "eglfs_kms_egldevice", "eglfs_x11")
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 QFlags<QDeviceDiscovery::QDeviceType>(Device_DRM|Device_VideoMask)
qt.qpa.input: Found matching devices ("/dev/dri/card1", "/dev/dri/card0")
qt.qpa.eglfs.kms: Found the following video devices: ("/dev/dri/card1", "/dev/dri/card0")
qt.qpa.eglfs.kms: Using "/dev/dri/card1"
qt.qpa.eglfs.kms: Using backend-provided DRM device /dev/dri/card1
qt.qpa.eglfs.kms: Creating GBM device for file descriptor 6 obtained from "/dev/dri/card1"
qt.qpa.eglfs.kms: Querying EGLDisplay
qt.qpa.eglfs.kms: Found 3 planes
qt.qpa.eglfs.kms: plane 0: id = 28 countFormats = 10 possibleCrtcs = 0x1 supported formats = XR24 AR24 RG16 RG24 BG24 YU16 YU12 YV12 NV12 NV21 
qt.qpa.eglfs.kms:   property 0: id = 7 name = 'type'
qt.qpa.eglfs.kms:   type is ENUM, value is 1, possible values are:
qt.qpa.eglfs.kms:     enum 0: Overlay - 0
qt.qpa.eglfs.kms:     enum 1: Primary - 1
qt.qpa.eglfs.kms:     enum 2: Cursor - 2
qt.qpa.eglfs.kms:   property 1: id = 16 name = 'FB_ID'
qt.qpa.eglfs.kms:   type is OBJECT
qt.qpa.eglfs.kms:   property 2: id = 17 name = 'IN_FENCE_FD'
qt.qpa.eglfs.kms:   type is SIGNED_RANGE, value is -1, possible values are:
qt.qpa.eglfs.kms:     -1
qt.qpa.eglfs.kms:     2147483647
qt.qpa.eglfs.kms:   property 3: id = 19 name = 'CRTC_ID'
qt.qpa.eglfs.kms:   type is OBJECT
qt.qpa.eglfs.kms:   property 4: id = 12 name = 'CRTC_X'
qt.qpa.eglfs.kms:   type is SIGNED_RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     -2147483648
qt.qpa.eglfs.kms:     2147483647
qt.qpa.eglfs.kms:   property 5: id = 13 name = 'CRTC_Y'
qt.qpa.eglfs.kms:   type is SIGNED_RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     -2147483648
qt.qpa.eglfs.kms:     2147483647
qt.qpa.eglfs.kms:   property 6: id = 14 name = 'CRTC_W'
qt.qpa.eglfs.kms:   type is RANGE, value is 800, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     2147483647
qt.qpa.eglfs.kms:   property 7: id = 15 name = 'CRTC_H'
qt.qpa.eglfs.kms:   type is RANGE, value is 480, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     2147483647
qt.qpa.eglfs.kms:   property 8: id = 8 name = 'SRC_X'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     4294967295
qt.qpa.eglfs.kms:   property 9: id = 9 name = 'SRC_Y'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     4294967295
qt.qpa.eglfs.kms:   property 10: id = 10 name = 'SRC_W'
qt.qpa.eglfs.kms:   type is RANGE, value is 52428800, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     4294967295
qt.qpa.eglfs.kms:   property 11: id = 11 name = 'SRC_H'
qt.qpa.eglfs.kms:   type is RANGE, value is 31457280, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     4294967295
qt.qpa.eglfs.kms:   property 12: id = 27 name = 'IN_FORMATS'
qt.qpa.eglfs.kms:   type is BLOB
qt.qpa.eglfs.kms:   property 13: id = 30 name = 'alpha'
qt.qpa.eglfs.kms:   type is RANGE, value is 65535, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     65535
qt.qpa.eglfs.kms:   property 14: id = 31 name = 'rotation'
qt.qpa.eglfs.kms:   type is BITMASK, value is 1, possible bits are:
qt.qpa.eglfs.kms:     bitmask 0: rotate-0 - 1
qt.qpa.eglfs.kms:     bitmask 1: rotate-180 - 4
qt.qpa.eglfs.kms:     bitmask 2: reflect-x - 16
qt.qpa.eglfs.kms:     bitmask 3: reflect-y - 32
qt.qpa.eglfs.kms:   property 15: id = 32 name = 'COLOR_ENCODING'
qt.qpa.eglfs.kms:   type is ENUM, value is 0, possible values are:
qt.qpa.eglfs.kms:     enum 0: ITU-R BT.601 YCbCr - 0
qt.qpa.eglfs.kms:     enum 1: ITU-R BT.709 YCbCr - 1
qt.qpa.eglfs.kms:     enum 2: ITU-R BT.2020 YCbCr - 2
qt.qpa.eglfs.kms:   property 16: id = 33 name = 'COLOR_RANGE'
qt.qpa.eglfs.kms:   type is ENUM, value is 0, possible values are:
qt.qpa.eglfs.kms:     enum 0: YCbCr limited range - 0
qt.qpa.eglfs.kms:     enum 1: YCbCr full range - 1
qt.qpa.eglfs.kms:   property 17: id = 34 name = 'zpos'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     127
qt.qpa.eglfs.kms: plane 1: id = 35 countFormats = 10 possibleCrtcs = 0x1 supported formats = XR24 AR24 RG16 RG24 BG24 YU16 YU12 YV12 NV12 NV21 
qt.qpa.eglfs.kms:   property 0: id = 7 name = 'type'
qt.qpa.eglfs.kms:   type is ENUM, value is 0, possible values are:
qt.qpa.eglfs.kms:     enum 0: Overlay - 0
qt.qpa.eglfs.kms:     enum 1: Primary - 1
qt.qpa.eglfs.kms:     enum 2: Cursor - 2
qt.qpa.eglfs.kms:   property 1: id = 16 name = 'FB_ID'
qt.qpa.eglfs.kms:   type is OBJECT
qt.qpa.eglfs.kms:   property 2: id = 17 name = 'IN_FENCE_FD'
qt.qpa.eglfs.kms:   type is SIGNED_RANGE, value is -1, possible values are:
qt.qpa.eglfs.kms:     -1
qt.qpa.eglfs.kms:     2147483647
qt.qpa.eglfs.kms:   property 3: id = 19 name = 'CRTC_ID'
qt.qpa.eglfs.kms:   type is OBJECT
qt.qpa.eglfs.kms:   property 4: id = 12 name = 'CRTC_X'
qt.qpa.eglfs.kms:   type is SIGNED_RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     -2147483648
qt.qpa.eglfs.kms:     2147483647
qt.qpa.eglfs.kms:   property 5: id = 13 name = 'CRTC_Y'
qt.qpa.eglfs.kms:   type is SIGNED_RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     -2147483648
qt.qpa.eglfs.kms:     2147483647
qt.qpa.eglfs.kms:   property 6: id = 14 name = 'CRTC_W'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     2147483647
qt.qpa.eglfs.kms:   property 7: id = 15 name = 'CRTC_H'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     2147483647
qt.qpa.eglfs.kms:   property 8: id = 8 name = 'SRC_X'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     4294967295
qt.qpa.eglfs.kms:   property 9: id = 9 name = 'SRC_Y'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     4294967295
qt.qpa.eglfs.kms:   property 10: id = 10 name = 'SRC_W'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     4294967295
qt.qpa.eglfs.kms:   property 11: id = 11 name = 'SRC_H'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     4294967295
qt.qpa.eglfs.kms:   property 12: id = 27 name = 'IN_FORMATS'
qt.qpa.eglfs.kms:   type is BLOB
qt.qpa.eglfs.kms:   property 13: id = 37 name = 'alpha'
qt.qpa.eglfs.kms:   type is RANGE, value is 65535, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     65535
qt.qpa.eglfs.kms:   property 14: id = 38 name = 'rotation'
qt.qpa.eglfs.kms:   type is BITMASK, value is 1, possible bits are:
qt.qpa.eglfs.kms:     bitmask 0: rotate-0 - 1
qt.qpa.eglfs.kms:     bitmask 1: rotate-180 - 4
qt.qpa.eglfs.kms:     bitmask 2: reflect-x - 16
qt.qpa.eglfs.kms:     bitmask 3: reflect-y - 32
qt.qpa.eglfs.kms:   property 15: id = 39 name = 'COLOR_ENCODING'
qt.qpa.eglfs.kms:   type is ENUM, value is 0, possible values are:
qt.qpa.eglfs.kms:     enum 0: ITU-R BT.601 YCbCr - 0
qt.qpa.eglfs.kms:     enum 1: ITU-R BT.709 YCbCr - 1
qt.qpa.eglfs.kms:     enum 2: ITU-R BT.2020 YCbCr - 2
qt.qpa.eglfs.kms:   property 16: id = 40 name = 'COLOR_RANGE'
qt.qpa.eglfs.kms:   type is ENUM, value is 0, possible values are:
qt.qpa.eglfs.kms:     enum 0: YCbCr limited range - 0
qt.qpa.eglfs.kms:     enum 1: YCbCr full range - 1
qt.qpa.eglfs.kms:   property 17: id = 41 name = 'zpos'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     127
qt.qpa.eglfs.kms: plane 2: id = 42 countFormats = 10 possibleCrtcs = 0x1 supported formats = XR24 AR24 RG16 RG24 BG24 YU16 YU12 YV12 NV12 NV21 
qt.qpa.eglfs.kms:   property 0: id = 7 name = 'type'
qt.qpa.eglfs.kms:   type is ENUM, value is 2, possible values are:
qt.qpa.eglfs.kms:     enum 0: Overlay - 0
qt.qpa.eglfs.kms:     enum 1: Primary - 1
qt.qpa.eglfs.kms:     enum 2: Cursor - 2
qt.qpa.eglfs.kms:   property 1: id = 16 name = 'FB_ID'
qt.qpa.eglfs.kms:   type is OBJECT
qt.qpa.eglfs.kms:   property 2: id = 17 name = 'IN_FENCE_FD'
qt.qpa.eglfs.kms:   type is SIGNED_RANGE, value is -1, possible values are:
qt.qpa.eglfs.kms:     -1
qt.qpa.eglfs.kms:     2147483647
qt.qpa.eglfs.kms:   property 3: id = 19 name = 'CRTC_ID'
qt.qpa.eglfs.kms:   type is OBJECT
qt.qpa.eglfs.kms:   property 4: id = 12 name = 'CRTC_X'
qt.qpa.eglfs.kms:   type is SIGNED_RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     -2147483648
qt.qpa.eglfs.kms:     2147483647
qt.qpa.eglfs.kms:   property 5: id = 13 name = 'CRTC_Y'
qt.qpa.eglfs.kms:   type is SIGNED_RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     -2147483648
qt.qpa.eglfs.kms:     2147483647
qt.qpa.eglfs.kms:   property 6: id = 14 name = 'CRTC_W'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     2147483647
qt.qpa.eglfs.kms:   property 7: id = 15 name = 'CRTC_H'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     2147483647
qt.qpa.eglfs.kms:   property 8: id = 8 name = 'SRC_X'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     4294967295
qt.qpa.eglfs.kms:   property 9: id = 9 name = 'SRC_Y'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     4294967295
qt.qpa.eglfs.kms:   property 10: id = 10 name = 'SRC_W'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     4294967295
qt.qpa.eglfs.kms:   property 11: id = 11 name = 'SRC_H'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     4294967295
qt.qpa.eglfs.kms:   property 12: id = 27 name = 'IN_FORMATS'
qt.qpa.eglfs.kms:   type is BLOB
qt.qpa.eglfs.kms:   property 13: id = 44 name = 'alpha'
qt.qpa.eglfs.kms:   type is RANGE, value is 65535, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     65535
qt.qpa.eglfs.kms:   property 14: id = 45 name = 'rotation'
qt.qpa.eglfs.kms:   type is BITMASK, value is 1, possible bits are:
qt.qpa.eglfs.kms:     bitmask 0: rotate-0 - 1
qt.qpa.eglfs.kms:     bitmask 1: rotate-180 - 4
qt.qpa.eglfs.kms:     bitmask 2: reflect-x - 16
qt.qpa.eglfs.kms:     bitmask 3: reflect-y - 32
qt.qpa.eglfs.kms:   property 15: id = 46 name = 'COLOR_ENCODING'
qt.qpa.eglfs.kms:   type is ENUM, value is 0, possible values are:
qt.qpa.eglfs.kms:     enum 0: ITU-R BT.601 YCbCr - 0
qt.qpa.eglfs.kms:     enum 1: ITU-R BT.709 YCbCr - 1
qt.qpa.eglfs.kms:     enum 2: ITU-R BT.2020 YCbCr - 2
qt.qpa.eglfs.kms:   property 16: id = 47 name = 'COLOR_RANGE'
qt.qpa.eglfs.kms:   type is ENUM, value is 0, possible values are:
qt.qpa.eglfs.kms:     enum 0: YCbCr limited range - 0
qt.qpa.eglfs.kms:     enum 1: YCbCr full range - 1
qt.qpa.eglfs.kms:   property 17: id = 48 name = 'zpos'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     127
qt.qpa.eglfs.kms: "HDMI1" mode count: 44 crtc index: 0 crtc id: 49
qt.qpa.eglfs.kms: mode 0 1920 x 1080 @ 60 hz
qt.qpa.eglfs.kms: mode 1 1920 x 1080 @ 60 hz
qt.qpa.eglfs.kms: mode 2 1920 x 1080 @ 60 hz
qt.qpa.eglfs.kms: mode 3 1920 x 1080 @ 50 hz
qt.qpa.eglfs.kms: mode 4 1920 x 1080 @ 30 hz
qt.qpa.eglfs.kms: mode 5 1920 x 1080 @ 30 hz
qt.qpa.eglfs.kms: mode 6 1920 x 1080 @ 25 hz
qt.qpa.eglfs.kms: mode 7 1920 x 1080 @ 24 hz
qt.qpa.eglfs.kms: mode 8 1920 x 1080 @ 24 hz
qt.qpa.eglfs.kms: mode 9 1600 x 1200 @ 60 hz
qt.qpa.eglfs.kms: mode 10 1680 x 1050 @ 60 hz
qt.qpa.eglfs.kms: mode 11 1280 x 1024 @ 75 hz
qt.qpa.eglfs.kms: mode 12 1280 x 1024 @ 60 hz
qt.qpa.eglfs.kms: mode 13 1440 x 900 @ 75 hz
qt.qpa.eglfs.kms: mode 14 1440 x 900 @ 60 hz
qt.qpa.eglfs.kms: mode 15 1280 x 960 @ 60 hz
qt.qpa.eglfs.kms: mode 16 1280 x 800 @ 60 hz
qt.qpa.eglfs.kms: mode 17 1152 x 864 @ 75 hz
qt.qpa.eglfs.kms: mode 18 1280 x 720 @ 60 hz
qt.qpa.eglfs.kms: mode 19 1280 x 720 @ 60 hz
qt.qpa.eglfs.kms: mode 20 1280 x 720 @ 60 hz
qt.qpa.eglfs.kms: mode 21 1280 x 720 @ 50 hz
qt.qpa.eglfs.kms: mode 22 1280 x 720 @ 50 hz
qt.qpa.eglfs.kms: mode 23 1024 x 768 @ 75 hz
qt.qpa.eglfs.kms: mode 24 1024 x 768 @ 70 hz
qt.qpa.eglfs.kms: mode 25 1024 x 768 @ 60 hz
qt.qpa.eglfs.kms: mode 26 832 x 624 @ 75 hz
qt.qpa.eglfs.kms: mode 27 800 x 600 @ 75 hz
qt.qpa.eglfs.kms: mode 28 800 x 600 @ 72 hz
qt.qpa.eglfs.kms: mode 29 800 x 600 @ 60 hz
qt.qpa.eglfs.kms: mode 30 800 x 600 @ 56 hz
qt.qpa.eglfs.kms: mode 31 720 x 576 @ 50 hz
qt.qpa.eglfs.kms: mode 32 720 x 576 @ 50 hz
qt.qpa.eglfs.kms: mode 33 800 x 480 @ 59 hz
qt.qpa.eglfs.kms: mode 34 720 x 480 @ 60 hz
qt.qpa.eglfs.kms: mode 35 720 x 480 @ 60 hz
qt.qpa.eglfs.kms: mode 36 720 x 480 @ 60 hz
qt.qpa.eglfs.kms: mode 37 720 x 480 @ 60 hz
qt.qpa.eglfs.kms: mode 38 640 x 480 @ 75 hz
qt.qpa.eglfs.kms: mode 39 640 x 480 @ 73 hz
qt.qpa.eglfs.kms: mode 40 640 x 480 @ 67 hz
qt.qpa.eglfs.kms: mode 41 640 x 480 @ 60 hz
qt.qpa.eglfs.kms: mode 42 640 x 480 @ 60 hz
qt.qpa.eglfs.kms: mode 43 720 x 400 @ 70 hz
qt.qpa.eglfs.kms: Selected mode 0 : 1920 x 1080 @ 60 hz for output "HDMI1"
qt.qpa.eglfs.kms: Physical size is QSizeF(160, 90) mm for output "HDMI1"
Setting framebuffer size is only available with DRM atomic API
qt.qpa.eglfs.kms: Output "HDMI1" framebuffer size is  QSize(1920, 1080)
qt.qpa.eglfs.kms:   property 0: id = 1 name = 'EDID'
qt.qpa.eglfs.kms:   type is BLOB
qt.qpa.eglfs.kms:   property 1: id = 2 name = 'DPMS'
qt.qpa.eglfs.kms:   type is ENUM, value is 0, possible values are:
qt.qpa.eglfs.kms:     enum 0: On - 0
qt.qpa.eglfs.kms:     enum 1: Standby - 1
qt.qpa.eglfs.kms:     enum 2: Suspend - 2
qt.qpa.eglfs.kms:     enum 3: Off - 3
qt.qpa.eglfs.kms:   property 2: id = 5 name = 'link-status'
qt.qpa.eglfs.kms:   type is ENUM, value is 0, possible values are:
qt.qpa.eglfs.kms:     enum 0: Good - 0
qt.qpa.eglfs.kms:     enum 1: Bad - 1
qt.qpa.eglfs.kms:   property 3: id = 6 name = 'non-desktop'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     1
qt.qpa.eglfs.kms:   property 4: id = 19 name = 'CRTC_ID'
qt.qpa.eglfs.kms:   type is OBJECT
qt.qpa.eglfs.kms:   property 0: id = 20 name = 'ACTIVE'
qt.qpa.eglfs.kms:   type is RANGE, value is 1, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     1
qt.qpa.eglfs.kms:   property 1: id = 21 name = 'MODE_ID'
qt.qpa.eglfs.kms:   type is BLOB
qt.qpa.eglfs.kms:   property 2: id = 18 name = 'OUT_FENCE_PTR'
qt.qpa.eglfs.kms:   type is RANGE, value is 0, possible values are:
qt.qpa.eglfs.kms:     0
qt.qpa.eglfs.kms:     18446744073709551615
qt.qpa.eglfs.kms: Output HDMI1 can use 3 planes: 28 35 42 
qt.qpa.eglfs.kms: Output eglfs plane is: 28
qt.qpa.eglfs.kms: EDID data for output "HDMI1": identifier '', manufacturer 'Samsung Electric Company', model 'SyncMaster-', serial '', physical size: 160.00x90.00
qt.qpa.eglfs.kms: Creating new global GBM mouse cursor
qt.qpa.eglfs.kms: Initializing cursor atlas from ":/cursor.json"
qt.qpa.eglfs.kms: Sorted screen list: QVector(OrderedScreen(QPlatformScreen=0xcee930 ("HDMI1") : 2147483647 / QPoint(0,0) / primary: false))
qt.qpa.eglfs.kms: Adding QPlatformScreen 0xcee930 ( "HDMI1" ) to QPA with geometry QRect(0,0 1920x1080) and isPrimary= false
Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
qt.qpa.eglfs.kms: Creating gbm_surface for screen HDMI1
qt.qpa.eglfs.kms: Got native format 34325258 from eglGetConfigAttrib() with return code true
Draw call returned Invalid argument.  Expect corruption.
qt.qpa.eglfs.kms: Adding FB, size 1920x1080, DRM format 0x34325258
qt.qpa.eglfs.kms: Setting mode for screen HDMI1
qt.qpa.eglfs.kms: Adding FB, size 1920x1080, DRM format 0x34325258

I use warrior branch for all standard layers and meta-raspberrypi layer. Does meta-raspberrypi has HDMI support? Is there something I am missing here? Could we please get a little help for the HDMI output? Thank you very much in advance

xuhcc commented 5 years ago

Hi @mozcelikors Did you try to run RPi 3 with the warrior branch? Yesterday I built an image for my RPi 3 with the latest commit from the warrior and encountered similar issues with HDMI display. Now I'm building it from https://github.com/agherzan/meta-raspberrypi/commit/b76252c98520b79e012495f8022f238f66c20b05 and it's working. So may be this problem is not specific to RPi 4.

mozcelikors commented 5 years ago

Hi @xuhcc, Thanks for your reply, I unfortunately can't get any HDMI output still with commit b76252c using my Raspberry Pi 4.

agherzan commented 5 years ago

@mozcelikors can you please try the current master's or warrior's HEAD?

mozcelikors commented 5 years ago

Hi @agherzan, Thanks for your awesome work with meta-raspberrypi, I have to say. Previously I tried with warrior's HEAD and unfortunately was unable to get HDMI output. I checked and there is no new commit at warrior's HEAD so I doubt it will change things. I get the following for the master's HEAD:

ERROR: No recipes available for:

.../meta-raspberrypi/recipes-bsp/u-boot/u-boot_2019.07.bbappend
.../meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16%.bbappend

Maybe /dev/kmsg output also helps here:

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.19.58 (oe-user@oe-host) (gcc version 8.3.0 (GCC)) #1 SMP Wed Jul 24 17:27:49 UTC 2019
[    0.000000] CPU: ARMv7 Processor [410fd083] revision 3 (ARMv7), cr=30c5383d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] OF: fdt: Machine model: Raspberry Pi 4 Model B Rev 1.1
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] cma: Reserved 256 MiB at 0x000000000fc00000
[    0.000000] On node 0 totalpages: 901120
[    0.000000]   DMA zone: 1152 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 131072 pages, LIFO batch:31
[    0.000000]   HighMem zone: 770048 pages, LIFO batch:63
[    0.000000] random: get_random_bytes called from start_kernel+0xc0/0x4e0 with crng_init=0
[    0.000000] percpu: Embedded 17 pages/cpu s39628 r8192 d21812 u69632
[    0.000000] pcpu-alloc: s39628 r8192 d21812 u69632 alloc=17*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 899968
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 cma=64M cma=256M  smsc95xx.macaddr=DC:A6:32:03:2E:E3 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  dwc_otg.lpm_enable=0  root=/dev/mmcblk0p2 rootfstype=ext4 rootwait logo.nologo splash rootflags=commit=120,data=writeback bootdelay=0 silent=1 elevator=deadline noatime nodiratime data=writeback quiet consoleblank=0  console=tty3 loglevel=0 vt.global_cursor_default=0
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 3293440K/3604480K available (8192K kernel code, 661K rwdata, 2492K rodata, 2048K init, 852K bss, 48896K reserved, 262144K cma-reserved, 3080192K highmem)
[    0.000000] Virtual kernel memory layout:
                   vector  : 0xffff0000 - 0xffff1000   (   4 kB)
                   fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
                   vmalloc : 0xe0800000 - 0xff800000   ( 496 MB)
                   lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
                   pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
                   modules : 0xbf000000 - 0xbfe00000   (  14 MB)
                     .text : 0x(ptrval) - 0x(ptrval)   (10208 kB)
                     .init : 0x(ptrval) - 0x(ptrval)   (2048 kB)
                     .data : 0x(ptrval) - 0x(ptrval)   ( 662 kB)
                      .bss : 0x(ptrval) - 0x(ptrval)   ( 853 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ftrace: allocating 29088 entries in 86 pages
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] arch_timer: cp15 timer(s) running at 54.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xc743ce346, max_idle_ns: 440795203123 ns
[    0.000005] sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 4398046511102ns
[    0.000017] Switching to timer-based delay loop, resolution 18ns
[    0.000234] Console: colour dummy device 80x30
[    0.000257] console [tty3] enabled
[    0.000297] Calibrating delay loop (skipped), value calculated using timer frequency.. 108.00 BogoMIPS (lpj=540000)
[    0.000319] pid_max: default: 32768 minimum: 301
[    0.000581] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000597] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.001326] CPU: Testing write buffer coherency: ok
[    0.001720] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.002340] Setting up static identity map for 0x200000 - 0x20003c
[    0.002494] rcu: Hierarchical SRCU implementation.
[    0.003343] smp: Bringing up secondary CPUs ...
[    0.004187] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.005157] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.006079] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.006209] smp: Brought up 1 node, 4 CPUs
[    0.006223] SMP: Total of 4 processors activated (432.00 BogoMIPS).
[    0.006232] CPU: All CPU(s) started in HYP mode.
[    0.006240] CPU: Virtualization extensions available.
[    0.006938] devtmpfs: initialized
[    0.017907] VFP support v0.3: implementor 41 architecture 3 part 40 variant 8 rev 0
[    0.018121] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.018141] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.024227] pinctrl core: initialized pinctrl subsystem
[    0.025067] NET: Registered protocol family 16
[    0.028034] DMA: preallocated 1024 KiB pool for atomic coherent allocations
[    0.029548] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.029558] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.029751] Serial: AMBA PL011 UART driver
[    0.032826] bcm2835-mbox fe00b880.mailbox: mailbox enabled
[    0.069013] bcm2835-dma fe007000.dma: DMA legacy API manager at (ptrval), dmachans=0x1
[    0.071459] vgaarb: loaded
[    0.071827] SCSI subsystem initialized
[    0.072013] usbcore: registered new interface driver usbfs
[    0.072071] usbcore: registered new interface driver hub
[    0.072165] usbcore: registered new device driver usb
[    0.090491] raspberrypi-firmware soc:firmware: Attached to firmware from 2019-07-09 14:40, variant start_x
[    0.100221] raspberrypi-firmware soc:firmware: Firmware hash is d2b1b7fb01475cb3914b2086299e32d724e832f1
[    0.111803] clocksource: Switched to clocksource arch_sys_counter
[    0.187807] VFS: Disk quotas dquot_6.6.0
[    0.187881] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.188025] FS-Cache: Loaded
[    0.188200] CacheFiles: Loaded
[    0.188712] simple-framebuffer: probe of 0.framebuffer failed with error -12
[    0.197807] NET: Registered protocol family 2
[    0.198449] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
[    0.198474] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.198510] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[    0.198546] TCP: Hash tables configured (established 4096 bind 4096)
[    0.198662] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.198684] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.198969] NET: Registered protocol family 1
[    0.199495] RPC: Registered named UNIX socket transport module.
[    0.199505] RPC: Registered udp transport module.
[    0.199514] RPC: Registered tcp transport module.
[    0.199524] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.199538] PCI: CLS 0 bytes, default 64
[    0.202728] Initialise system trusted keyrings
[    0.202897] workingset: timestamp_bits=14 max_order=20 bucket_order=6
[    0.211658] FS-Cache: Netfs 'nfs' registered for caching
[    0.212184] NFS: Registering the id_resolver key type
[    0.212207] Key type id_resolver registered
[    0.212216] Key type id_legacy registered
[    0.212236] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.214418] Key type asymmetric registered
[    0.214428] Asymmetric key parser 'x509' registered
[    0.214537] bounce: pool size: 64 pages
[    0.214577] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[    0.214731] io scheduler noop registered
[    0.214742] io scheduler deadline registered (default)
[    0.214898] io scheduler cfq registered
[    0.214909] io scheduler mq-deadline registered (default)
[    0.214919] io scheduler kyber registered
[    0.243506] brcm-pcie fd500000.pcie: dmabounce: initialised - 32768 kB, threshold 0x00000000c0000000
[    0.243525] brcm-pcie fd500000.pcie: could not get clock
[    0.243583] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges:
[    0.243618] brcm-pcie fd500000.pcie:   MEM 0x600000000..0x603ffffff -> 0xf8000000
[    0.301840] brcm-pcie fd500000.pcie: link up, 5.0 Gbps x1 (!SSC)
[    0.302090] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00
[    0.302106] pci_bus 0000:00: root bus resource [bus 00-01]
[    0.302122] pci_bus 0000:00: root bus resource [mem 0x600000000-0x603ffffff] (bus address [0xf8000000-0xfbffffff])
[    0.302164] pci 0000:00:00.0: [14e4:2711] type 01 class 0x060400
[    0.302300] pci 0000:00:00.0: PME# supported from D0 D3hot
[    0.304976] PCI: bus0: Fast back to back transfers disabled
[    0.304993] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.305155] pci 0000:01:00.0: [1106:3483] type 00 class 0x0c0330
[    0.305215] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit]
[    0.305383] pci 0000:01:00.0: PME# supported from D0 D3cold
[    0.307956] PCI: bus1: Fast back to back transfers disabled
[    0.307971] pci_bus 0000:01: busn_res: [bus 01] end is updated to 01
[    0.308017] pci 0000:00:00.0: BAR 8: assigned [mem 0x600000000-0x6000fffff]
[    0.308036] pci 0000:01:00.0: BAR 0: assigned [mem 0x600000000-0x600000fff 64bit]
[    0.308066] pci 0000:00:00.0: PCI bridge to [bus 01]
[    0.308083] pci 0000:00:00.0:   bridge window [mem 0x600000000-0x6000fffff]
[    0.308143] pci 0000:00:00.0: enabling device (0140 -> 0142)
[    0.308166] pci 0000:01:00.0: enabling device (0140 -> 0142)
[    0.311365] iproc-rng200 fe104000.rng: hwrng registered
[    0.311586] vc-mem: phys_addr:0x00000000 mem_base=0x3ec00000 mem_size:0x40000000(1024 MiB)
[    0.312113] vc-sm: Videocore shared memory driver
[    0.312496] gpiomem-bcm2835 fe200000.gpiomem: Initialised: Registers at 0xfe200000
[    0.322517] brd: module loaded
[    0.331953] loop: module loaded
[    0.332689] Loading iSCSI transport class v2.0-870.
[    0.334350] libphy: Fixed MDIO Bus: probed
[    0.334767] bcmgenet fd580000.genet: failed to get enet clock
[    0.334783] bcmgenet fd580000.genet: GENET 5.0 EPHY: 0x0000
[    0.334799] bcmgenet fd580000.genet: failed to get enet-wol clock
[    0.334815] bcmgenet fd580000.genet: failed to get enet-eee clock
[    0.335049] unimac-mdio unimac-mdio.-19: DMA mask not set
[    0.351833] libphy: bcmgenet MII bus: probed
[    0.392322] unimac-mdio unimac-mdio.-19: Broadcom UniMAC MDIO bus at 0x(ptrval)
[    0.393201] usbcore: registered new interface driver r8152
[    0.393267] usbcore: registered new interface driver lan78xx
[    0.393318] usbcore: registered new interface driver smsc95xx
[    0.393568] xhci_hcd 0000:01:00.0: xHCI Host Controller
[    0.393597] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 1
[    0.395415] xhci_hcd 0000:01:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x0000001000000890
[    0.395572] genirq: irq_chip Brcm_MSI did not update eff. affinity mask of irq 57
[    0.396168] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
[    0.396182] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.396194] usb usb1: Product: xHCI Host Controller
[    0.396206] usb usb1: Manufacturer: Linux 4.19.58 xhci-hcd
[    0.396217] usb usb1: SerialNumber: 0000:01:00.0
[    0.396726] hub 1-0:1.0: USB hub found
[    0.396776] hub 1-0:1.0: 1 port detected
[    0.397178] xhci_hcd 0000:01:00.0: xHCI Host Controller
[    0.397200] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 2
[    0.397219] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed
[    0.397547] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 4.19
[    0.397560] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.397572] usb usb2: Product: xHCI Host Controller
[    0.397584] usb usb2: Manufacturer: Linux 4.19.58 xhci-hcd
[    0.397595] usb usb2: SerialNumber: 0000:01:00.0
[    0.398076] hub 2-0:1.0: USB hub found
[    0.398127] hub 2-0:1.0: 4 ports detected
[    0.399223] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    0.399409] dwc_otg: FIQ enabled
[    0.399417] dwc_otg: NAK holdoff enabled
[    0.399426] dwc_otg: FIQ split-transaction FSM enabled
[    0.399438] Module dwc_common_port init
[    0.399634] usbcore: registered new interface driver uas
[    0.399731] usbcore: registered new interface driver usb-storage
[    0.399901] mousedev: PS/2 mouse device common for all mice
[    0.401386] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[    0.401572] bcm2835-cpufreq: min=600000 max=1500000
[    0.402199] sdhci: Secure Digital Host Controller Interface driver
[    0.402207] sdhci: Copyright(c) Pierre Ossman
[    0.402580] mmc-bcm2835 fe300000.mmcnr: could not get clk, deferring probe
[    0.402966] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.405936] ledtrig-cpu: registered to indicate activity on CPUs
[    0.406074] hidraw: raw HID events driver (C) Jiri Kosina
[    0.406198] usbcore: registered new interface driver usbhid
[    0.406207] usbhid: USB HID core driver
[    0.406946] vchiq: vchiq_init_state: slot_zero = (ptrval), is_master = 0
[    0.408522] [vc_sm_connected_init]: start
[    0.416476] [vc_sm_connected_init]: end - returning 0
[    0.417565] Initializing XFRM netlink socket
[    0.417592] NET: Registered protocol family 17
[    0.417669] Key type dns_resolver registered
[    0.418156] Registering SWP/SWPB emulation handler
[    0.418717] registered taskstats version 1
[    0.418733] Loading compiled-in X.509 certificates
[    0.426795] uart-pl011 fe201000.serial: cts_event_workaround enabled
[    0.426857] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 33, base_baud = 0) is a PL011 rev2
[    0.429847] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[    0.431008] brcmstb_thermal fd5d2200.thermal: registered AVS TMON of-sensor driver
[    0.431605] mmc-bcm2835 fe300000.mmcnr: mmc_debug:0 mmc_debug2:0
[    0.431617] mmc-bcm2835 fe300000.mmcnr: DMA channel allocated
[    0.457675] sdhci-iproc fe340000.emmc2: Linked as a consumer to regulator.1
[    0.476898] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[    0.478489] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    0.480192] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    0.483076] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[    0.484664] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    0.491839] mmc0: SDHCI controller on fe340000.emmc2 [fe340000.emmc2] using ADMA
[    0.494265] of_cfs_init
[    0.494430] of_cfs_init: OK
[    0.495475] Waiting for root device /dev/mmcblk0p2...
[    0.539081] random: fast init done
[    0.549487] mmc1: new high speed SDIO card at address 0001
[    0.592956] mmc0: new ultra high speed DDR50 SDHC card at address aaaa
[    0.594046] mmcblk0: mmc0:aaaa SU32G 29.7 GiB
[    0.595204]  mmcblk0: p1 p2
[    0.614164] EXT4-fs (mmcblk0p2): INFO: recovery required on readonly filesystem
[    0.614175] EXT4-fs (mmcblk0p2): write access will be enabled during recovery
[    0.666658] EXT4-fs (mmcblk0p2): recovery complete
[    0.669060] EXT4-fs (mmcblk0p2): mounted filesystem with writeback data mode. Opts: commit=120,data=writeback
[    0.669104] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[    0.676431] devtmpfs: mounted
[    0.683022] Freeing unused kernel memory: 2048K
[    0.683265] Run /sbin/init as init process
[    0.761862] usb 1-1: new high-speed USB device number 2 using xhci_hcd
[    0.943546] usb 1-1: New USB device found, idVendor=2109, idProduct=3431, bcdDevice= 4.20
[    0.943561] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    0.943574] usb 1-1: Product: USB2.0 Hub
[    0.945200] hub 1-1:1.0: USB hub found
[    0.945447] hub 1-1:1.0: 4 ports detected
[    1.113793] udevd[115]: starting version 3.2.7
[    1.139303] random: udevd: uninitialized urandom read (16 bytes read)
[    1.140045] random: udevd: uninitialized urandom read (16 bytes read)
[    1.140920] random: udevd: uninitialized urandom read (16 bytes read)
[    1.180605] udevd[115]: specified group 'kvm' unknown
[    1.221903] udevd[116]: starting eudev-3.2.7
[    1.337342] argon-mem feb00000.hevc-decoder: argon-hevcmem initialised: Registers at 0xfeb00000 length 0x0000ffff
[    1.337788] argon-mem feb10000.argon-local-intc: argon-intcmem initialised: Registers at 0xfeb10000 length 0x00000fff
[    1.338179] argon-mem feb20000.h264-decoder: argon-h264mem initialised: Registers at 0xfeb20000 length 0x0000ffff
[    1.338510] argon-mem feb30000.vp9-decoder: argon-vp9mem initialised: Registers at 0xfeb30000 length 0x0000ffff
[    1.352603] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
[    1.354631] bcm2835_vc_sm_cma_probe: Videocore shared memory driver
[    1.354656] [vc_sm_connected_init]: start
[    1.355205] [vc_sm_connected_init]: installed successfully
[    1.376439] media: Linux media interface: v0.10
[    1.427194] videodev: Linux video capture interface: v2.00
[    1.468003] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[    1.482775] bcm2835_audio soc:audio: card created with 8 channels
[    1.497869] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[    1.498365] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[    1.506830] [drm] Initialized v3d 1.0.0 20180419 for fec00000.v3d on minor 0
[    1.507213] dwc2 fe980000.usb: fe980000.usb supply vusb_d not found, using dummy regulator
[    1.507306] dwc2 fe980000.usb: Linked as a consumer to regulator.0
[    1.507329] dwc2 fe980000.usb: fe980000.usb supply vusb_a not found, using dummy regulator
[    1.516060] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned.
[    1.550379] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned.
[    1.601907] [drm] No displays found. Consider forcing hotplug if HDMI is attached
[    1.602001] vc4-drm soc:gpu: bound fe600000.firmwarekms (ops vc4_fkms_ops [vc4])
[    1.603446] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    1.607723] [drm] Initialized vc4 0.0.0 20140616 for soc:gpu on minor 1
[    1.607736] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.607744] [drm] No driver support for vblank timestamp query.
[    1.607753] [drm] Setting vblank_disable_immediate to false because get_vblank_timestamp == NULL
[    1.674371] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    1.675464] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    1.675480] cfg80211: failed to load regulatory.db
[    1.721947] dwc2 fe980000.usb: dwc2_check_params: Invalid parameter lpm=1
[    1.721961] dwc2 fe980000.usb: dwc2_check_params: Invalid parameter lpm_clock_gating=1
[    1.721974] dwc2 fe980000.usb: dwc2_check_params: Invalid parameter besl=1
[    1.721987] dwc2 fe980000.usb: dwc2_check_params: Invalid parameter hird_threshold_en=1
[    1.722039] dwc2 fe980000.usb: EPs: 8, dedicated fifos, 4080 entries in SPRAM
[    1.722802] dwc2 fe980000.usb: DWC OTG Controller
[    1.722843] dwc2 fe980000.usb: new USB bus registered, assigned bus number 3
[    1.722902] dwc2 fe980000.usb: irq 37, io mem 0xfe980000
[    1.723261] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
[    1.723277] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.723290] usb usb3: Product: DWC OTG Controller
[    1.723301] usb usb3: Manufacturer: Linux 4.19.58 dwc2_hsotg
[    1.723314] usb usb3: SerialNumber: fe980000.usb
[    1.724059] hub 3-0:1.0: USB hub found
[    1.724131] hub 3-0:1.0: 1 port detected
[    1.735766] brcmfmac: F1 signature read @0x18000000=0x15264345
[    1.747315] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    1.747946] usbcore: registered new interface driver brcmfmac
[    1.973729] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    1.999185] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Feb 27 2018 03:15:32 version 7.45.154 (r684107 CY) FWID 01-4fbe0b04
[    2.058958] ads7846 spi0.1: spi0.1 supply vcc not found, using dummy regulator
[    2.059058] ads7846 spi0.1: Linked as a consumer to regulator.0
[    2.064488] ads7846 spi0.1: touchscreen, irq 58
[    2.085347] input: ADS7846 Touchscreen as /devices/platform/soc/fe204000.spi/spi_master/spi0/spi0.1/input/input0
[    2.144347] bcm2835-codec bcm2835-codec: Device registered as /dev/video10
[    2.144360] bcm2835-codec bcm2835-codec: Loaded V4L2 decode
[    2.148947] bcm2835-codec bcm2835-codec: Device registered as /dev/video11
[    2.148967] bcm2835-codec bcm2835-codec: Loaded V4L2 encode
[    2.153210] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
[    2.153224] bcm2835-codec bcm2835-codec: Loaded V4L2 isp
[    2.227567] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[    2.412454] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[    2.856748] urandom_read: 3 callbacks suppressed
[    2.856755] random: dd: uninitialized urandom read (512 bytes read)
[    3.172448] bcmgenet fd580000.genet: configuring instance for external RGMII (no delay)
[    3.256571] random: dbus-daemon: uninitialized urandom read (12 bytes read)
[    3.285417] random: dbus-daemon: uninitialized urandom read (12 bytes read)
[    3.550418] NET: Registered protocol family 10
[    3.552335] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    3.552825] Segment Routing with IPv6
[    3.695895] brcmfmac: power management disabled
[    3.696277] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[    4.232027] bcmgenet fd580000.genet eth0: Link is Down
[    5.346774] Bluetooth: Core ver 2.22
[    5.346857] NET: Registered protocol family 31
[    5.346867] Bluetooth: HCI device and connection manager initialized
[    5.347155] Bluetooth: HCI socket layer initialized
[    5.347172] Bluetooth: L2CAP socket layer initialized
[    5.347214] Bluetooth: SCO socket layer initialized
mozcelikors commented 5 years ago

@agherzan I have switched everything to master branch and now able to get HDMI output. However, graphics are incredibly slow on Qt/eglfs (0.5 FPS). On Raspberry Pi 3, I used to get 30 FPS with the same set up. I read that it might be due to hardware/software acceleration difference.

kraj commented 5 years ago

@mozcelikors try changing
VC4DTBO ?= "vc4-fkms-v3d" to VC4DTBO ?= "vc4-kms-v3d" in conf/machine/raspberrypi4-64.conf or conf/machine/raspberrypi4.conf

mozcelikors commented 5 years ago

@kraj Thanks for the response. Is vc4-kms-v3d recently enabled? I tried it before and I remember not getting any helpful result. In fact, I got no HDMI signal at all using that.

kraj commented 5 years ago

It regresssed for one kernel update we did for 4.19 ( at least for rpi3) but then it was fixed. I don't yet have rpi4 so dont know if it is fixed there

mozcelikors commented 5 years ago

@kraj @agherzan Hi again, I built my image using everything master, and still no improvement. I doubt vc4-kms-v3d works with Raspberry Pi 4. I get the following on /dev/kmsg:

[    2.631929] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[    3.671876] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[    4.711880] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[    5.751878] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[    6.791880] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[   17.111887] [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:116:crtc-2] flip_done timed out
[   27.351889] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:116:crtc-2] flip_done timed out
[   37.591881] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CONNECTOR:44:Composite-1] flip_done timed out
[   47.831878] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:113:plane-20] flip_done timed out
[   58.071882] [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:116:crtc-2] flip_done timed out
[   58.075229] Console: switching to colour frame buffer device 90x30
[   63.701916] udevd[118]: worker [130] /devices/platform/soc/soc:gpu is taking a long time
[   68.311878] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:116:crtc-2] flip_done timed out
[   78.551882] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CONNECTOR:44:Composite-1] flip_done timed out
[   88.791877] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:113:plane-20] flip_done timed out
[   99.031876] [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:116:crtc-2] flip_done timed out
[  101.191924] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  101.384956] vc4_hdmi fe902000.hdmi: ASoC: can't open interface fe902000.hdmi: -19
[  101.385701] vc4_hdmi fe902000.hdmi: ASoC: can't open interface fe902000.hdmi: -19
[  101.387023] vc4_hdmi fe902000.hdmi: ASoC: can't open interface fe902000.hdmi: -19
[  101.390424] vc4_hdmi fe902000.hdmi: ASoC: can't open interface fe902000.hdmi: -19
[  101.390823] vc4_hdmi fe902000.hdmi: ASoC: can't open interface fe902000.hdmi: -19
[  105.351899] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  106.391877] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  107.432017] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  108.471875] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  109.511882] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  110.551892] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  120.791914] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:116:crtc-2] flip_done timed out
[  131.041893] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CONNECTOR:44:Composite-1] flip_done timed out
[  141.281930] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:113:plane-20] flip_done timed out
[  151.511893] [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:116:crtc-2] flip_done timed out
[  152.631916] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  153.671885] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  154.711891] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  155.751891] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  156.791890] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  162.791888] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  163.831887] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  164.871890] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  165.911890] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  166.951889] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  167.511904] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:116:crtc-2] flip_done timed out
[  177.751903] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:113:plane-20] flip_done timed out
[  178.161894] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  179.191914] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  180.231915] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  181.271883] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  182.311883] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  187.991900] [drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:116:crtc-2] flip_done timed out
[  193.511912] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  194.551941] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  195.591908] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  196.631892] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  197.671910] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  208.871907] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  209.911913] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  210.951910] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  211.991912] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  213.031911] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  224.231913] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  225.271912] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  226.311916] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  227.351913] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  228.391911] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  239.601893] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  240.631925] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  241.671910] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  242.711899] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  243.751902] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  254.951911] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  255.991906] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  257.031905] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  258.071921] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  259.111925] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[  270.311911] i2c-bcm2835 fe805000.i2c: i2c transfer timed out

I checked what I used for the Raspberry Pi 3, it was vc4-kms-v3d as opposed to vc4-fkms-v3d. I guess that is why it used to run with great performance then.

What I tried:

Raspberry Pi 3 B and Raspberry Pi 3 B + meta-raspberrypi sumo vc4-kms-v3d gpu_mem=128 Excellent performance on Qt/OpenGLES/EGLFS

Raspberry Pi 4 meta-raspberrypi master vc4-fkms-v3d Very very poor performance on Qt/OpenGLES/EGLFS

Raspberry Pi 4 meta-raspberrypi master vc4-kms-v3d No HDMI output (+ Aforementioned DRM/HDMI/I2C errors)

I guess I will have to wait until vc4-kms-v3d is ported. Anything I can help with, please let me know.

agherzan commented 5 years ago

@mozcelikors are you working on 32 or 64 bit machine?

mozcelikors commented 5 years ago

@agherzan I use x86_64 host and raspberry pi 4 32 bit (raspberrypi4.conf)

agherzan commented 5 years ago

@mozcelikors That is strange because we basically have the same setup as Raspbian. Can you try to reproduce on raspbian?

mozcelikors commented 5 years ago

@agherzan I dont have Buster and Qt Raspbian SDK installed at the moment, but I can try to reproduce it in a few days.

peel70 commented 5 years ago

hello @agherzan, I've the same problem as @mozcelikors; with warrior's branch no hdmi output from qt, so I'll try the master's branch and now I have output from qt but the performances are poor. I've changed VC4DTBO ?= "vc4-fkms-v3d" to VC4DTBO ?= "vc4-kms-v3d" in conf/machine/raspberrypi4-64.conf or conf/machine/raspberrypi4.conf

as suggested by @kraj but the result in the same.

In the config.txt of the rpi there is this line: dtoverlay=vc4-fkms-v3d

so I think VC4DTBO ?= "vc4-fkms-v3d" is correct.

maybe is too soon for GPU acceleration in QT via eglfs_kms?

thank you for your kindly attention

mozcelikors commented 5 years ago

Hi @peel70 , Please do share with us if you stumble upon a solution. I am also on the lookout. Just a note: If you use -platform linuxfb --no-sand-box, you will get a lot better performance than eglfs at the moment. Still very very disappointing though. This issue basically renders Raspberry Pi 4 useless for people who would like to use it for Qt-based head units.

peel70 commented 5 years ago

Hi @mozcelikors, I'm investigating gstreamer pipeline with gst-launch-1.0 to check if the problem is in the QT. I've tried to compile QT with kms flag and create a json for eglfs_kms configuration without success.

agherzan commented 5 years ago

@kraj @mozcelikors https://github.com/raspberrypi/linux/issues/3020 So fkms is the only option for rpi4. We have to figure out why is it so slow. And the first step would be to see how it behaves on raspbian.

mozcelikors commented 5 years ago

@peel70 @kraj @agherzan I will try it on raspbian but I wont be able to do it most possibly until next week due to my work load at the moment. If any one could do it earlier, please try to do so and share results with us. Thanks

peel70 commented 5 years ago

Hi @mozcelikors , @agherzan , @kraj Today I've cross compiled QT 5.12.4 on my desktop for RPI4 with -device linux-rasp-pi3-vc4-g++ with this configuration:

Building on: linux-g++ (x86_64, CPU features: mmx sse sse2) Building for: devices/linux-rasp-pi3-vc4-g++ (arm, CPU features: neon) Target compiler: gcc 4.8.3 Configuration: cross_compile compile_examples enable_new_dtags largefile neon precompile_header shared rpath release c++11 concurrent dbus reduce_exports stl Build options: Mode ................................... release Optimize release build for size ........ no Building shared libraries .............. yes Using C standard ....................... C11 Using C++ standard ..................... C++11 Using ccache ........................... no Using gold linker ...................... no Using new DTAGS ........................ yes Using precompiled headers .............. yes Using LTCG ............................. no Target compiler supports: NEON ................................. yes Build parts ............................ libs Qt modules and options: Qt Concurrent .......................... yes Qt D-Bus ............................... yes Qt D-Bus directly linked to libdbus .... yes Qt Gui ................................. yes Qt Network ............................. yes Qt Sql ................................. yes Qt Testlib ............................. yes Qt Widgets ............................. yes Qt Xml ................................. yes Support enabled for: Using pkg-config ....................... yes udev ................................... yes Using system zlib ...................... yes Qt Core: DoubleConversion ....................... yes Using system DoubleConversion ........ yes GLib ................................... yes iconv .................................. yes ICU .................................... no Tracing backend ........................ Logging backends: journald ............................. no syslog ............................... no slog2 ................................ no Using system PCRE2 ..................... yes Qt Network: getifaddrs() ........................... yes IPv6 ifname ............................ yes libproxy ............................... no Linux AF_NETLINK ....................... yes OpenSSL ................................ yes Qt directly linked to OpenSSL ........ no OpenSSL 1.1 ............................ yes DTLS ................................... yes SCTP ................................... no Use system proxies ..................... yes Qt Gui: Accessibility .......................... yes FreeType ............................... yes Using system FreeType ................ yes HarfBuzz ............................... yes Using system HarfBuzz ................ yes Fontconfig ............................. yes Image formats: GIF .................................. yes ICO .................................. yes JPEG ................................. yes Using system libjpeg ............... yes PNG .................................. yes Using system libpng ................ yes EGL .................................... yes OpenVG ................................. no OpenGL: Desktop OpenGL ....................... no OpenGL ES 2.0 ........................ yes OpenGL ES 3.0 ........................ yes OpenGL ES 3.1 ........................ yes OpenGL ES 3.2 ........................ yes Vulkan ................................. yes Session Management ..................... yes Features used by QPA backends: evdev .................................. yes libinput ............................... yes INTEGRITY HID .......................... no mtdev .................................. yes tslib .................................. yes xkbcommon .............................. yes X11 specific: XLib ................................. yes XCB Xlib ............................. yes EGL on X11 ........................... yes QPA backends: DirectFB ............................... no EGLFS .................................. yes EGLFS details: EGLFS OpenWFD ........................ no EGLFS i.Mx6 .......................... no EGLFS i.Mx6 Wayland .................. no EGLFS RCAR ........................... no EGLFS EGLDevice ...................... yes EGLFS GBM ............................ yes EGLFS VSP2 ........................... no EGLFS Mali ........................... no EGLFS Raspberry Pi ................... no EGLFS X11 ............................ yes LinuxFB ................................ yes VNC .................................... yes Mir client ............................. no XCB: Using system-provided XCB libraries .. yes XCB XKB .............................. yes XCB XInput ........................... no Native painting (experimental) ....... yes GL integrations: GLX Plugin ......................... no EGL-X11 Plugin ..................... yes Qt Sql: SQL item models ........................ yes Qt Widgets: GTK+ ................................... no Styles ................................. Fusion Windows Qt PrintSupport: CUPS ................................... yes Qt Sql Drivers: DB2 (IBM) .............................. no InterBase .............................. no MySql .................................. no OCI (Oracle) ........................... no ODBC ................................... yes PostgreSQL ............................. yes SQLite2 ................................ yes SQLite ................................. yes Using system provided SQLite ......... no TDS (Sybase) ........................... yes Qt Testlib: Tester for item models ................. yes

Note: Also available for Linux: linux-clang linux-icc

afterd that I've copied on RPI4 with the latest SO and updates.

I've fall in these problems: 1) It is not possible to launch the app from QtCreator with these errors QML debugging is enabled. Only use this in a safe environment. Setting framebuffer size is only available with DRM atomic API Failed to move cursor on screen HDMI1: -13 Unable to query physical screen size, defaulting to 100 dpi. To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters). Could not set cursor on screen HDMI1: -13 failed to export dumb buffer: Permission denied Failed to create scanout resource failed to export dumb buffer: Permission denied Failed to create scanout resource QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer!

2) The Application wont work without X11 either in EGLFS, LINUXFB or other.

3) It's working only launch from the RPI with desktop.

I've addedd pi user to the render group but nothing change

I've tried gstreamer (without X11) with gst-launch with kmssink and the CPU is under the 8% in a full hd video but the graphics performances are poor.

So I don't know where the problem is.

regards to all

mozcelikors commented 5 years ago

@peel70 @agherzan @kraj I wonder why you have: EGLFS Raspberry Pi ................... no With your device selection, I would assume eglfs_brcm would be available.

If you did this on Raspbian Buster (which I assume you did) and you say that it's only working with X11; then I think our presumptions are correct, and this is indeed an issue with Raspberry Pi 4 at the moment.

Could you please create a question to Raspberry Pi Forums regarding this question and link it here? Kind Regards.

peel70 commented 5 years ago

Hello @mozcelikors , @agherzan , @kraj finally I'm near to the solution (I think).

I've just rebuild the cross compile with Raspian Burster Lite (no X11) and follow an issue on the Qt bug reports https://bugreports.qt.io/browse/QTBUG-76889?filter=-3

It's normal that with the linux-rasp-pi3-vc4-g+'s spec is not enabled eglfs_bcrm because in this case (like RPI3-64bit) is using kms (Using EGL device integration "eglfs_kms" say activating the filter rules in the QLoggin Category)

Now with the cross compile I've QT5.12.4 accelerated, the user must be in the "render" group for activating the hardware acceleration as sayed in the Qt bug report, and it work.

I think the problem is the same in poky distribution, the render group is not created in the build, but listen to the privileges of /etc/dri folders

root@raspberrypi4:/dev/dri# ls -al drwxr-xr-x 3 root root 120 Aug 7 07:46 . drwxr-xr-x 16 root root 3720 Aug 7 07:46 .. drwxr-xr-x 2 root root 100 Aug 7 07:46 by-path crw-rw---- 1 root video 226, 0 Aug 7 07:46 card0 crw-rw---- 1 root video 226, 1 Aug 7 07:46 card1 crw-rw-rw- 1 root render 226, 128 Aug 7 07:46 renderD128

I'm not practiced very well in YOCTO, I've tried to create group manually but the graphics performance are the same.

The other problem of the black screen is because the QtQuick in this case works different and is necessary to use the QScreen to create the QQuickView and attach the QML.

See https://doc.qt.io/qt-5/embedded-linux.html to see how use QScreen. I've tried and its working.

So how to fix this with yocto I'm not able but I think the solution is above. At the moment the video is not accelerated in the cross compiled image too (tried H265) in QML and GStreamer using kmssink.

Best regards Enrico

mozcelikors commented 5 years ago

@peel70 I tried to reproduce your solution

root@raspberrypi4:~# groupadd render
root@raspberrypi4:~# usermod -a -G render root
root@raspberrypi4:~# groups root
render root

In the application side,

QVector<QQuickView *> views;
    for (QScreen *screen : app.screens()) {
        QQuickView *view = new QQuickView;
        view->setScreen(screen);
        view->setResizeMode(QQuickView::SizeRootObjectToView);
        view->setSource(QUrl("qrc:/qml/main.qml"));
        QObject::connect(view->engine(), &QQmlEngine::quit, qGuiApp, &QCoreApplication::quit);
        views.append(view);
        view->showFullScreen();
    }

Then when I try with vc4-fkms-v3d on Yocto, I get no performance improvement like you. There must be something that is done in Raspbian that we are missing.

@agherzan @kraj I did not see in meta-raspberrypi sources any reference to "linux-rasp-pi3-vc4-g++". Qt compilation is done with -xplatform linux-oe-g++ (qtbase_git.bb). Maybe this could be the problem. In order to have hardware acceleration we might have to compile qt with -device linux-rasp-pi3-vc4-g++ and set the other configure flags accordingly for "-device" compilation and not "-xplatform" compilation. The Raspbian compilation that @peel70 tried is I assume something like that for the Raspbian:

 ./configure -release -opengl es2 -device linux-rasp-pi3-vc4-g++ \
   -device-option CROSS_COMPILE=~/raspbian/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- \
   -sysroot ~/raspbian/sysroot \
   -prefix /usr/local/qt5pi -extprefix ~/raspbian/qt5pi -hostprefix ~/raspbian/qt5 \
   -v -nomake examples -nomake tests -no-use-gold-linker

Maybe we could tailor this in qtbase_git.bbappend in meta-raspberrypi layer. Does this make sense ?

peel70 commented 5 years ago

Hi @mozcelikors , I found a potential solution after finding the https://bugreports.qt.io/browse/QTBUG-76889?filter=-3 and the relative guide made by Mark at this link http://wapel.de/?p=641 I've checked the Qt's Yocto log.do_configure and the cross compile config.summary and both build

EGLFS EGLDevice ...................... yes EGLFS GBM ............................ yes

that is for the eglfs_kms because instead of EGLFS on Broadcom it use EGLFS on Mesa (if I understand) So I'm not sure that the problem is in the Qt compilation or in the system build relative to the render group for PI user, not sure necessary for root.

I can confirm that all reported in the https://doc.qt.io/qt-5/embedded-linux.html works. I was able to configure the json and clone HDMI1 to HDMI2 or with QScreen play two different QML at the same time with CPU under the 7% (full HD not 4K), maybe a difference on that line

QQuickView view = new QQuickView; to QQuickView view = new QQuickView();

the problem, for me, is that the H265 video si not accelerated (and is what I need), in gstreamer 1.14 and 1.17 I think there is something missing somewhere (maybe OpenMax need manual compilation with the new VC library?)

mozcelikors commented 5 years ago

@peel70 You were able to do this on Raspbian, is that correct?

I can confirm that all reported in the https://doc.qt.io/qt-5/embedded-linux.html works. I was able to configure the json and clone HDMI1 to HDMI2 or with QScreen play two different QML at the same time with CPU under the 7% (full HD not 4K), maybe a difference on that line

Also you mean that gstreamer acceleration does not work in Raspbian, right?

I am currently interested in pure Yocto solution since my distro developments depend on Qt-EGLFS. I am hoping to find a solution in Yocto, and I thought I'd give this a shot. I will let you know if it helps.

peel70 commented 5 years ago

Hi @mozcelikors, yes I confirm its working on Raspbian, there is a problem on QtMultimedia with gstreamer with the video acceleration (like the previous RPI3,2,1,0) I hoping that this will be fixed.

agherzan commented 5 years ago

I tried to compare it against rpi3 with kmscube:

root@raspberrypi3-64:~# kmscube
Using display 0x55758f81f0 with EGL version 1.4
===================================
EGL information:
  version: "1.4"
  vendor: "Mesa Project"
  client extensions: "EGL_EXT_client_extensions EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_a"
  display extensions: "EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_cl_event2 "
===================================
OpenGL ES 2.x information:
  version: "OpenGL ES 2.0 Mesa 19.1.1"
  shading language version: "OpenGL ES GLSL ES 1.0.16"
  vendor: "Broadcom"
  renderer: "VC4 V3D 2.1"
  extensions: "GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_element_i"
===================================

root@raspberrypi4-64:~# kmscube
Using display 0x55a3d701e0 with EGL version 1.4
===================================
EGL information:
  version: "1.4"
  vendor: "Mesa Project"
  client extensions: "EGL_EXT_client_extensions EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_a"
  display extensions: "EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_"
===================================
OpenGL ES 2.x information:
  version: "OpenGL ES 3.1 Mesa 19.1.1"
  shading language version: "OpenGL ES GLSL ES 3.10"
  vendor: "VMware, Inc."
  renderer: "softpipe"
  extensions: "GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_filter_anisotropic GL_EXT_texture_compression_s3tc GL_EXT_texture_compression_dxt1 e
GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_float GL_OES_text[   18.710025] random: 7 urandom warning(s) mig
ure_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_half_float GL_EXT_texture_sRGB_decode GL_OES_EGL"
===================================
Using modifier ffffffffffffff
failed to set mode: Invalid argument

It takes the wrong renderer on rpi4.

agherzan commented 5 years ago

I think the core of the issue (or at least part of it) is that mesa doesn't have the right driver enabled (v3d).

gitgonewithwind commented 5 years ago

I think the core of the issue (or at least part of it) is that mesa doesn't have the right driver enabled (v3d).

Thank you. I got it.

agherzan commented 5 years ago

I'm onto something. I'll update soon.

gitgonewithwind commented 5 years ago

I'm onto something. I'll update soon.

good news. I will try it.

peel70 commented 5 years ago

hi @agherzan , this is the output from Raspian Burster

pi@raspberrypi:~/kmscube $ ./kmscube
Using display 0x1ef1710 with EGL version 1.4
===================================
EGL information:
  version: "1.4"
  vendor: "Mesa Project"
  client extensions: "EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query
 EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions 
EGL_KHR_debug EGL_EXT_platform_wayland EGL_EXT_platform_x11 EGL_MESA_platform_gbm 
EGL_MESA_platform_surfaceless"

display extensions: "EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import 
EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_cl_event2 EGL_KHR_config_attribs 
EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync 
EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image 
EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image 
EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base 
EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync 
EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float EGL_KHR_wait_sync 
EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export 
EGL_WL_bind_wayland_display "

===================================
OpenGL ES 2.x information:
  version: "OpenGL ES 3.0 Mesa 19.1.0-devel"
  shading language version: "OpenGL ES GLSL ES 3.00"
  vendor: "Broadcom"
  renderer: "V3D 4.2"
  extensions: "GL_EXT_blend_minmax GL_EXT_multi_draw_arrays 
GL_EXT_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 
GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer 
GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_stencil8 GL_OES_texture_3D 
GL_OES_texture_float GL_OES_texture_half_float GL_OES_texture_half_float_linear 
GL_OES_texture_npot GL_OES_vertex_half_float GL_EXT_texture_sRGB_decode 
GL_OES_EGL_image GL_OES_depth_texture GL_OES_packed_depth_stencil 
GL_EXT_texture_type_2_10_10_10_REV GL_OES_get_program_binary GL_APPLE_texture_max_level 
GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_EXT_frag_depth 
GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync 
GL_OES_vertex_array_object GL_EXT_occlusion_query_boolean GL_EXT_texture_rg 
GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth 
GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range 
GL_KHR_debug GL_KHR_texture_compression_astc_ldr GL_OES_depth_texture_cube_map 
GL_OES_required_internalformat GL_OES_surfaceless_context GL_EXT_color_buffer_float 
GL_EXT_sRGB_write_control GL_EXT_separate_shader_objects GL_EXT_shader_integer_mix 
GL_EXT_base_instance GL_EXT_compressed_ETC1_RGB8_sub_texture 
GL_EXT_draw_elements_base_vertex GL_EXT_texture_border_clamp 
GL_KHR_context_flush_control GL_OES_draw_elements_base_vertex 
GL_OES_texture_border_clamp GL_OES_texture_stencil8 GL_EXT_float_blend GL_KHR_no_error 
GL_KHR_texture_compression_astc_sliced_3d GL_OES_EGL_image_external_essl3 
GL_MESA_shader_integer_functions GL_KHR_parallel_shader_compile GL_EXT_texture_query_lod 
"
===================================
agherzan commented 5 years ago

@peel70 I've done that too. I know that it's picked correctly there.

agherzan commented 5 years ago

@peel70 but do you get any output on hdmi?

peel70 commented 5 years ago

@agherzan if you mean on Raspian yes and QML is accelerated, if you mean with the master branch of Yocto, yes but not accelerated

agherzan commented 5 years ago

OK. So you are using rpi4 (32b right?). Have you tried kmscube on Yocto?

peel70 commented 5 years ago

right rpi4 32bit. No I've not tried kmscube on Yocto

peel70 commented 5 years ago

@agherzan is not installed on my Yocto's image, I've to rebuild it to try, I've noticed that there is not the /opt/vc folder in the image. Maybe the problem is this?

gitgonewithwind commented 5 years ago

I'm going to try kmscube

kraj commented 5 years ago

@agherzan probably we should disable vc4 graphics for 32bit rpi4 for now.

agherzan commented 5 years ago

@kraj It's really annoying because it works on raspbian. With vc4 fkms. I just miss something which makes mesa select software renderer.

gitgonewithwind commented 5 years ago

in yocto:

raspberrypi4:/home/myuser# export DISPLAY=:0
raspberrypi4:/home/myuser# kmscube
drmModeGetResources failed: Invalid argument
failed to initialize legacy DRM

peel70 commented 5 years ago

@gitgonewithwind with rpi4 and kms you don't need to export DISPLAY it's not working if you export DISPLAY

gitgonewithwind commented 5 years ago

my start up script:

!/bin/sh

export DISPLAY=:0

xset s off
xset dpms 0 0 0
xset -dpms
..

kernel boot up output:

....

starting mountd: done
Starting system log daemon...0
Starting kernel log daemon...0
Starting crond: OK
Modifiers specified, but DRI is too old
(II) modeset(0): Initializing kms color map for depth 24, 8 bpc.
The XKEYBOARD keymap compiler (xkbcomp) reports:

Warning: Unsupported high keycode 372 for name ignored
X11 cannot support keycodes above 255.
This warning only shows for the first high keycode.
Errors from xkbcomp are not fatal to the X server
[ 38.050521] ------------[ cut here ]------------
[ 38.055342] WARNING: CPU: 0 PID: 416 at drivers/gpu/drm/vc4/vc4_firmware_kms.c:899 vc4_crtc_atomic_flush+0x98/0x9c [vc4]
[ 38.066414] Modules linked in: nfsd ipv6 i2c_dev brcmfmac brcmutil sha256_generic vc4 bcm2835_v4l2(C) snd_soc_core bcm2835_codec(C) cfg80211 v4l2_mem2mem snd_compress spidev joydev snd_pcm_dmaengine bd [ 38.110057] CPU: 0 PID: 416 Comm: Xorg Tainted: G C 4.19.58 #1
[ 38.117300] Hardware name: BCM2835
[ 38.120780] [] (unwind_backtrace) from [] (show_stack+0x20/0x24)
[ 38.128648] [] (show_stack) from [] (dump_stack+0xbc/0x100)
[ 38.136076] [] (dump_stack) from [] (warn.part.0+0xcc/0xe8)
[ 38.143681] [] (
warn.part.0) from [] (warn_slowpath_null+0x54/0x5c)
[ 38.152039] [] (warn_slowpath_null) from [] (vc4_crtc_atomic_flush+0x98/0x9c [vc4])
[ 38.161650] [] (vc4_crtc_atomic_flush [vc4]) from [] (drm_atomic_helper_commit_planes+0x22c/0x2a0)
[ 38.172558] [] (drm_atomic_helper_commit_planes) from [] (vc4_atomic_complete_commit+0x60/0x314 [vc4])
[ 38.183854] [] (vc4_atomic_complete_commit [vc4]) from [] (vc4_atomic_commit+0xe8/0x178 [vc4])
[ 38.194405] [] (vc4_atomic_commit [vc4]) from [] (drm_atomic_commit+0x54/0x60)
[ 38.203511] [] (drm_atomic_commit) from [] (drm_mode_atomic_ioctl+0x76c/0xb0c)
[ 38.212614] [] (drm_mode_atomic_ioctl) from [] (drm_ioctl_kernel+0xc4/0x100)
[ 38.221538] [] (drm_ioctl_kernel) from [] (drm_ioctl+0x208/0x3cc)
[ 38.229494] [] (drm_ioctl) from [] (do_vfs_ioctl+0x3c0/0x7e8)
[ 38.237099] [] (do_vfs_ioctl) from [] (ksys_ioctl+0x44/0x70)
[ 38.244613] [] (ksys_ioctl) from [] (sys_ioctl+0x18/0x1c)
[ 38.251863] [] (sys_ioctl) from [] (ret_fast_syscall+0x0/0x28)
[ 38.259545] Exception stack(0xdc92dfa8 to 0xdc92dff0)
[ 38.264677] dfa0: 01f78d18 bede4970 0000000a c03864bc bede4970 00000000
[ 38.272982] dfc0: 01f78d18 bede4970 c03864bc 00000036 01f4e460 01f900d8 01f90138 01f4e490
[ 38.281284] dfe0: b6d0c094 bede4944 b6cf63df b6b2d4a8
[ 38.286468] ---[ end trace f0a887792c655353 ]---
[ 38.300270] ------------[ cut here ]------------
[ 38.304972] WARNING: CPU: 0 PID: 0 at drivers/gpu/drm/drm_vblank.c:1026 drm_vblank_put+0xf0/0xf4
[ 38.313888] Modules linked in: nfsd ipv6 i2c_dev brcmfmac brcmutil sha256_generic vc4 bcm2835_v4l2(C) snd_soc_core bcm2835_codec(C) cfg80211 v4l2_mem2mem snd_compress spidev joydev snd_pcm_dmaengine bd [ 38.357320] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G WC 4.19.58 #1
[ 38.364826] Hardware name: BCM2835
[ 38.368290] [] (unwind_backtrace) from [] (show_stack+0x20/0x24)
[ 38.376155] [] (show_stack) from [] (dump_stack+0xbc/0x100)
[ 38.383581] [] (dump_stack) from [] (warn.part.0+0xcc/0xe8)
[ 38.391183] [] (
warn.part.0) from [] (warn_slowpath_null+0x54/0x5c)
[ 38.399490] [] (warn_slowpath_null) from [] (drm_vblank_put+0xf0/0xf4)
[ 38.407886] [] (drm_vblank_put) from [] (drm_crtc_vblank_put+0x20/0x24)
[ 38.416410] [] (drm_crtc_vblank_put) from [] (vc4_crtc_handle_page_flip+0x50/0x60 [vc4])
[ 38.426465] [] (vc4_crtc_handle_page_flip [vc4]) from [] (vc4_crtc_irq_handler+0xc0/0x130 [vc4])
[ 38.437188] [] (vc4_crtc_irq_handler [vc4]) from [] (handle_irq_event_percpu+0x6c/0x294)
[ 38.447345] [] (__handle_irq_event_percpu) from [] (handle_irq_event_percpu+0x40/0x9c)
[ 38.457147] [] (handle_irq_event_percpu) from [] (handle_irq_event+0x48/0x6c)
[ 38.466159] [] (handle_irq_event) from [] (handle_fasteoi_irq+0xec/0x194)
[ 38.474821] [] (handle_fasteoi_irq) from [] (generic_handle_irq+0x34/0x44)
[ 38.483570] [] (generic_handle_irq) from [] (
handle_domain_irq+0x8c/0xf8)
[ 38.492407] [] (handle_domain_irq) from [] (gic_handle_irq+0x4c/0x88)
[ 38.500889] [] (gic_handle_irq) from [] (
irq_svc+0x5c/0x94)
[ 38.508483] Exception stack(0xc1001ed8 to 0xc1001f20)
[ 38.513612] 1ec0: c0209d3c 00000000
[ 38.521915] 1ee0: 40010093 40010093 00000000 c1000000 c1004db8 c1004e00 c10961f6 c0b9fe38
[ 38.530218] 1f00: c0e5ea38 c1001f34 ffffe000 c1001f28 c1000000 c0209d40 40010013 ffffffff
[ 38.538528] [] (__irq_svc) from [] (arch_cpu_idle+0x34/0x4c)
[ 38.546045] [] (arch_cpu_idle) from [] (default_idle_call+0x34/0x48)
[ 38.554269] [] (default_idle_call) from [] (do_idle+0xe8/0x174)
[ 38.562051] [] (do_idle) from [] (cpu_startup_entry+0x28/0x2c)
[ 38.569742] [] (cpu_startup_entry) from [] (rest_init+0xd4/0xd8)
[ 38.577610] [] (rest_init) from [] (start_kernel+0x4c4/0x4f4)
[ 38.585207] ---[ end trace f0a887792c655354 ]---
server does not have extension for dpms option
xset: unknown option 0

usage: xset [-display host:dpy] option ...
To turn bell off:
-b b off b 0
To set bell volume, pitch and duration:
b [vol [pitch [dur]]] b on
To disable bug compatibility mode:
-bc
To enable bug compatibility mode:
bc
To turn keyclick off:
-c c off c 0
To set keyclick volume:
c [0-100] c on
To control Energy Star (DPMS) features:
-dpms Energy Star features off
+dpms Energy Star features on
dpms [standby [suspend [off]]]
force standby
force suspend
force off
force on
(also implicitly enables DPMS features)
a timeout value of zero disables the mode
To set the font path:
fp= path[,path...]
To restore the default font path:
fp default
To have the server reread font databases:
fp rehash
To remove elements from font path:
-fp path[,path...] fp- path[,path...]
To prepend or append elements to font path:
+fp path[,path...] fp+ path[,path...]
To set LED states off or on:
-led [1-32] led off
led [1-32] led on
To set mouse acceleration and threshold:
m [acc_mult[/acc_div] [thr]] m default
To set pixel colors:
p pixel_value color_name
To turn auto-repeat off or on:
-r [keycode] r off
r [keycode] r on
For screen-saver control:
s [timeout [cycle]] s default s on
s blank s noblank s off
s expose s noexpose
s activate s reset
For status information: q
To print version: -version
server does not have extension for -dpms option
/home/myuser /


raspberrypi4:/home/myuser# kmscube
drmModeGetResources failed: Invalid argument
failed to initialize legacy DRM
raspberrypi4:/home/myuser#

peel70 commented 5 years ago

@gitgonewithwind I've build Yocto without X11 like Burster Ligth to have eglfs_kms performance

mozcelikors commented 5 years ago

Let's please focus on the issue at hand. Our purpose is to improve the performance of OpenGL/ES based applications on meta-raspberrypi. @agherzan seems to be close to a solution, that is mesa selecting software renderer on Yocto as opposed to Raspbian, we should stick to it. I think unrelated questions should be asked on different issues to avoid flooding.

gitgonewithwind commented 5 years ago

Burster Ligth

I think I need X11 to run chromium. is it right?

gitgonewithwind commented 5 years ago

@gitgonewithwind I've build Yocto without X11 like Burster Ligth to have eglfs_kms performance

/usr/bin/xli -onroot -center -zoom 100 /home/root/logo.png my company log can show. but very slow to show and disappear. I think it's the same issue with yours. I am not sure.

agherzan commented 5 years ago

Posted an update in https://github.com/agherzan/meta-raspberrypi/issues/461 as I reckon that's the root of these issues. TLDR: Not fixed yet.

peel70 commented 5 years ago

Hi @agherzan I want to summarize my tests:

1) Raspbian Buster Light + Qt 5.12.4 Cross Compiled

2) Bitbake Yocto Master branch, meta-raspberrypi vc4 branch + @kraj hardcoded options Qt 5.12.3

Maybe a problem in the linux raspberry firmware?

agherzan commented 5 years ago

@peel70 https://github.com/agherzan/meta-raspberrypi/pull/476/files should make this work.