Hello,
I ported Qt5.4 to i.mx6 Duallite SABRE board with linux BSP3.0.35, and built the Cube example which drew a cube powered by opengl es2.0. I ran the program with the qt platform set to eglfs. It did display the 3D cube and I was able to rotate it. But after a couple of minutes, the screen went black. Moreover, re-running the program still got a black screen unless I rebooted the OS. As per Qt5.4 document, opengl es2.0 programs have to run on the "eglfs" plugin platform, which uses framebuffer object to do the rendering. I'm wondering whether the aforementioned black screen issue has something to do with the framebuffer object on i.mx6. Does anybody have any idea about this issue? Really appreciate.
Solved! Go to Solution.
Hi Kun,
to me it seems that you have framebuffer console turned on in the kernel. If this is correct, then a console is shown on your 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). In this case, 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
Hi Kun,
to me it seems that you have framebuffer console turned on in the kernel. If this is correct, then a console is shown on your 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). In this case, 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
Hi Markus,
You're right. I can wake up the display again by following your instructions. Thank you so much!
Meanwhile, my curiosity propels me to quest for more about framebuffer console. After googling, I learned that framebuffer console is a mode of the linux console in contrast to text mode. But I still don't understand why the display can be blanked if the framebuffer console is turned on. Could you please explain some more about the background mechanism? or could you recommend some pertinent materials for reading?
Another thing bewildering me is that, the display never went black when I ran a example program provided by directfb on the same board. So does Qt do something different from directfb with regards to framebuffer console?
Thanks,
Kun
Hi Kun,
glad it worked!
Unfortunately I'm also not an expert on framebuffer console... What I've posted was what I've found out myself when coming across this issue in our project.
As far as I understand it this is a screen saver feature - after a given time the screen on which the console is show is blanked.
I've just found a link that might be interesting for you: Change Linux console screen blanking behavior - Super User
See also this post: Linux disable framebuffer auto blank by uboot bootargs
Kind regards,
Markus
Hi Markus,
That really helps me. Thank you.
Thanks,
Kun
Hi kun
since BSP3.0.35 release there were quite number of patches released, like below
https://community.freescale.com/thread/333368
one can try them. However it is highly recommended to move to latest BSP
L3.14.28_1.0.0_iMX6QDLS_BUNDLE : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite,
i.MX 6Solo Linux Binary Demo Files and Linux BSP Documentation
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thank you for your reply. I'll have a try.