Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No HDMI output on Raspberry Pi 4 #453

Closed
mozcelikors opened this issue Jul 25, 2019 · 66 comments
Closed

No HDMI output on Raspberry Pi 4 #453

mozcelikors opened this issue Jul 25, 2019 · 66 comments

Comments

@mozcelikors
Copy link

mozcelikors commented Jul 25, 2019

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
Copy link
Contributor

xuhcc commented Jul 27, 2019

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 b76252c and it's working. So may be this problem is not specific to RPi 4.

@mozcelikors
Copy link
Author

mozcelikors commented Jul 27, 2019

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

@agherzan
Copy link
Owner

agherzan commented Jul 27, 2019

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

@mozcelikors
Copy link
Author

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
Copy link
Author

@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
Copy link
Collaborator

kraj commented Jul 30, 2019

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

@mozcelikors
Copy link
Author

@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
Copy link
Collaborator

kraj commented Jul 30, 2019

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
Copy link
Author

@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
Copy link
Owner

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

@mozcelikors
Copy link
Author

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

@agherzan
Copy link
Owner

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

@mozcelikors
Copy link
Author

@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
Copy link

peel70 commented Aug 4, 2019

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
Copy link
Author

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
Copy link

peel70 commented Aug 5, 2019

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
Copy link
Owner

agherzan commented Aug 5, 2019

@kraj @mozcelikors raspberrypi/linux#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
Copy link
Author

@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
Copy link

peel70 commented Aug 6, 2019

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
Copy link
Author

@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
Copy link

peel70 commented Aug 7, 2019

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
Copy link
Author

mozcelikors commented Aug 7, 2019

@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
Copy link

peel70 commented Aug 7, 2019

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
Copy link
Author

@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
Copy link

peel70 commented Aug 8, 2019

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
Copy link
Owner

agherzan commented Aug 8, 2019

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
Copy link
Owner

agherzan commented Aug 8, 2019

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
Copy link

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.

@gitgonewithwind
Copy link

I'm going to try kmscube

@kraj
Copy link
Collaborator

kraj commented Aug 8, 2019

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

@agherzan
Copy link
Owner

agherzan commented Aug 8, 2019

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

@gitgonewithwind
Copy link

in yocto:

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

@peel70
Copy link

peel70 commented Aug 8, 2019

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

@gitgonewithwind
Copy link

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
Copy link

peel70 commented Aug 8, 2019

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

@mozcelikors
Copy link
Author

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
Copy link

Burster Ligth

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

@gitgonewithwind
Copy link

gitgonewithwind commented Aug 8, 2019

@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
Copy link
Owner

agherzan commented Aug 9, 2019

Posted an update in #461 as I reckon that's the root of these issues. TLDR: Not fixed yet.

@peel70
Copy link

peel70 commented Aug 15, 2019

Hi @agherzan
I want to summarize my tests:

  1. Raspbian Buster Light + Qt 5.12.4 Cross Compiled
  • kmscube works
  • Qt see two QScreen and I'm able to mirror or put different contents on the two screens at the same time on /dev/dri/card1
  1. Bitbake Yocto Master branch, meta-raspberrypi vc4 branch + @kraj hardcoded options Qt 5.12.3
  • 64 bit image kmscube not working (maybe my mistake in the build), Qt5 perfomance bad

  • 32 bit image kmscube works only in /dev/dri/card0, Qt5 performance good but Qt see only 1 Screen and work on /dev/dri/card0 the secondary screen remain with the shaded rectangle as boot. Try to pass a screen configuration as reported here https://doc.qt.io/qt-5/embedded-linux.html cause application crash; tvservice -l command see both devices

Maybe a problem in the linux raspberry firmware?

@agherzan
Copy link
Owner

@peel70
Copy link

peel70 commented Aug 15, 2019

@agherzan I will try in this days and give you a feedback.

@gitgonewithwind
Copy link

gitgonewithwind commented Aug 15, 2019

@agherzan
the testing result for your update ag/rpi4-graphics branch is same as yesterday:

pberrypi4:/home/myuser# kmscube -D /dev/dri/card1
Using display 0x2d9a90 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_dev"
display extensions: "EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_EXT_"

OpenGL ES 2.x information:
version: "OpenGL ES 3.0 Mesa 19.1.1"
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_form"

failed to set mode: Permission denied
raspberrypi4:/home/myuser# kmscube -D /dev/dri/card0
drmModeGetResources failed: Invalid argument
failed to initialize legacy DRM
raspberrypi4:/home/myuser# kmscube
drmModeGetResources failed: Invalid argument
failed to initialize legacy DRM

I try again, my card1 is same as your card0, card0 is same as your card1. but I have a utput:
failed to set mode: Permission denied what's that? why?

