This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM5728: Qt app crashes on DRM

Part Number: AM5728

Tool/software: Linux

I'm using the AM572x EVM, PLSDK = 05.02.00.10 using both the HDMI and on board LCD. We would like to run our application using linuxfb for various performance reasons, with two applications running full screen, one on the LCD and one on the HDMI. We are working on a custom board and will migrate to two LCD outputs.

I read in a related post that fbdev is deprecated and to use DRM instead. However, any Qt application I run will crash when I try this. Below is the Qt debug output and my modetest output. Any advice on what I am doing wrong?

# export QT_LOGGING_RULES=*=true
# export QT_QPA_FB_DRM=1
# /usr/share/qt5/examples/widgets/dialogs/tabdialog/tabdialog  -platform linuxfb
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):
        hwcursor: false
        pbuffers: true
        separateScreens: false
        virtualDesktopLayout: 0
        outputs: QMap(("HDMI1", QMap(("mode", QVariant(QString, "1366x768"))("name", QVariant(QString, "HDMI1"))("touchDevice", QVariant(QString, "/dev/input/event2"))("virtualIndex", QVariant(double, 1))))("UNKNOWN1", QMap(("mode", QVariant(QString, "800x480"))("name", QVariant(QString, "UNKNOWN1"))("touchDevice", QVariant(QString, "/dev/input/event1"))("virtualIndex", QVariant(double, 0)))))
qt.qpa.eglfs.kms: Using backend-provided DRM device /dev/dri/card0
qt.qpa.fb: DRM device /dev/dri/card0 opened
qt.qpa.eglfs.kms: "UNKNOWN1" mode count: 1
qt.qpa.eglfs.kms: mode 0 800 x 480 @ 60 hz
qt.qpa.eglfs.kms: Selected mode 0 : 800 x 480 @ 60 hz for output "UNKNOWN1"
getPlane: Plane for crtc 39 not found
qt.qpa.eglfs.kms: "HDMI1" mode count: 1
qt.qpa.eglfs.kms: mode 0 1366 x 768 @ 60 hz
qt.qpa.eglfs.kms: Selected mode 0 : 1366 x 768 @ 60 hz for output "HDMI1"
getPlane: Plane for crtc 47 not found
qt.qpa.eglfs.kms: Sorted screen list: QVector()
Segmentation fault (core dumped)


# modetest
trying to open device 'i915'...failed
trying to open device 'amdgpu'...failed
trying to open device 'radeon'...failed
trying to open device 'nouveau'...failed
trying to open device 'vmwgfx'...failed
trying to open device 'omapdrm'...done
Encoders:
id      crtc    type    possible crtcs  possible clones
34      39      TMDS    0x00000001      0x00000000
40      0       TMDS    0x00000002      0x00000000

Connectors:
id      encoder status          name            size (mm)       modes   encoders
35      34      connected       DPI-1           0x0             1       34
  modes:
        name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
  800x480 60 800 1010 1040 1056 480 502 515 525 33000 flags: nhsync, nvsync; type: preferred, driver
  props:
        1 EDID:
                flags: immutable blob
                blobs:

                value:
        2 DPMS:
                flags: enum
                enums: On=0 Standby=1 Suspend=2 Off=3
                value: 0
        5 link-status:
                flags: enum
                enums: Good=0 Bad=1
                value: 0
41      0       connected       HDMI-A-1        340x190         1       40
  modes:
        name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
  1366x768 60 1366 1406 1438 1456 768 771 777 793 69300 flags: nhsync, nvsync; type: preferred, driver
  props:
        1 EDID:
                flags: immutable blob
                blobs:

                value:
                        00ffffffffffff0006afec1000000000
                        001601049022137802bbf59455549027
                        23505400000001010101010101010101
                        010101010101121b565a500019302820
                        360058c1100000180000000f00000000
                        00000000000000000020000000fe0041
                        554f0a202020202020202020000000fe
                        004231353658545430312e30200a004a
        2 DPMS:
                flags: enum
                enums: On=0 Standby=1 Suspend=2 Off=3
                value: 0
        5 link-status:
                flags: enum
                enums: Good=0 Bad=1
                value: 0

