summaryrefslogtreecommitdiffstats
path: root/source/ap/pm-utils/README.SLACKWARE
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/pm-utils/README.SLACKWARE')
-rw-r--r--source/ap/pm-utils/README.SLACKWARE119
1 files changed, 119 insertions, 0 deletions
diff --git a/source/ap/pm-utils/README.SLACKWARE b/source/ap/pm-utils/README.SLACKWARE
new file mode 100644
index 000000000..071624395
--- /dev/null
+++ b/source/ap/pm-utils/README.SLACKWARE
@@ -0,0 +1,119 @@
+README.SLACKWARE
+20090414 - rworkman@slackware.com
+
+===============================================================================
+PLEASE READ THIS ENTIRE FILE BEFORE REPORTING PROBLEMS OR ASKING FOR HELP!
+===============================================================================
+
+One of these routines should tell you whether any of the operations
+are supported by your current kernel/userspace at all:
+
+ for i in hibernate suspend suspend-hybrid ; do
+ pm-is-supported --$i \
+ && echo "$i is supported" \
+ || echo "$i is not supported" ;
+ done
+
+ *OR*
+
+ cat /sys/power/state
+
+Assuming they are supported, running "pm-suspend" as root should do a suspend
+to ram, and "pm-hibernate" should suspend to disk. Note that you must have a
+swap partition (or file, but partition is easier) which is large enough
+(2x ram is good here) and the relevant initrd lines and such for this to work.
+If you're not familiar with all of that, don't test pm-hibernate.
+I don't have hardware which supports suspend-hybrid, so I have no idea if/how
+it works at all.
+
+Here's the short version of using suspend to disk:
+
+Stanza in /etc/lilo.conf should look something like this:
+ image = /boot/vmlinuz-generic-smp-2.6.29.1-smp
+ initrd = /boot/initrd.gz
+ append = "resume=/dev/hda2"
+ root = /dev/hda1
+ label = Slackware
+ read-only
+
+/etc/mkinitrd.conf should look something like this:
+ MODULE_LIST="jfs"
+ ROOTDEV="/dev/hda1"
+ ROOTFS="jfs"
+ RESUMEDEV="/dev/hda2"
+
+mkinitrd command invocation would be this:
+ mkinitrd -c -k 2.6.29.1-smp -F
+
+All of the above assumes at least a cursory understanding of what those
+commands and parameters do. If it's not clear, don't attempt it on a
+system that you can't easily reinstall without concern.
+
+==============================================================================
+
+If it works for you, and/or you want to automate it a bit, you'll find
+some sample acpi event declarations and scripts here:
+ http://rlworkman.net/conf/acpi/
+A better option is to use the power manager daemon included with your choice
+of desktop environment (both kde and xfce have one).
+
+==============================================================================
+
+If it doesn't work by default for you, consider having a look at
+ http://people.freedesktop.org/~hughsient/quirk/quirk-suspend-index.html
+for some debugging hints. Pay particular attention to this page:
+ http://people.freedesktop.org/~hughsient/quirk/quirk-suspend-try.html
+
+If you are able to get your machine to suspend/resume correctly by passing
+additional quirks on the command line, then I would like to know about it so
+that upstream hal-info can get the correct information to use. Please email
+the make/model and other relevant information about your machine along with
+the full output of "lshal" and "lspci" attached, and what extra quirks you
+needed to add for successful suspend/resume to rworkman@slackware.com
+
+==============================================================================
+
+If you need the system to do certain operations before going to sleep and
+then undo them (or perhaps do something new) when waking back up, pm-utils
+supports something called "hooks." The hooks installed by packages (not only
+pm-utils itself) should be in /usr/lib/pm-utils/sleep.d/, while any hooks
+installed by the local system administrator (e.g. things that are only an
+issue on that one machine) should be in /etc/pm/sleep.d/.
+
+Looking at some of the existing hooks should give you a decent idea of their
+capabilities; as a head start, the functions used in the hooks are declared
+in /usr/lib/pm-utils/functions, which is inherited elsewhere by
+/usr/lib/pm-utils/pm-functions. Note that an error exit code on any hook
+will cause the sleep operation to fail, so if you don't care whether your
+hook executes successfully, be sure to return an exit code of 0 (success) if
+you don't want the suspend operation to fail. Some other exit codes are
+also available; none of these will cause the suspend to fail:
+ $NA (not applicable), $NX (hook not executable), and $DX (hook disabled)
+
+One way to contribute to pm-utils indirectly is by writing and sending any
+needed hooks scripts to upstream projects; as an example, the hook that
+ships with wicd was contributed by me. Ideally, the pm-utils package should
+have a very minimum number of hooks shipped with it, as they should ship with
+the package to which the hook pertains; for example, the grub package would
+ship its own hook.
+
+==============================================================================
+
+KNOWN ISSUES
+
+**** If you encounter either of these, mail rworkman@slackware.com ****
+
+If your alsa drivers don't correctly save and restore state across a sleep /
+resume cycle (due to a buggy driver), then you will need to add the drivers
+to a custom file named /etc/pm/config.d/defaults (create the file if it does
+not exist already) in a variable named "SUSPEND_MODULES" - see the file at
+/usr/lib/pm-utils/defaults for proper format.
+
+The /usr/lib/pm-utils/sleep.d/90clock does not run by default. It added
+over a second to suspend, and the vast majority of hardware does not need it
+to keep the clocks in sync. If you need this hook, you can set the
+NEED_CLOCK_SYNC environment variable in a custom /etc/pm/config.d/defaults
+file.
+
+==============================================================================
+