Page 1 of 1

Turning LCD backlight off on rpi4/buster with dpms

Posted: Tue Jul 02, 2019 2:49 pm
by powerpete
I''m trying to use a RPI 4/buster as a kiosk.

I've a .xinitrc:

Code: Select all

#!/bin/bash

#Enable DPMS
xset +dpms
xset dpms 300 300 300
#Disable Screen Saver
xset s off
...
(startx is started as a kiosk user as a systemd service)


Running this on a rpi3/jessie with an official 7'' Screen; After 300 seconds without activity it turns off screen AND backlight.

Running the same stuff on rpi4/buster: After 300 seconds without activity it turns off screen. Backlight is still on.

What does I've to change, to automatic turn off the backlight?

Re: Turning LCD backlight off on rpi4/buster with dpms

Posted: Tue Jul 02, 2019 5:40 pm
by DougieLawson

Re: Turning LCD backlight off on rpi4/buster with dpms

Posted: Thu Jul 04, 2019 7:57 pm
by caldimerda
DougieLawson wrote:
Tue Jul 02, 2019 5:40 pm
Try this: https://github.com/DougieLawson/backlight_dimmer
Hi Dougie
With respect, I think this one is a bug. Works on other Pi's, not on a 4. Which seems to point more at the pi than Buster? But I'm not at all where to report a bug?
Thanks

Re: Turning LCD backlight off on rpi4/buster with dpms

Posted: Thu Jul 04, 2019 11:00 pm
by lb
Yes, DPMS seems to be broken on Pi 4.

Re: Turning LCD backlight off on rpi4/buster with dpms

Posted: Fri Jul 05, 2019 12:34 am
by klricks
lb wrote:
Thu Jul 04, 2019 11:00 pm
Yes, DPMS seems to be broken on Pi 4.
I don't know about the official screen but even in Jessie & Stretch with a standard HDMI monitor.... DPMS only blanked the screen and did not put the monitor in any form of standby or turn off backlight etc.
So xset dpms 600 600 600 was equivalent to xset s 600.

DPMS is supposed to do: (Standby) (Suspend) (Off)
But the following commands cause blanking only no matter which parameter is used:
xset dpms 600 0 0
xset dpms 0 600 0
xset dpms 0 0 600

Re: Turning LCD backlight off on rpi4/buster with dpms

Posted: Fri Jul 05, 2019 10:49 am
by caldimerda
klricks wrote:
Fri Jul 05, 2019 12:34 am
lb wrote:
Thu Jul 04, 2019 11:00 pm
Yes, DPMS seems to be broken on Pi 4.
I don't know about the official screen but even in Jessie & Stretch with a standard HDMI monitor.... DPMS only blanked the screen and did not put the monitor in any form of standby or turn off backlight etc.
So xset dpms 600 600 600 was equivalent to xset s 600.

DPMS is supposed to do: (Standby) (Suspend) (Off)
But the following commands cause blanking only no matter which parameter is used:
xset dpms 600 0 0
xset dpms 0 600 0
xset dpms 0 0 600
I can only say that this:
@xset dpms 0 0 300
Works for me on a Pi 3B and 3B+ but not on a 4B..
The exact behaviour I get is that the screen blanks, then the blue light shows for a second or two, then the screen switches into standby. On a 4B the screen blanks but the backlight stays on and the monitor remains on. So it appears the monitor is responding to HDMI being turned off on the earlier models but not on the new one.

Re: Turning LCD backlight off on rpi4/buster with dpms

Posted: Fri Jul 05, 2019 7:04 pm
by caldimerda
caldimerda wrote:
Fri Jul 05, 2019 10:49 am
klricks wrote:
Fri Jul 05, 2019 12:34 am
lb wrote:
Thu Jul 04, 2019 11:00 pm
Yes, DPMS seems to be broken on Pi 4.
I don't know about the official screen but even in Jessie & Stretch with a standard HDMI monitor.... DPMS only blanked the screen and did not put the monitor in any form of standby or turn off backlight etc.
So xset dpms 600 600 600 was equivalent to xset s 600.

DPMS is supposed to do: (Standby) (Suspend) (Off)
But the following commands cause blanking only no matter which parameter is used:
xset dpms 600 0 0
xset dpms 0 600 0
xset dpms 0 0 600
I can only say that this:
@xset dpms 0 0 300
Works for me on a Pi 3B and 3B+ but not on a 4B..
The exact behaviour I get is that the screen blanks, then the blue light shows for a second or two, then the screen switches into standby. On a 4B the screen blanks but the backlight stays on and the monitor remains on. So it appears the monitor is responding to HDMI being turned off on the earlier models but not on the new one.
I'm told hdmi_blanking on the RPI 4 isn;'t yet suypported in the firmware. I imagine I can live with having to remember to turn the screen off for the time being :-)

