Qt application on multiple screens

Hello community.
I’m trying to build a sample QT application for multiple screens with resolution of 1920x720.
One of them is connected on LVDS and other is on RGB.
I’m using torizoncore image (toradex_5.4.y)
Linux kernel version is “5.4.129-5.4.0+git.ce72bea42c97”
For Qt application development, I’m using Visual studio code.

I’ve followed QT documentation by following below link
https://doc.qt.io/qt-5/embedded-linux.html

So I think I’ve to use config.yaml file in appconfig_0 folder for EGLFS related configuration
and devcontainer.json in .devcontainer folder for exporting symbols.

After exporting these EGLFS related flags, I can check these are set in docker container by using printenv but still my QT application windows are coming on top of each other.

I’m looking for your help to solve this.

Thanks,
Gaurav

Greetings @gaurav,

I believe those EGLFS flags are only useful if you’re using the EGLFS backend plugin for your Qt apps. By default I think the plugin is Wayland since our containers are Weston/Wayland based. Unless you constructed a special container for EGLFS.

In any case if you are using Weston/Wayland then their might be a mechanism in Weston that could help. Weston can configure specific apps to show on specific displays, see here for more info: Working with Weston on TorizonCore | Toradex Developer Center

I’m not completely sure if Qt apps will respect this, but it’s worth a try.

Best Regards,
Jeremias

Hello @jeremias.tx ,
I ran Multi-display /single-drm interface example.
I followed the documentation you suggested but couldn’t able to find the app ids of applications.
There were three containers running simultaneously in multi display example but was not able to get app-id using WAYLAND_DEBUG.

In weston.ini app-ids that are being assigned are org.qt-project.animation for both, so is that the standard id for QT application.

One more thing is I’ve three displays connected LVDS-1, DPI-1, and HDMI-A-1 and weston.ini in example(multi-display/single-drm interface) is configured for LVDS and DPI but one of the app window is appearing on HDMI display as it should be coming on DPI but it is blank.

Please help me to move ahead, any suggestion will be helpful.

Thanks
Gaurav

In weston.ini app-ids that are being assigned are org.qt-project.animation for both, so is that the standard id for QT application.

Interesting, must be a Qt specific detail as you said.

I did some looking online, and there seems to be some methods/functions in Qt related to screen and displays. This one in particular caught my attention: https://doc.qt.io/qt-5/qwindow.html#setScreen

This suggests to me that you can set which display/screen an application shows up on in the code itself. Unfortunately, I’m not too familiar with Qt myself so I can’t provide anymore details than pointing you in this direction.

Best Regards,
Jeremias