How the eglfs plugin works?



  • Hello,
    I created an embedded linux image for an imx6 board. I cross-compiled qt5 with the eglfs support.
    When I run a Qt application is seems the framebuffer is "shared" between the application itself and the tty console.

    I mean the screen is redrawn every time one of the two processes requires: so when I move the mouse I see my Qt application, but when the caret flashes (in background) or I type on the keyboard the tty console is redrawn.

    Is there any environment variable to set or something else in order to tell the system to give the complete control of the framebuffer only to the foreground application?

    The video driver is the freescale vivante / galcore.

    Thanks!
    Mark



  • Hello! I have same ploblem! Did you solve it?



  • Hello,

    same problem here.

    I'm using a udoo quad board it's a freescale imx6 cpu with vivante gpu. I cross compiled Qt 5.3 on an ubuntu 12.04.

    I tried disabling all the ttys at boot but the cursor keeps blinking.

    I found this page listing some enviromental variable for eglfs:

    http://doc-snapshot.qt-project.org/qt5-dev/embedded-linux.html

    I tried some configurations but without success.

    Any idea is wellcome :)



  • If you're still around and interested, we fix this problem with

    echo 0 > /sys/class/vtconsole/vtcon1/bind

    Austin



  • Thanks for the solution, it worked for me.



  • Hello, if somebody is still interested in information on this topic, this is what I've found out:

    If framebuffer console is turned on in the kernel, a console is shown on the display (showing e.g. the blinking cursor) and after a few minutes, the display is blanked per default (duration till blanking can be set somewhere). Then, you can either "wake up" your display again using

    $ echo 0 > /sys/class/graphics/fb0/blank

    in terminal or turn the framebuffer console off in the kernel by unsetting the kernel option CONFIG_FRAMEBUFFER_CONSOLE (e.g. using make menuconfig) and recompiling the kernel.

    Kind regards,

    Markus



  • @adebruyn thank you very much for this tips, this is well working :)

    But how to rebind the framebuffer driver once the QT application has been closed ?

    Is a command like this could do the trick ?

    echo 0 > /sys/class/vtconsole/vtcon1/bind ; \ 
    myQtApplication -platform eglfs ; \ 
    echo 1 > /sys/class/vtconsole/vtcon1/bind
    

    Because I need to get the console back when the application close.

    Also, do you know if we get the same problem with the console (flashing in background) if the application is lunch from init.d ?

    Best regards.


Log in to reply
 

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