RichardS
Posts: 27
Joined: Sat Mar 25, 2017 2:40 am

HDMI screen saver blanking Pi Zero vs Pi 3b

Wed May 30, 2018 1:01 am

I have a Samsung 22 inch 1080 HDMI input television that I use for experimentation with my Raspberry Pi and other SBCs.

I noticed something interesting - On my Pi Zero, when the default Raspbian screensaver is triggered, the monitors backlight shuts down indicating that it is properly going into low power standby.

On my Raspberry Pi 3b, when the same thing happens, the screen blanks to dark grey, but the backlight is still on, which would seem to indicate that the Pi 3b is not properly triggering the screen to go into low power standby.

Tried this with both an older Jessi, and the current Stretch release, and I just can't get HDMI standby to work.

With the EXACT SAME microSD in the Pi Zero, and Pi 3, on the Pi Zero, the screen blanks and shuts down properly, where that same microSD in the Pi 3b gives a dark grey screen, with the backlight still enabled.

The hack of using tvcontrol to just KILL the HDMI output completly is not an option for me because the Samsung handles this by stupidly displaying a "No Input" message for about 15 or 20 minutes before shutting down.

I tried to force the HDMI blanking output to standby using: xset dpms force standby, and xset dpms force off, but the tv output still just blanks to a dark grey with the backlight still enabled on the Pi 3b.

Does anyone have any idea how to get the HDMI power save mode working on the Pi 3 ???

klricks
Posts: 6376
Joined: Sat Jan 12, 2013 3:01 am
Location: Grants Pass, OR, USA
Contact: Website

Re: HDMI screen saver blanking Pi Zero vs Pi 3b

Wed May 30, 2018 1:33 am

Adding the following to /boot/config.txt will turn off HDMI when the screen blanks.
Then depending on the monitor/TV brand/model and/or OSD settings, the screen will go to no input and shutdown after a period of time much like the TVservice command does.

Code: Select all

hdmi_blanking=1
Note that different Kernels are loaded on the RPi zero vs RPi3B so that may be the reason things act differently?
Unless specified otherwise my response is based on the latest and fully updated Raspbian Stretch w/ Desktop OS.

RichardS
Posts: 27
Joined: Sat Mar 25, 2017 2:40 am

Re: HDMI screen saver blanking Pi Zero vs Pi 3b

Wed May 30, 2018 7:32 am

klricks wrote:
Wed May 30, 2018 1:33 am
Adding the following to /boot/config.txt will turn off HDMI when the screen blanks.
Then depending on the monitor/TV brand/model and/or OSD settings, the screen will go to no input and shutdown after a period of time much like the TVservice command does.

Code: Select all

hdmi_blanking=1
Note that different Kernels are loaded on the RPi zero vs RPi3B so that may be the reason things act differently?
Thanks for the info. I tried the hdmi_blanking option and it definitely did do something - in this case actually making the problem a bit worse by immediately triggering the annoying "No Input" message.

I did some research on the web and it looks like this lack of a well defined standard for how to trigger low power standby mode is really common for HDMI devices.

Apparently some screens go into standby when the main HDMI data interface is shut down, while other devices use some kind of CEC messaging or data state to enter low power standby.

This is just insane considering that the specs for VESA DPMS "green" monitors with well defined low power standby modes were written almost a decade before the HDMI "standard" (if you can call it that) - so you have to kind of wonder what kind of TOTAL IDIOTS in the standards body would let this kind of thing happen?

The references to CEC messaging capability being required by some devices makes me wonder if my Samsung is seeing some difference related to CEC signaling, and whether the standby issue could be because of the different cables I am using on the Pi Zero (mini HDMI) and Pi 3b (full size HDMI).

I wasn't aware that the Pi actually boots different kernels for the different Pi models. Do you mean a completely different compiled kernel is loaded by the GPU boot code? I had thought it was all compatible armhf code, with a different set of dynamically loaded kernel modules based on the device tree.

Return to “Raspbian”