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