root is same.

bitbake core-image-full-cmdline and bitbake core-image-x11 for kmscube test results are same,chromium no display, I use my own local.conf for core-image-full-cmdline in #467,
core-image-x11 is default local.conf.
but bitbake core-image-x11 and default local.conf image can show touch screen calibration and vim.
now I am going to add chromium in default local.conf for bitbake core-image-x11 to test.
chromiun needs take time to compile, my computer has 22 cores?. it still take half hour to finish.

@agherzan
Copy link
Owner

@gitgonewithwind what user are you running that command as?

@gitgonewithwind
Copy link

@agherzan
root

@agherzan
Copy link
Owner

I have not tried chromium but I can say that kmscube and qt5 demos work as expected.

@gitgonewithwind
Copy link

I have not tried chromium but I can say that kmscube and qt5 demos work as expected.

so you mean chromium should work well? I am compiling the chromium-x11... in bitbake core-image-x11 and default local.conf ...

@agherzan
Copy link
Owner

chromium is on top of X which I haven't tried. I only worked over eglfs.

@gitgonewithwind
Copy link

chromium is on top of X which I haven't tried. I only worked over eglfs.

can you try later? I have spent more than 3 weeks, I worry about my manager is not happy. thanks

@agherzan
Copy link
Owner

Sadly I can't because I don't have the time for it.

@gitgonewithwind
Copy link

Sadly I can't because I don't have the time for it.

No problem. I mean It should work well up to now? I am going to try.

@agherzan
Copy link
Owner

agherzan commented Aug 15, 2019

@gitgonewithwind I don't see why it wouldn't work right now. Give it a spin but please start with a minimum configuration leaving as much as possible default. For example VC4DTBO. All you should need is to IMAGE_INSTALL_append, MACHINE and maybe DL_DIR and related. Start from this trying to run a mesa demo over x11 (glxgears). Afterwards, if it works, you can move on.

Also, please keep the discussions in the relevant issue.

@gitgonewithwind
Copy link

gitgonewithwind commented Aug 15, 2019

@agherzan
thank you so much for your suggestions. I will do it from beginning.

@agherzan
Copy link
Owner

This should be fixed now. See: #476

@sirus20x6
Copy link

still experiencing this

