Qt5.4 Cube example ran on i.mx6 for a while and then the screen went black

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Qt5.4 Cube example ran on i.mx6 for a while and then the screen went black

Jump to solution
2,469 Views
kunxiao
Contributor I

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.

0 Kudos
Reply
1 Solution
1,567 Views
markusbraitner
Contributor IV

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

View solution in original post

0 Kudos
Reply
6 Replies
1,568 Views
markusbraitner
Contributor IV

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

0 Kudos
Reply
1,567 Views
kunxiao
Contributor I

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

0 Kudos
Reply
1,567 Views
markusbraitner
Contributor IV

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

0 Kudos
Reply
1,567 Views
kunxiao
Contributor I

Hi Markus,

That really helps me. Thank you.

Thanks,

Kun

0 Kudos
Reply
1,567 Views
igorpadykov
NXP Employee
NXP Employee

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!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply
1,567 Views
kunxiao
Contributor I

Thank you for your reply. I'll have a try.

0 Kudos
Reply