Unsolved Why does not QT Application output the changed resolution when changing the HDMI resolution in real time?
-
Hello I am a developer who makes products through QT embedded.
I have an inquiry about HDMI display.The development environment I use is as follows.
[S/W Version]
QT Versin : Qt Embedded 4.8.1
CPU : iMX6Q
Kernel 3.14.28"./animatedtiles -qws -display LinuxFb: / dev / fb1" displays the following screen.
► default resolution 1920x1080p
However, if I change the 1920x1080p resolution to 640x480p as shown below, the display output was out of the monitor.
[resolution change] 1920x1080p -> 640x480p
root@TOP-R:~# cd /sys/class/graphics/fb1/ root@TOP-R:/sys/class/graphics/fb1# cat modes S:1280x720p-50 S:1920x1080p-50 S:720x576p-50 S:640x480p-60 S:720x480p-60 S:1280x720p-60 S:1920x1080p-60 V:640x480p-60 D:1920x1080p-60 V:640x480p-60 root@TOP-R:/sys/class/graphics/fb1# cat mode S:1920x1080p-60 root@TOP-R:/sys/class/graphics/fb1# echo "S:640x480p-60" > mode
► resolution 640x480p-60 (the display output was out of the monitor.)
I removed the animatedtiles process through the Kill command.
And when I run "./animatedtiles -qws -display LinuxFb: /dev/fb1", the LCD screen is correctly displayed at 640x480p.
► resolution 640x480p-60(LCD display is ok)
In both cases, the output resolution of the framebuffer and LCD monitor was the same.
[Check resolution with fbset] - The value of framebuffer is the same.
root@TOP-R:~# fbset -i -fb /dev/fb1 mode "640x480-60" # D: 25.175 MHz, H: 31.469 kHz, V: 59.940 Hz geometry 640 480 640 480 32 timings 39722 48 16 33 10 96 2 rgba 8/16,8/8,8/0,8/24 endmode Frame buffer device information: Name : DISP4 BG Address : 0x2a300000 Size : 8294400 Type : PACKED PIXELS Visual : TRUECOLOR XPanStep : 1 YPanStep : 1 YWrapStep : 1 LineLength : 2560 Accelerator : No
In my opinion, it is judged that QWS does not apply resolution in real time. How do I change this in real time?
-
Hi and welcome to devnet,
You're going to be a bit on your own and dig into QWS's code. Qt 4 has reached end of life a few years ago. You should at least update to Qt 4.8.7 which is the latest and last version of Qt 4 if you can't go with Qt 5.
-
@SGaist
It is difficult to change because it is an existing version.
Does changing the QT version resolve the issue above?
Does this version cause the problem I mentioned? -
@jongjupark said in Why does not QT Application output the changed resolution when changing the HDMI resolution in real time?:
Does this version cause the problem I mentioned?
That's an unfortunate formulation, QWS was not created at a time were embedded device would change their resolutions dynamically at runtime. What you can consider doing is to automate restart of your application after modification of the resolution.
Or as I suggested before, dig into the QWS code to see if there's something doable from there but that means that you would have to rebuild Qt and AFAIU, it's not an option for you.
-
Real-time resolution is changing in other kernels in the same QT version.
[S/W Version] : real time resolution change ok
QT Versin : Qt Embedded 4.8.1
CPU : Exynos4412
Kernel 3.8.103The CPU of our product has been changed.
So the Kernel was changed, and the above problem came up.
I need help figuring out how to debug.
Our company officially purchased the QT license.
Is there any place to get help with this? -
@jongjupark said in Why does not QT Application output the changed resolution when changing the HDMI resolution in real time?:
Our company officially purchased the QT license.
Is there any place to get help with this?Generally, if you have a commercial license then you can ask for official tech support: https://account.qt.io/support
However, support for Qt 4.8.7 ended in December 2015 (http://blog.qt.io/blog/2014/11/27/qt-4-8-x-support-to-be-extended-for-another-year/ ) so you might need to get extended support.