hi,everyone
we want to output multi display(svideo+hdmi+lvds) in qt5.4,but just one of them can output.
our env:
imx6q + linux3.10.53+qt5.4
display:
svideo (720x480/720x576)
hdmi (1920x1080)
lvds (1920x1080)
1.we test in qt4.8.6 ( lvds=/dev/fb0;svideo=/dev/fb2 )as follow:
# export QWS_DISPLAY="Multi: LinuxFB:fb=/dev/fb0 LinuxFb:fb=/dev/fb2"
# ./demo -qws
we can output dual display,but svideo cannot display normally because of the resolution of svdieo is different from the resolution of lvds. and we don't know how to output display in qt5.4,because qt5.4 cancel the qws.
3. we found the follow link:
https://community.freescale.com/message/305246#305246
Li Qiang said that
"To avoid the tearing issue, you should not copy the data from fb0 to fb1 directly. I think you should create two physical buffer queues for the two displays, and your application will always draw into on queue for fb0, before render out to display for the current frame, you should use ipu lib to resize this frame buffer to another queue, which is for fb1. Then when you output to fb0, you also need output the other buffer to fb1, I think you need use pan display or V4l2 output for such use case.
In this case, when update the display, it will update the frame buffer frame address directly, so there will not tearing, and since resizing from queue 0 to queue 1 is implemented by IPU hardware, no more CPU loading will be used."
but we don't know how to draw the dispaly by ourself.
Is everyone know how to draw the display or how the output the dual display in qt5.4?
Please give me a handle.
Best Regards.
Solved! Go to Solution.
Hi,
Have you taken a look at this?
Both linuxfb and eglfs will try to query the display dimensions (both physical and pixels) from the framebuffer device. This may not always lead to good looking results. For eglfs the screen size can be set explicitly by setting QT_QPA_EGLFS_WIDTH and QT_QPA_EGLFS_HEIGHT to the desired width/height (in pixels) before launching the application. linuxfb has a size=…x… plugin parameter (for example -platform linuxfb:fb=/dev/fb2:size=1920x1080).
I do not know if you have tried that.
/Alejandro
Hi,
Have you taken a look at this?
Both linuxfb and eglfs will try to query the display dimensions (both physical and pixels) from the framebuffer device. This may not always lead to good looking results. For eglfs the screen size can be set explicitly by setting QT_QPA_EGLFS_WIDTH and QT_QPA_EGLFS_HEIGHT to the desired width/height (in pixels) before launching the application. linuxfb has a size=…x… plugin parameter (for example -platform linuxfb:fb=/dev/fb2:size=1920x1080).
I do not know if you have tried that.
/Alejandro