API to turn off the display
James Green
jim at thebadger.org
Thu Jan 29 15:27:10 PST 2004
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
More information about the freebsd-current
mailing list