Difference between revisions of "DPMS"

From MythTV Official Wiki
Jump to: navigation, search
(DPMS settings)
(Turn DPMS on/off with a remote)
Line 66: Line 66:
 
   #!/bin/bash
 
   #!/bin/bash
 
    
 
    
   STATUS=`xset -q | grep "Monitor is" | awk '{print $3}'`
+
  # adjust these if needed
 +
  export DISPLAY=:0
 +
  export XAUTHORITY=/home/$(ls -l /dev/console|awk '{print $3}')/.Xauthority
 +
  export PATH=${PATH):/usr/X11R6/bin
 +
 
 +
   STATUS=$(xset -q | grep "Monitor is" | awk '{print $3}')
 
   if [ "${STATUS}" = "On" ]
 
   if [ "${STATUS}" = "On" ]
 
     then
 
     then
 
     xset dpms force off
 
     xset dpms force off
 
   else
 
   else
 +
    # press-any-key should work to wake up, but just in case:
 
     xset dpms force on
 
     xset dpms force on
 
   fi
 
   fi

Revision as of 13:21, 28 September 2008


Description

DPMS (Display Power Management Signaling) is a standard from the VESA consortium for managing the power supply of video monitors for computers through the graphics card. The most common use is to shut off the monitor after the computer has been idle for some time.

For further information see Wikipedia:VESA Display Power Management Signaling

Note that using the screen saver to make the display black is not the same as using DPMS to turn the display off. So it makes not very much sense to have the screen saver turned on while DPMS is on. It might even make it hard to test whether DPMS is running or not.

MythTV is aware of DPMS and should prevent it from turning the display off while a show is watched (from which version of MythTV?)

DPMS settings

There are multiple settings that influence monitor power savings:

  • xorg.conf: The monitor section can contain a DPMS option:
Section Monitor
       ...
       Option "DPMS"
       ...
EndSection
  • xorg.conf: The ServerFlags section can contain a NoPM option:
Section "ServerFlags"
       ...
       Option "NoPM" "true"
       ...
EndSection
  • xset can be used from the command line to turn DPMS on/off:
xset -dpms

and:

xset +dpms
  • KDE sometimes has a control panel for power management where DPMS can be selected.
  • Often the BIOS also has options for power management

It is not obvious how these 5 work together. If you know please write it here.

But probably DPMS will work if you add the DPMS option to the Monitor section and make sure that the NoPM section is not placed in ServerFlags. You can also add the following lines to ServerFlags in order to control when the display should be turned off:

Section "ServerFlags"
       ...
      Option  "StandbyTime"   "1"
      Option  "SuspendTime"   "2"
      Option  "OffTime"       "3"
       ...
EndSection

Replace the numbers with the time in minutes you want

Scripts

Turn DPMS on/off with a remote

(Added by Ian Forde)

If you're using MythTV with a monitor and a remote (via lirc), it is possible to use DPMS to power off your monitor. Imagine the scenario where you're using Myth in a bedroom...

Let's say that you've got a Hauppauge grey remote, and want to use the red button for this. Assuming that you've got that button defined in /etc/lircd.conf, put the following into ~<myth user>/.lircrc

 # Red Button
 begin
   prog = irexec
   button = Red
   repeat = 4
   config = /usr/local/bin/monitorpowerbutton.sh
 end

Then you want the following in /usr/local/bin/monitorpowerbutton.sh:

 #!/bin/bash
 
 # adjust these if needed
 export DISPLAY=:0
 export XAUTHORITY=/home/$(ls -l /dev/console|awk '{print $3}')/.Xauthority
 export PATH=${PATH):/usr/X11R6/bin
 
 STATUS=$(xset -q | grep "Monitor is" | awk '{print $3}')
 if [ "${STATUS}" = "On" ]
   then
   xset dpms force off
 else
   # press-any-key should work to wake up, but just in case:
   xset dpms force on
 fi
 exit 0

Inspired by Jarod's power button trick for mythfrontend...

There are more scripts for this purpose at Customized remote control keys

DPMS with lirc and irxevent

(Added by Chris Pinkham)

If you have DPMS enabled and use irxevent with LIRC to control your Myth box, then you may want to configure LIRC to automatically unblank the screen when you press any button on the remote. MythTV will not unblank the screen automatically if you use irxevent to send keypresses to mythfrontend. A simple solution to this is to run irexec along with your existing irxevent and insert the following few lines into your .lircrc file. This will make sure that your screen is unblanked when you click any button on the remote control.

 begin
   prog = irexec
   button = *
   config = xset dpms force on &
 end

Note that this is not necessary if MythTV has been compiled for native lirc support