Tool/software: Linux SDK 10.00.07.04
On our customized AM6252 board, use dual display channels to display same content: one is OLDI and the other is RGB-to-HDMI, both resolution are 1920x1080.
1. On SDK 08.06.00.42, using the SDK default file system (QT5.14.2) and Kernel V5.10.y, can display dual channels simultaneously using the eglfs_kms plugin.
The configuration and execution steps are as follows:
root@am62xx-evm:~# cd /usr/share/qt5/examples/opengl/textures/ root@am62xx-evm:/usr/share/qt5/examples/opengl/textures# export export CREDENTIALS_DIRECTORY="/run/credentials/serial-getty@ttyS2.service" export EDITOR="vi" export HOME="/root" export HUSHLOGIN="FALSE" export INVOCATION_ID="a23774652db74caf9ec3104291c379d7" export LANG="C" export LOGNAME="root" export MAIL="/var/spool/mail/root" export MOTD_SHOWN="pam" export OLDPWD="/root" export OPIEDIR export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin" export PS1="\\u@\\h:\\w\\\$ " export PWD="/usr/share/qt5/examples/opengl/textures" export QPEDIR export QTDIR export QTWEBENGINE_CHROMIUM_FLAGS="--disable-seccomp-filter-sandbox" export QTWEBENGINE_DISABLE_SANDBOX="1" export QT_LOGGING_RULES="qt.qpa.eglfs.kms=true" export QT_QPA_EGLFS_ALWAYS_SET_MODE="1" export QT_QPA_EGLFS_INTEGRATION="eglfs_kms" export QT_QPA_EGLFS_KMS_CONFIG="/etc/qt5/eglfs_kms_cfg.json" export QT_WAYLAND_SHELL_INTEGRATION="xdg-shell" export SHELL="/bin/sh" export SHLVL="1" export SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt" export SYSTEMD_EXEC_PID="529" export TERM="vt220" export USER="root" root@am62xx-evm:/usr/share/qt5/examples/opengl/textures# cat /etc/qt5/eglfs_kms_cfg.json { "device": "/dev/dri/card0", "hwcursor": false, "pbuffers": true, "outputs": [ { "name": "LVDS1", "mode": "1920x1080" }, { "name": "HDMI1", "mode": "1920x1080", "clones": "LVDS1" } ] } root@am62xx-evm:/usr/share/qt5/examples/opengl/textures# ./textures -platform eglfs
2.Following the same steps as above on SDK 10.00.07.04 with SDK default file system (QT5.15.13) with Kernel V6.6.y, reports errors as below. The two channel display can't run up.
root@am62xx-evm:/usr/share/qt5/examples/opengl/textures# ./textures -platform eglfs QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' qt.qpa.eglfs.kms: Loading KMS setup from "/etc/qt5/eglfs_kms_cfg.json" qt.qpa.eglfs.kms: Requested configuration (some settings may be ignored): headless: false hwcursor: false pbuffers: true separateScreens: false virtualDesktopLayout: 0 outputs: QMap(("HDMI1", QMap(("clones", QVariant(QString, "LVDS1"))("mode", QVariant(QString, "1920x1080"))("name", QVariant(QString, "HDMI1"))))("LVDS1", QMap(("mode", QVariant(QString, "1920x1080"))("name", QVariant(QString, "LVDS1"))))) qt.qpa.eglfs.kms: New DRM/KMS via GBM integration created qt.qpa.eglfs.kms: platformInit: Opening DRM device qt.qpa.eglfs.kms: GBM: Using DRM device "/dev/dri/card0" specified in config file qt.qpa.eglfs.kms: Using backend-provided DRM device /dev/dri/card0 qt.qpa.eglfs.kms: Creating GBM device for file descriptor 5 obtained from "/dev/dri/card0" qt.qpa.eglfs.kms: Using dedicated drm event reading thread qt.qpa.eglfs.kms: Initalizing event reader for device 0x326d1280 fd 5 qt.qpa.eglfs.kms: Querying EGLDisplay qt.qpa.eglfs.kms: Event reader thread: entering event loop qt.qpa.eglfs.kms: Atomic reported as supported qt.qpa.eglfs.kms: Atomic disabled qt.qpa.eglfs.kms: Found 2 planes qt.qpa.eglfs.kms: plane 0: id = 31 countFormats = 29 possibleCrtcs = 0x3 supported formats = AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 XR15 XB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV12 qt.qpa.eglfs.kms: property 0: id = 8 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 = 17 name = 'FB_ID' qt.qpa.eglfs.kms: type is OBJECT qt.qpa.eglfs.kms: property 2: id = 18 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 = 20 name = 'CRTC_ID' qt.qpa.eglfs.kms: type is OBJECT qt.qpa.eglfs.kms: property 4: id = 13 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 = 14 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 = 15 name = 'CRTC_W' qt.qpa.eglfs.kms: type is RANGE, value is 1920, possible values are: qt.qpa.eglfs.kms: 0 qt.qpa.eglfs.kms: 2147483647 qt.qpa.eglfs.kms: property 7: id = 16 name = 'CRTC_H' qt.qpa.eglfs.kms: type is RANGE, value is 1080, possible values are: qt.qpa.eglfs.kms: 0 qt.qpa.eglfs.kms: 2147483647 qt.qpa.eglfs.kms: property 8: id = 9 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 = 10 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 = 11 name = 'SRC_W' qt.qpa.eglfs.kms: type is RANGE, value is 125829120, possible values are: qt.qpa.eglfs.kms: 0 qt.qpa.eglfs.kms: 4294967295 qt.qpa.eglfs.kms: property 11: id = 12 name = 'SRC_H' qt.qpa.eglfs.kms: type is RANGE, value is 70778880, possible values are: qt.qpa.eglfs.kms: 0 qt.qpa.eglfs.kms: 4294967295 qt.qpa.eglfs.kms: property 12: id = 30 name = 'IN_FORMATS' qt.qpa.eglfs.kms: type is BLOB qt.qpa.eglfs.kms: property 13: id = 33 name = 'zpos' 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 14: id = 34 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: property 15: id = 35 name = 'COLOR_RANGE' qt.qpa.eglfs.kms: type is ENUM, value is 1, 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 16: id = 36 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 17: id = 37 name = 'pixel blend mode' qt.qpa.eglfs.kms: type is ENUM, value is 0, possible values are: qt.qpa.eglfs.kms: enum 0: Pre-multiplied - 0 qt.qpa.eglfs.kms: enum 1: Coverage - 1 qt.qpa.eglfs.kms: plane 1: id = 41 countFormats = 29 possibleCrtcs = 0x3 supported formats = AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 XR15 XB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV12 qt.qpa.eglfs.kms: property 0: id = 8 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 = 17 name = 'FB_ID' qt.qpa.eglfs.kms: type is OBJECT qt.qpa.eglfs.kms: property 2: id = 18 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 = 20 name = 'CRTC_ID' qt.qpa.eglfs.kms: type is OBJECT qt.qpa.eglfs.kms: property 4: id = 13 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 = 14 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 = 15 name = 'CRTC_W' qt.qpa.eglfs.kms: type is RANGE, value is 1920, possible values are: qt.qpa.eglfs.kms: 0 qt.qpa.eglfs.kms: 2147483647 qt.qpa.eglfs.kms: property 7: id = 16 name = 'CRTC_H' qt.qpa.eglfs.kms: type is RANGE, value is 1080, possible values are: qt.qpa.eglfs.kms: 0 qt.qpa.eglfs.kms: 2147483647 qt.qpa.eglfs.kms: property 8: id = 9 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 = 10 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 = 11 name = 'SRC_W' qt.qpa.eglfs.kms: type is RANGE, value is 125829120, possible values are: qt.qpa.eglfs.kms: 0 qt.qpa.eglfs.kms: 4294967295 qt.qpa.eglfs.kms: property 11: id = 12 name = 'SRC_H' qt.qpa.eglfs.kms: type is RANGE, value is 70778880, possible values are: qt.qpa.eglfs.kms: 0 qt.qpa.eglfs.kms: 4294967295 qt.qpa.eglfs.kms: property 12: id = 30 name = 'IN_FORMATS' qt.qpa.eglfs.kms: type is BLOB qt.qpa.eglfs.kms: property 13: id = 43 name = 'zpos' 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 14: id = 44 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: property 15: id = 45 name = 'COLOR_RANGE' qt.qpa.eglfs.kms: type is ENUM, value is 1, 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 16: id = 46 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 17: id = 47 name = 'pixel blend mode' qt.qpa.eglfs.kms: type is ENUM, value is 0, possible values are: qt.qpa.eglfs.kms: enum 0: Pre-multiplied - 0 qt.qpa.eglfs.kms: enum 1: Coverage - 1 qt.qpa.eglfs.kms: "LVDS1" mode count: 1 crtc index: 0 crtc id: 38 qt.qpa.eglfs.kms: mode 0 1920 x 1080 @ 59 hz qt.qpa.eglfs.kms: Selected mode 0 : 1920 x 1080 @ 59 hz for output "LVDS1" qt.qpa.eglfs.kms: Physical size is QSizeF(344, 193) mm for output "LVDS1" qt.qpa.eglfs.kms: Format is 34325258 requested_by_user = false for output "LVDS1" qt.qpa.eglfs.kms: Output "LVDS1" 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 = 4 name = 'TILE' qt.qpa.eglfs.kms: type is BLOB qt.qpa.eglfs.kms: property 5: id = 20 name = 'CRTC_ID' qt.qpa.eglfs.kms: type is OBJECT qt.qpa.eglfs.kms: property 0: id = 22 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 = 23 name = 'MODE_ID' qt.qpa.eglfs.kms: type is BLOB qt.qpa.eglfs.kms: property 2: id = 19 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: property 3: id = 24 name = 'VRR_ENABLED' 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 = 27 name = 'CTM' qt.qpa.eglfs.kms: type is BLOB qt.qpa.eglfs.kms: property 5: id = 28 name = 'GAMMA_LUT' qt.qpa.eglfs.kms: type is BLOB qt.qpa.eglfs.kms: property 6: id = 29 name = 'GAMMA_LUT_SIZE' qt.qpa.eglfs.kms: type is RANGE, value is 256, possible values are: qt.qpa.eglfs.kms: 0 qt.qpa.eglfs.kms: 4294967295 qt.qpa.eglfs.kms: Output LVDS1 can use 2 planes: 31 41 qt.qpa.eglfs.kms: Chose plane 31 for output LVDS1 (crtc id 38) (may not be applicable) qt.qpa.eglfs.kms: Using plain OpenGL mouse cursor qt.qpa.eglfs.kms: No EDID data for output "LVDS1" qt.qpa.eglfs.kms: "HDMI1" mode count: 35 crtc index: 1 crtc id: 48 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 1680 x 1050 @ 60 hz qt.qpa.eglfs.kms: mode 5 1600 x 900 @ 60 hz qt.qpa.eglfs.kms: mode 6 1280 x 1024 @ 75 hz qt.qpa.eglfs.kms: mode 7 1280 x 1024 @ 72 hz qt.qpa.eglfs.kms: mode 8 1280 x 1024 @ 60 hz qt.qpa.eglfs.kms: mode 9 1440 x 900 @ 75 hz qt.qpa.eglfs.kms: mode 10 1440 x 900 @ 60 hz qt.qpa.eglfs.kms: mode 11 1366 x 768 @ 60 hz qt.qpa.eglfs.kms: mode 12 1280 x 800 @ 60 hz qt.qpa.eglfs.kms: mode 13 1152 x 864 @ 75 hz qt.qpa.eglfs.kms: mode 14 1280 x 768 @ 60 hz qt.qpa.eglfs.kms: mode 15 1280 x 720 @ 60 hz qt.qpa.eglfs.kms: mode 16 1280 x 720 @ 60 hz qt.qpa.eglfs.kms: mode 17 1280 x 720 @ 60 hz qt.qpa.eglfs.kms: mode 18 1280 x 720 @ 50 hz qt.qpa.eglfs.kms: mode 19 1024 x 768 @ 75 hz qt.qpa.eglfs.kms: mode 20 1024 x 768 @ 70 hz qt.qpa.eglfs.kms: mode 21 1024 x 768 @ 60 hz qt.qpa.eglfs.kms: mode 22 800 x 600 @ 75 hz qt.qpa.eglfs.kms: mode 23 800 x 600 @ 72 hz qt.qpa.eglfs.kms: mode 24 800 x 600 @ 60 hz qt.qpa.eglfs.kms: mode 25 720 x 576 @ 50 hz qt.qpa.eglfs.kms: mode 26 720 x 480 @ 60 hz qt.qpa.eglfs.kms: mode 27 720 x 480 @ 60 hz qt.qpa.eglfs.kms: mode 28 640 x 480 @ 75 hz qt.qpa.eglfs.kms: mode 29 640 x 480 @ 73 hz qt.qpa.eglfs.kms: mode 30 640 x 480 @ 67 hz qt.qpa.eglfs.kms: mode 31 640 x 480 @ 60 hz qt.qpa.eglfs.kms: mode 32 640 x 480 @ 60 hz qt.qpa.eglfs.kms: mode 33 640 x 480 @ 60 hz qt.qpa.eglfs.kms: mode 34 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(530, 290) mm for output "HDMI1" qt.qpa.eglfs.kms: Format is 34325258 requested_by_user = false for output "HDMI1" qt.qpa.eglfs.kms: Output "HDMI1" clones output "LVDS1" 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 = 4 name = 'TILE' qt.qpa.eglfs.kms: type is BLOB qt.qpa.eglfs.kms: property 5: id = 20 name = 'CRTC_ID' qt.qpa.eglfs.kms: type is OBJECT qt.qpa.eglfs.kms: property 0: id = 22 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 = 23 name = 'MODE_ID' qt.qpa.eglfs.kms: type is BLOB qt.qpa.eglfs.kms: property 2: id = 19 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: property 3: id = 24 name = 'VRR_ENABLED' 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 = 27 name = 'CTM' qt.qpa.eglfs.kms: type is BLOB qt.qpa.eglfs.kms: property 5: id = 28 name = 'GAMMA_LUT' qt.qpa.eglfs.kms: type is BLOB qt.qpa.eglfs.kms: property 6: id = 29 name = 'GAMMA_LUT_SIZE' qt.qpa.eglfs.kms: type is RANGE, value is 256, possible values are: qt.qpa.eglfs.kms: 0 qt.qpa.eglfs.kms: 4294967295 qt.qpa.eglfs.kms: Output HDMI1 can use 2 planes: 31 41 qt.qpa.eglfs.kms: Chose plane 41 for output HDMI1 (crtc id 48) (may not be applicable) qt.qpa.eglfs.kms: Using plain OpenGL mouse cursor qt.qpa.eglfs.kms: EDID data for output "HDMI1": identifier '', manufacturer 'XMI', model 'Redmi Monitor', serial '2804801185200', physical size: 530.00x290.00 qt.qpa.eglfs.kms: Sorted screen list: QVector(OrderedScreen(QPlatformScreen=0x32705960 ("LVDS1") : 2147483647 / QPoint(0,0) / primary: false), OrderedScreen(QPlatformScreen=0x32710cb0 ("HDMI1") : 2147483647 / QPoint(0,0) / primary: false)) qt.qpa.eglfs.kms: "LVDS1" is cloned by QVector(0x32710cb0) qt.qpa.eglfs.kms: "HDMI1" clones 0x32705960 qt.qpa.eglfs.kms: Adding QPlatformScreen 0x32705960 ( "LVDS1" ) to QPA with geometry QRect(0,0 1920x1080) and isPrimary= false qt.qpa.eglfs.kms: Adding QPlatformScreen 0x32710cb0 ( "HDMI1" ) to QPA with geometry QRect(0,0 1920x1080) and isPrimary= false qt.qpa.eglfs.kms: Creating gbm_surface for screen LVDS1 qt.qpa.eglfs.kms: Got native format 36314752 from eglGetConfigAttrib() with return code true qt.qpa.eglfs.kms: Adding FB, size 1920x1080, DRM format 0x36314752 qt.qpa.eglfs.kms: Setting mode for screen LVDS1 qt.qpa.eglfs.kms: Setting mode for screen HDMI1 qt.qpa.eglfs.kms: Adding FB, size 1920x1080, DRM format 0x36314752 qt.qpa.eglfs.kms: Adding FB, size 1920x1080, DRM format 0x36314752 qt.qpa.eglfs.kms: Adding FB, size 1920x1080, DRM format 0x36314752 Could not queue DRM page flip for clone screen LVDS1 (Device or resource busy) QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer! QEGLPlatformContext: eglSwapBuffers failed: 3003 Could not lock GBM surface front buffer!