Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I am using a Raspberry Pi to run an information display in an office. I want the display in power save mode when outside of business hours. I was going to use cron to execute something at the beginning and end of the day, but xset dpms force off doesn't work.

I have disabled the screen saver (so the display stays on during the day) with the addition of xset s off, xset -dpms and xset s noblank in the /etc/xdg/lxsession/LXDE/autostart file.

Here are the results from xset q:

Keyboard Control:
  auto repeat:  on    key click percent:  0    LED mask:  00000000
  XKB indicators:
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off
    03: Compose:     off    04: Kana:        off    05: Sleep:       off
    06: Suspend:     off    07: Mute:        off    08: Misc:        off
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off
    12: Group 2:     off    13: Mouse Keys:  off
  auto repeat delay:  500    repeat rate:  33
  auto repeating keys:  00ffffffdffffbbf
                        fadfffefffedffff
                        9fffffffffffffff
                        fff7ffffffffffff
  bell percent:  0    bell pitch:  400    bell duration:  100
Pointer Control:
  acceleration:  20/10    threshold:  10
Screen Saver:
  prefer blanking:  no    allow exposures:  yes
  timeout:  0    cycle:  600
Colors:
  default colormap:  0x20    BlackPixel:  0x0    WhitePixel:  0xffff
Font Path:
  built-ins
DPMS (Energy Star):
  Standby: 600    Suspend: 600    Off: 600
  DPMS is Disabled

UPDATE:xset s blank && xset +dpms && xset dpms force off will blank the display, but it doesn't put it in power save mode. After reading a lot of threads, I still can't get the system time correct either (I think that may be a firewall issue)...

share|improve this question

migrated from raspberrypi.stackexchange.com Oct 18 '12 at 22:50

This question came from our site for users and developers of hardware and software for Raspberry Pi.

    
Do you get an error from xset or does nothing happen? Also what distro? If it doesn't work I would guess ACPI is not compiled into the kernel. As a diagnostic, please post the output of xset q. Thanks. –  Jivings Oct 9 '12 at 17:14
    
@Jivings: no error, the screen goes static-ish. Before I disabled the blanking, the screen would actually go blank (not sure if it went into power save mode). I am using 2012-09-18-wheezy-raspbian with software/firmware updates/upgrades. –  shaun5 Oct 9 '12 at 17:58
    
Okay. Can you edit your question with the output of xset q? –  Jivings Oct 9 '12 at 22:07
    
@jivings sorry I was out of town, but back and updated the question with the info you requested. –  shaun5 Oct 15 '12 at 17:40
    
At the bottom it says DPMS is disabled. Turn it on: xset +dpms then your commands should work... –  Jivings Oct 16 '12 at 7:02

4 Answers 4

Dispelling wrong paths

First, virtually all modern displays support sleep modes. Also, xset dpms force off (or other ways to tell the X server) is the correct way (under X) to turn off monitors. I've used that for years without a hitch.

Second, the mention DPMS is Disabled only comes from your xset -dpms. As soon as you issue xset dpms force off or other DPMS-related xset option, it gets re-enabled, so it is normal that you get the same result with or without xset +dpms.

Hypothesis

Now, you wrote that you see "static". This display supports traditional Analog TV signals, right ?

One hypothesis is that the TV, instead of going to sleep, actually switches to Analog TV, and as there's no signal, it shows what is usually called "static".

Test that hypothesis

Here's an option to try. Try once to plug another display, ideally one that does not support Analog TV. See if that display goes to sleep on xset dpms force off. If yes, then the setup is okay on the Pi side.

Try variants

Perhaps the other video states will instruct the TV to stay on the right channel but with reduction in power usage. Instead of xset dpms force off, try these:

xset dpms force standby
xset dpms force suspend

And see if one of those produces what you need. Wait at least 10 seconds after each try to see what it does. Pressing any key on the Pi keyboard will resume the display (remotely you can use xset dpms force on).

Get to production

If one of the variants above does what you need, then fine, please share!

If not and you really need to use the original display, see in the menus if you can somehow disable Analog TV features.

Please share what you learned from these tries.

share|improve this answer

This question really belongs back on raspberrypi.stackexchange.com because it's a Raspberry Pi-specific issue: the kernel framebuffer driver for the Raspberry Pi does not support the function that X uses to put the monitor to sleep:

https://github.com/raspberrypi/linux/issues/487

Until this issue is fixed, it won't be possible for X to put the monitor to sleep using DPMS.

You may have some luck with the /opt/vc/bin/tvservice program: tvservice -o powers off HDMI and tvservice -p should power HDMI back on.

share|improve this answer

Won't vbetool works?

Suspend screen (physically says the monitor to go to standby mode): vbetool dpms suspend Resume (exits standby mode): vbetool dpms on

share|improve this answer
    
vbetool is x86-only, I think. Thus won't help for ARM –  Renan Nov 9 '12 at 16:53

So I am having the same issue (or so I think). xset dpms force off works fine if run manually. But when trying to run from a cron job, nothing happens.

share|improve this answer
    
It is tricky to run X commands from cron because you need to make sure both the $DISPLAY and $XAUTHORITY variables are set properly so the program can connect to the X server. The details are beyond the scope of a comment, but I hope this will point you in the right direction. –  AGWA Jan 8 at 6:04

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.