Re: API to turn off the display

From: James Green <jim_at_thebadger.org>
Date: Thu, 29 Jan 2004 23:19:29 +0000
On Thu, 2004-01-29 at 19:40, Jesse Guardiani wrote:
> James Green wrote:
> 
> [...]
> 
> > Interestingly, however, is that:
> > # sysctl hw.acpi.video.lcd0.active=0 &&  acpiconf -s 1
> > 
> > will turn off the LCD and suspend gracefully, whereas
> > # xset -display :0 dpms force off && sysctl hw.acpi.video.lcd0.active=0
> > && acpiconf -s 1
> > 
> > just locks everything up... (discovered by adding the commands to
> > /etc/rc.suspend and getting a lock up)
> 
> What about from SSH? I've found that things sometimes need a bit of a delay
> to work properly from /etc/rc.suspend.

I have found that too. I did most of my testing over ssh, until I setup
a serial login console (boot -h, and appropriate line in /etc/ttys) , so
I could see any messages that I might be missing... and I could not
reproduce the hang. Suspended without any problem at all. Tried booting 
with the -h and I could reproduce the hang every time.

Recompiled the kernel with:
options SC_NO_SUSPEND_VTYSWITCH

and now it all works!

I added to rc.suspend:

xset -display :0 dpms force off
sleep 3
sysctl hw.acpi.video.lcd0.active=0
sleep 1
sysctl hw.acpi.cpu.throttle_state=1

and to rc.resume:

sysctl hw.acpi.cpu.throttle_state=8
xset -display :0 dpms force on
sysctl hw.acpi.video.lcd0.active=1

The order of DPMS and ACPI is important. This works on both the console
and in X. Next up is to add in ataidle...


James
Received on Thu Jan 29 2004 - 14:27:10 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:40 UTC