Hello community,
Following Boot to Qt for Embedded Linux and Building Your Own Embedded Linux Image
I created the image for b2qt-automotive:
bitbake b2qt-automotive-qt5-image
I modified my local.conf to work only with EGLFS, adding the line:
DISTRO_FEATURES_remove = "X11 wayland"
I also modified my device tree to work with LVDS and according to i.MX6 Multiple Outputs I set my u-boot vidargs
to work with HDMI and LVDS
setenv vidargs 'video=mxcfb0:dev=ldb video=mxcfb1:dev=hdmi,1280x1024M@60,if=RGB24 video=mxcfb2:off video=mxcfb3:off fbmem=32M'
Finally the result is that I can run the Qt Neptune demo or other Qt app in one screen or the other, even both at the same time, setting QT_QPA_EGLFS_FB to the correct fb (/dev/fb0 for LVDS and /dev/fb2 for HDMI) before executing the app, or just random pixels with cat /dev/urandom > /dev/fb2
so far so good, right?
But now I’d like to modify the Neptune configuration to work something like this Neptune 3 UI - Configuring Screens on Embedded Linux
But when I execute qtdiag I get:
Screens: 1, High DPI scaling: inactive
# 0 "" Depth: 16 Primary: yes
Manufacturer:
Model:
Serial number:
Geometry: 1920x720+0+0 Available: 1920x720+0+0
Physical size: 487.68x182.88 mm Refresh: 62 Hz Power state: 0
Physical DPI: 100,100 Logical DPI: 100,100 Subpixel_None
DevicePixelRatio: 1 Pixel density: 1
Primary orientation: 2 Orientation: 2 Native orientation: 0 OrientationUpdateMask: 0
Or in my Qt App using:
QList<QScreen *> screens = QGuiApplication::screens();
printf("Screens = %d\n", screens.count());
I only get 1 as screens count
It looks like I am missing to set up a configuration for the Qt Stack to detect both screens but I don’t know.
Has somebody has had any experience working with multiple screens in Boot to Qt?
Thanks!