-
Notifications
You must be signed in to change notification settings - Fork 5.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tvservice -o then tvservice -p results on powered on dipslay but donthing displayed. #892
Comments
That is normal. Powering off the destroys any overlays (of which the framebuffer is one). |
The app I have is sdl based and still outputting to the screen so seeing, Tried restoring with changing VT at this point resulted in pi wedging. |
The sdl app will have created it's own framebuffer and will have a pointer to the framebuffer memory, so it will have to handle this itself.
and
which is a less intrusive way of removing the HDMI output signal but leaves the overlays intact. |
Yes the SDL app used a HW double buffer allocated via the kernel fb device and pans between the two buffers, I am redrawing the buffer after, issuing the restore command set. according to the out put of fbset -i the fb address doesn't change after going through the power cycle, but I don’t think that’s believable and is probably out of sync hence the crash on vt change. Force a mode change at that point to reallocate the fb and update the pointers? That all said vcgencmd display_power (minus the s on displays) would seem to do what I want (implementing a soft off) thanks you. |
There is a patched version of the SDL library referenced from this Forum post (http://www.raspberrypi.org/forums/viewtopic.php?f=38&t=99822&p=692525&hilit=sdl#p692525) that copes with the base address of the FB changing on a resolution change. It might be worth trying that version to see if it behaves better. |
@pelwell lol yes that was me, from that page ;-)
|
LOL indeed. In my defence, it was a while ago, and one unpronounceable handle looks much like another... |
The framebuffer memory allocated is not freed when power goes off, but any dispmanx elements will be removed. If you are using the dispmanx backend of sdl, then the usual dispmanx_element_add sequence will get the framebuffer back on the display. |
vcgencmd display_power coded solution does what I need so closing the issue. |
I have tried this with two different displays and 3.12 and 3.18.... on a B+ and rev2 B.
The text was updated successfully, but these errors were encountered: