OK, I've got it working, here's what I did:
1- D/L and install Suspend2 kernel patch, recompile kernel.
2- D/L and install hibernate scripts for Suspend2
Follow the directions on their HOWTO page and wiki.
3- D/L and install VBEtool (you can get a tgz from LinuxPackages).
4- Edit /etc/hibernate/ram.conf to read:
Code:
UseSysfsPowerState mem
PowerDownMethod platform
Verbosity 0
LogFile /var/log/hibernate.log
LogVerbosity 1
Distribution slackware
SaveClock restore-only
UnloadBlacklistedModules yes
LoadModules auto
EjectCards yes
EnableVbetool yes
VbetoolPost yes
RestoreVCSAData yes
SwitchToTextMode yes
UseDummyXServer yes
XStatus x
5- Add the following option to your xorg.conf:
Code:
(blahblahblah)
Section "Device"
(blahblahblah)
Option "VBERestore" "true"
(blahblahblah)
EndSection
6- Create the following file as /etc/acpi/events/lid:
Code:
event=button/lid
action=/etc/acpi/lid.sh
7- Create the following file as /etc/acpi/lid.sh:
Code:
#!/bin/sh
if [ ! "$( cat /var/run/lid | grep up )" == "hibernate" ]; then
echo hibernate > /var/run/lid
/path/to/hibernate -F /etc/hibernate/ram.conf
fi
and then run
Code:
chmod +x /etc/acpi/lid.sh
to make the script executable.
YMMV.
Edit:
I haven't tried this with Nvidia's proprietary driver yet.