Re: Turning LCD backlight off on rpi4/buster with dpms

Posted: Fri Jul 05, 2019 7:45 pm
by lb
On Raspberry Pi < 4, you had to set "hdmi_blanking=1" in config.txt to get DPMS blanking to work. With that option set, it Just Works, though. I actually helped a bit to also make it work with DPI, too (at least for VGA666). Blanking is pretty good for power saving with always on setups.

It doesn't work on Raspberry Pi 4 anymore, unfortunately.

Re: Turning LCD backlight off on rpi4/buster with dpms

Posted: Fri Jul 05, 2019 9:21 pm
by klricks
lb wrote:
Fri Jul 05, 2019 7:45 pm
On Raspberry Pi < 4, you had to set "hdmi_blanking=1" in config.txt to get DPMS blanking to work. With that option set, it Just Works, though. I actually helped a bit to also make it work with DPI, too (at least for VGA666). Blanking is pretty good for power saving with always on setups.

It doesn't work on Raspberry Pi 4 anymore, unfortunately.
That config command made blanking work differently but not necessarily correctly.
When enabled the HDMI output from the RPi is 'brute force' turned off when the screen blanks. (Either by dpms setting and/or xset s setting).
With my monitor this would cause the monitor to display a no signal banner for about 20 min. then the monitor would turn itself off. Once off I would have to use the physical power on button to turn the monitor back on. Other monitors may act differently depending on brand, model and OSD settings.

dpms should be able to immediately turn the monitor off or standby on timeout and wake on keyboard/mouse.

Re: Turning LCD backlight off on rpi4/buster with dpms

Posted: Tue Jul 09, 2019 3:40 pm
by FrankGould
I have found that on RPi3B+ the `xset dpms ### ### ###` works until changing the default user from pi to another name. Therefore, I do not think this is hardware related. It appears to be a bug in the `usermod` code. Is there a workaround or should this be reported as an issue for tracking? I would like my monitor to go off (as before changing user name) and not display a blank screen, as others have requested.

Re: Turning LCD backlight off on rpi4/buster with dpms

Posted: Mon Aug 12, 2019 10:24 pm
by bluenote
How can I monitor this issue for updates for a pi 4?

Re: Turning LCD backlight off on rpi4/buster with dpms

Posted: Sun Sep 29, 2019 7:40 pm
by nor500
I confirm that raspberry pi 2 display is going to standby instead of just blanking with "hdmi_blanking=1" in config.txt and xset dpms ### ### ###. However I also confirm that raspberry 4 display standby is not working with this settings. Does anybody knows whether this is a hardware limitation of the pi 4 board, or it is just a firmware issue? Doesn`t anybody contacted the producer company of raspberry boards regarding this issue?

So come on! We have to fight the climate change!!!!! and the newest raspbberry hardware is just wasting the energy resources with this limitation of not being able to send monitor go to sleep when not in use!!!

Re: Turning LCD backlight off on rpi4/buster with dpms

Posted: Mon Sep 30, 2019 4:35 pm
by nor500
I have found this useful link regarding the issue:
https://github.com/raspberrypi/linux/issues/3050

Re: Turning LCD backlight off on rpi4/buster with dpms

Posted: Sat Dec 21, 2019 2:48 pm
by AdaDudeFruit
It seems like this is a problem only with the new Pi Model 4.

I updatet to the Pre-Release with (maybe unstable?):

Code: Select all

sudo rpi-update
Then I had to uninstall XScreenSaver, cause the Software overwrites the Display settings:

Code: Select all

sudo apt-get remove xscreensaver
Now it's working fine.

Re: Turning LCD backlight off on rpi4/buster with dpms

Posted: Mon Dec 30, 2019 5:00 pm
by AlexanderL
AdaDudeFruit wrote:
Sat Dec 21, 2019 2:48 pm

Code: Select all

sudo rpi-update
sudo apt-get remove xscreensaver
Now it's working fine.
Should the "hdmi_blanking=1" now work for both displays attached to RPi 4?
Does this option has selective modes like "hdmi_blanking:0=1"/"hdmi_blanking:1=1" ?

For me "hdmi_blanking=1" now seems working for second display (VGA over HDMI-VGA adapter) only and not working for the first one (DVI over HDMI-DVI adapter).