CRTCs:
id      fb      pos     size
39      60      (0,0)   (800x480)
  800x480 60 800 1010 1040 1056 480 502 515 525 33000 flags: nhsync, nvsync; type: preferred, driver
  props:
        23 CTM:
                flags: blob
                blobs:

                value:
        24 GAMMA_LUT:
                flags: blob
                blobs:

                value:
        25 GAMMA_LUT_SIZE:
                flags: immutable range
                values: 0 4294967295
                value: 256
        30 background:
                flags: range
                values: 0 16777215
                value: 0
        31 trans-key-mode:
                flags: enum
                enums: disable=0 gfx-dst=1 vid-src=2
                value: 0
        32 trans-key:
                flags: range
                values: 0 16777215
                value: 0
        33 alpha_blender:
                flags: range
                values: 0 1
                value: 0
        37 rotation:
                flags: bitmask
                values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
                value: 1
        27 zorder:
                flags: range
                values: 0 3
                value: 0
47      0       (0,0)   (0x0)
   0 0 0 0 0 0 0 0 0 0 flags: ; type:
  props:
        23 CTM:
                flags: blob
                blobs:

                value:
        24 GAMMA_LUT:
                flags: blob
                blobs:

                value:
        25 GAMMA_LUT_SIZE:
                flags: immutable range
                values: 0 4294967295
                value: 256
        30 background:
                flags: range
                values: 0 16777215
                value: 0
        31 trans-key-mode:
                flags: enum
                enums: disable=0 gfx-dst=1 vid-src=2
                value: 0
        32 trans-key:
                flags: range
                values: 0 16777215
                value: 0
        33 alpha_blender:
                flags: range
                values: 0 1
                value: 0
        43 rotation:
                flags: bitmask
                values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
                value: 1
        27 zorder:
                flags: range
                values: 0 3
                value: 0

Planes:
id      crtc    fb      CRTC x,y        x,y     gamma size      possible crtcs
36      39      60      0,0             0,0     0               0x00000003
  formats: RX12 AR12 RG16 XR24 RG24 AR24 RA24 RX24 AR15 XR12 RA12 XR15
  props:
        6 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 1
        37 rotation:
                flags: bitmask
                values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
                value: 1
        27 zorder:
                flags: range
                values: 0 3
                value: 0
        38 zpos:
                flags: range
                values: 0 3
                value: 0
        28 global_alpha:
                flags: range
                values: 0 255
                value: 255
        29 pre_mult_alpha:
                flags: range
                values: 0 1
                value: 0
42      0       0       0,0             0,0     0               0x00000003
  formats: RG16 RX12 YUYV AR15 RA24 NV12 RA12 XR24 RG24 UYVY AR12 XR15 AR24 XR12 RX24
  props:
        6 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 1
        43 rotation:
                flags: bitmask
                values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
                value: 1
        27 zorder:
                flags: range
                values: 0 3
                value: 0
        44 zpos:
                flags: range
                values: 0 3
                value: 0
        28 global_alpha:
                flags: range
                values: 0 255
                value: 255
        29 pre_mult_alpha:
                flags: range
                values: 0 1
                value: 0
48      0       0       0,0             0,0     0               0x00000003
  formats: RG16 RX12 YUYV AR15 RA24 NV12 RA12 XR24 RG24 UYVY AR12 XR15 AR24 XR12 RX24
  props:
        6 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 0
        49 rotation:
                flags: bitmask
                values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
                value: 1
        27 zorder:
                flags: range
                values: 0 3
                value: 2
        50 zpos:
                flags: range
                values: 0 3
                value: 2
        28 global_alpha:
                flags: range
                values: 0 255
                value: 255
        29 pre_mult_alpha:
                flags: range
                values: 0 1
                value: 0
53      0       0       0,0             0,0     0               0x00000003
  formats: RG16 RX12 YUYV AR15 RA24 NV12 RA12 XR24 RG24 UYVY AR12 XR15 AR24 XR12 RX24
  props:
        6 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 0
        54 rotation:
                flags: bitmask
                values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20
                value: 1
        27 zorder:
                flags: range
                values: 0 3
                value: 3
        55 zpos:
                flags: range
                values: 0 3
                value: 3
        28 global_alpha:
                flags: range
                values: 0 255
                value: 255
        29 pre_mult_alpha:
                flags: range
                values: 0 1
                value: 0

Frame buffers:
id      size    pitch