`[ 59.096]
X.Org X Server 1.20.5
X Protocol Version 11, Revision 0
[ 59.096] Build Operating System: Linux 4.4.0-142-generic x86_64
[ 59.096] Current Operating System: Linux product 4.19.75-yocto-standard #1 SMP Tue Nov 19 14:46:09 UTC 2019 armv7l
[ 59.096] Kernel command line: dwc_otg.lpm_enable=0 rootfstype=ext4 rootwait logo.nologo console=ttyS0,9600 root=/dev/mmcblk0p2 rootrw=/dev/mmcblk0p7 rootrwfstype=ext4 init=/init rootrwoptions=rw,noatime console=tty1 logo.nologo
[ 59.097] Build Date: 01 February 2020 04:54:08AM
[ 59.097]
[ 59.097] Current version of pixman: 0.38.4
[ 59.097] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 59.097] Markers: (--) probed, () from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 59.098] (==) Log file: "/var/log/Xorg.0.log", Time: Sat Feb 1 02:31:40 2020
[ 59.099] (==) Using config file: "/etc/X11/xorg.conf"
[ 59.099] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 59.099] (==) No Layout section. Using the first Screen section.
[ 59.099] (==) No screen section available. Using defaults.
[ 59.099] (
) |-->Screen "Default Screen Section" (0)
[ 59.099] (**) | |-->Monitor ""
[ 59.101] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[ 59.101] (==) Automatically adding devices
[ 59.101] (==) Automatically enabling devices
[ 59.101] (==) Automatically adding GPU devices
[ 59.101] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 59.101] (WW) The directory "/usr/share/fonts/X11/misc/" does not exist.
[ 59.101] Entry deleted from font path.
[ 59.101] (WW) The directory "/usr/share/fonts/X11/TTF/" does not exist.
[ 59.101] Entry deleted from font path.
[ 59.101] (WW) The directory "/usr/share/fonts/X11/OTF/" does not exist.
[ 59.101] Entry deleted from font path.
[ 59.101] (WW) The directory "/usr/share/fonts/X11/Type1/" does not exist.
[ 59.101] Entry deleted from font path.
[ 59.101] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[ 59.102] Entry deleted from font path.
[ 59.102] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[ 59.102] Entry deleted from font path.
[ 59.102] (==) FontPath set to:

[ 59.102] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 59.102] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 59.102] (II) Loader magic: 0x150d90
[ 59.102] (II) Module ABI versions:
[ 59.102] X.Org ANSI C Emulation: 0.4
[ 59.102] X.Org Video Driver: 24.0
[ 59.102] X.Org XInput driver : 24.1
[ 59.102] X.Org Server Extension : 10.0
[ 59.105] (++) using VT number 1

[ 59.106] (EE) systemd-logind: failed to get session: PID 521 does not belong to any known session
[ 59.109] (II) xfree86: Adding drm device (/dev/dri/card1)
[ 59.110] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 59.111] (II) no primary bus or device found
[ 59.111] falling back to /sys/devices/platform/soc/soc:gpu/drm/card1
[ 59.111] (II) LoadModule: "glx"
[ 59.111] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 59.118] (II) Module glx: vendor="X.Org Foundation"
[ 59.118] compiled for 1.20.5, module version = 1.0.0
[ 59.118] ABI class: X.Org Server Extension, version 10.0
[ 59.118] (==) Matched modesetting as autoconfigured driver 0
[ 59.118] (==) Matched fbdev as autoconfigured driver 1
[ 59.118] (==) Assigned the driver to the xf86ConfigLayout
[ 59.118] (II) LoadModule: "modesetting"
[ 59.119] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[ 59.119] (II) Module modesetting: vendor="X.Org Foundation"
[ 59.119] compiled for 1.20.5, module version = 1.20.5
[ 59.119] Module class: X.Org Video Driver
[ 59.119] ABI class: X.Org Video Driver, version 24.0
[ 59.119] (II) LoadModule: "fbdev"
[ 59.120] (WW) Warning, couldn't open module fbdev
[ 59.120] (EE) Failed to load module "fbdev" (module does not exist, 0)
[ 59.120] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 59.121] (II) modeset(0): using drv /dev/dri/card1
[ 59.122] (II) modeset(0): Creating default Display subsection in Screen section
"Default Screen Section" for depth/fbbpp 24/32
[ 59.122] (==) modeset(0): Depth 24, (==) framebuffer bpp 32
[ 59.122] (==) modeset(0): RGB weight 888
[ 59.122] (==) modeset(0): Default visual is TrueColor
[ 59.122] (II) Loading sub module "glamoregl"
[ 59.122] (II) LoadModule: "glamoregl"
[ 59.122] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[ 59.138] (II) Module glamoregl: vendor="X.Org Foundation"
[ 59.138] compiled for 1.20.5, module version = 1.0.1
[ 59.138] ABI class: X.Org ANSI C Emulation, version 0.4
[ 59.195] (II) modeset(0): glamor X acceleration enabled on V3D 4.2
[ 59.195] (II) modeset(0): glamor initialized
[ 59.197] (II) modeset(0): Output HDMI-1 has no monitor section
[ 59.200] (II) modeset(0): EDID for output HDMI-1
[ 59.200] (II) modeset(0): Printing probed modes for output HDMI-1
[ 59.200] (II) modeset(0): Modeline "1024x768"x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz e)
[ 59.200] (II) modeset(0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz e)
[ 59.200] (II) modeset(0): Modeline "800x600"x56.2 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz e)
[ 59.200] (II) modeset(0): Modeline "848x480"x60.0 33.75 848 864 976 1088 480 486 494 517 +hsync +vsync (31.0 kHz e)
[ 59.201] (II) modeset(0): Modeline "640x480"x59.9 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz e)
[ 59.201] (II) modeset(0): Output HDMI-1 connected
[ 59.201] (II) modeset(0): Using exact sizes for initial modes
[ 59.201] (II) modeset(0): Output HDMI-1 using initial mode 1024x768 +0+0
[ 59.201] (==) modeset(0): Using gamma correction (1.0, 1.0, 1.0)
[ 59.201] (==) modeset(0): DPI set to (96, 96)
[ 59.201] (II) Loading sub module "fb"
[ 59.201] (II) LoadModule: "fb"
[ 59.201] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 59.202] (II) Module fb: vendor="X.Org Foundation"
[ 59.202] compiled for 1.20.5, module version = 1.0.0
[ 59.202] ABI class: X.Org ANSI C Emulation, version 0.4
[ 59.203] (EE)
Fatal server error:
[ 59.203] (EE) AddScreen/ScreenInit failed for driver 0
[ 59.204] (EE)
[ 59.204] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 59.204] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 59.204] (EE)
[ 59.205] (EE) Server terminated with error (1). Closing log file.
`

@agherzan
Copy link
Owner

@sirus20x6 see the comments above.

@QGB
Copy link

QGB commented Sep 7, 2022

vlc: unknown option or missing mandatory argument `--fbdev=/dev/fb0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants