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
    0_1542019978577_63b6c8b1-6e70-4515-9db2-a85152139133-image.png

    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.)
    0_1542020036409_73624e48-d34e-44ca-b379-cc08e520b94f-image.png

    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)
    0_1542020081771_f37ebad8-1c27-4f11-b699-2f313ad371ad-image.png

    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?


  • Lifetime Qt Champion

    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?


  • Lifetime Qt Champion

    @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.



  • @SGaist

    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.103

    The 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?


  • Moderators

    @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.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.