videostorm
Posts: 28
Joined: Fri Oct 26, 2012 2:19 am

Console gone after display resolution change

Thu Jun 12, 2014 4:57 pm

Whenever the display resolution is changed or updated (via tvservice, omxplayer, or other graphics program) it kills all prior graphics layers on the screen, including the console.

I can't seem to find any way of getting the console display (via HDMI) back. I tried sending the wake or other commands to /dev/tty1 and killing tty1 (it gets respawned). No avail.....

Any ideas?

User avatar
AndyD
Posts: 2333
Joined: Sat Jan 21, 2012 8:13 am
Location: Melbourne, Australia
Contact: Website

Re: Console gone after display resolution change

Sun Jun 15, 2014 12:30 pm

You can get the console back by typing (either via SSH or blindly on the console)

Code: Select all

fbset -depth 32 ; fbset -depth 16
If you are using the Desktop/X11 then add xrefresh as well.

Code: Select all

fbset -depth 32 ; fbset -depth 16 ; xrefresh

User avatar
redhawk
Posts: 3465
Joined: Sun Mar 04, 2012 2:13 pm
Location: ::1

Re: Console gone after display resolution change

Sun Jun 15, 2014 4:26 pm

Just out of curiosity does fbset really have to run twice surely the last arg -depth 16 would override -depth 32??

Richard S.

videostorm
Posts: 28
Joined: Fri Oct 26, 2012 2:19 am

Re: Console gone after display resolution change

Sun Jun 15, 2014 9:33 pm

This works, thanks!!!

Out of curiosity, why does it work?

User avatar
AndyD
Posts: 2333
Joined: Sat Jan 21, 2012 8:13 am
Location: Melbourne, Australia
Contact: Website

Re: Console gone after display resolution change

Sun Jun 15, 2014 10:07 pm

redhawk wrote:Just out of curiosity does fbset really have to run twice surely the last arg -depth 16 would override -depth 32??
My guess would be that if you just use -depth 16 the system thinks there already is a 16 bit per pixel framebuffer and so does nothing. So you need to force it to create a new framebuffer (-depth 8 also works for me) and then the second run of fbset destroys the new framebuffer and creates another framebuffer that is of the original bits per pixel.
videostorm wrote:This works, thanks!!! ... Out of curiosity, why does it work?
I am not sure if the framebuffer is destroyed or just not visible. My understanding is we use fbset to firstly create a new framebuffer of a different bit depth, then destroy it and create a new one of the original bit depth. The system itself is not aware that the framebuffer is no longer visible (or destroyed) so we need to force it to recreate the framebuffer.

Return to “Advanced users”