Hello community, here is the log from the commit of package pm-utils checked in at Tue Oct 7 11:44:14 CEST 2008. -------- --- pm-utils/pm-utils.changes 2008-09-26 12:42:15.000000000 +0200 +++ /mounts/work_src_done/STABLE/pm-utils/pm-utils.changes 2008-10-06 21:49:36.000000000 +0200 @@ -1,0 +2,7 @@ +Mon Oct 6 21:48:26 CEST 2008 - seife@suse.de + +- add support for "smart" detection of s2ram quirks +- add support for passing in quirks via command line from HAL +- add README.smart-suspend-to-RAM documentation + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- pm-utils-0.99.3-add-pm-hooks.diff pm-utils-0.99.3-comment-configfile.diff pm-utils-0.99.3-suse.diff pm-utils-suse-20080924.tar.bz2 New: ---- pm-utils-0.99.4-configfile.diff pm-utils-0.99.4-suse.diff pm-utils-suse-20081006.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pm-utils.spec ++++++ --- /var/tmp/diff_new_pack.Y26709/_old 2008-10-07 11:43:17.000000000 +0200 +++ /var/tmp/diff_new_pack.Y26709/_new 2008-10-07 11:43:17.000000000 +0200 @@ -21,19 +21,18 @@ Name: pm-utils Url: http://webcvs.freedesktop.org/pm-utils/ Version: 0.99.4.20071229 -Release: 2 -%define pm_utils_suse_version 20080924 +Release: 3 +%define pm_utils_suse_version 20081006 Summary: Tools to suspend and hibernate computers License: GPL v2 or later Group: System/Base Source: %{name}-%{version}.tar.bz2 Patch1: pm-utils-0.99.4-on_ac_power-no-dbus-fallback.diff Patch2: pm-utils-0.99.4-uswsusp-support.diff -Patch3: pm-utils-0.99.3-comment-configfile.diff +Patch3: pm-utils-0.99.4-configfile.diff Patch4: pm-utils-0.99.3-README-fix.diff -Patch5: pm-utils-0.99.3-add-pm-hooks.diff Patch6: pm-utils-0.99.4-fix-broken-dbus-send.diff -Patch99: pm-utils-0.99.3-suse.diff +Patch99: pm-utils-0.99.4-suse.diff Source1: pm-utils-suse-%{pm_utils_suse_version}.tar.bz2 Source2: README.upstream-hooks Source3: README.update @@ -60,11 +59,10 @@ %setup -b 1 %patch1 -p1 %patch2 -p1 -%patch3 -p0 +%patch3 -p1 %patch4 -p0 -%patch5 -p0 %patch6 -p1 -%patch99 -p0 +%patch99 -p1 %build export CFLAGS="$RPM_OPT_FLAGS" @@ -101,11 +99,15 @@ /usr/bin/* /usr/lib/pm-utils %_mandir/man1/* -%doc README ChangeLog AUTHORS +%doc README ChangeLog AUTHORS ../pm-utils-suse/doc/README.smart-suspend-to-RAM %doc examples %ghost %verify(not md5 size mtime) /var/log/pm-suspend.log %changelog +* Mon Oct 06 2008 seife@suse.de +- add support for "smart" detection of s2ram quirks +- add support for passing in quirks via command line from HAL +- add README.smart-suspend-to-RAM documentation * Fri Sep 26 2008 seife@suse.de - fix pm-action and functions for suspend-hybrid * Wed Sep 24 2008 seife@suse.de ++++++ pm-utils-0.99.3-comment-configfile.diff -> pm-utils-0.99.4-configfile.diff ++++++ --- pm-utils/pm-utils-0.99.3-comment-configfile.diff 2007-04-04 21:00:50.000000000 +0200 +++ /mounts/work_src_done/STABLE/pm-utils/pm-utils-0.99.4-configfile.diff 2008-10-02 17:23:50.000000000 +0200 @@ -1,8 +1,10 @@ -Index: pm/defaults -================================================================================ ---- pm/defaults -+++ pm/defaults -@@ -3,7 +3,21 @@ +Index: b/pm/defaults +=================================================================== +--- a/pm/defaults ++++ b/pm/defaults +@@ -1,9 +1,48 @@ + + ########################################################## # DO NOT EDIT THIS FILE, edit /etc/pm/config.d/ instead! # ########################################################## @@ -12,15 +14,40 @@ +# what modules should be unloaded during suspend/hibernate? +# note that this removes the module and all dependent modules, if possible. SUSPEND_MODULES="" -+ + +####################################################################### +# the variables below here are specific to the SUSE package right now - ++ +# what options should be passed to s2ram? +# see http://en.opensuse.org/S2ram for more information ++# If this option is set, it overrides S2RAM_QUIRKS_SOURCE below +S2RAM_OPTS="" + ++# where should pm-utils get the s2ram quirks from? ++# s2ram - use the whitelist in s2ram, if the machine is known. ++# hal - use the quirks passed in by HAL on the command line ++# everything else: try to be smart in figuring out the correct ++# quirks. ++# if S2RAM_OPTS is set, it overrides S2RAM_QUIRKS_SOURCE! ++S2RAM_QUIRKS_SOURCE="" ++ +# which method should be used for suspend to disk? +# defaults to "autodetect" ("userspace" if s2disk is available, "kernel" otherwise) +# (do not change unless you kow what you are doing) +HIBERNATE_METHOD="" ++ ++# IWL power management ++# 6: Radio always on, default AC ++# 7: Default BATTERY level ++# Empty string is meant for not touching any power management features at all ++IWL_PM="7" ++ ++# SATA power management ++# Possible values are: min_power, medium_power, max_performance ++# Empty string is meant for not touching any power management features at all ++SATA_PM="medium_power" ++ ++# SOUND power management ++# Specifies the timeout after a sound card enters a low power mode ++# Empty string is meant for not touching any power management features at all ++SOUND_PM="10" ++++++ pm-utils-0.99.3-suse.diff -> pm-utils-0.99.4-suse.diff ++++++ --- pm-utils/pm-utils-0.99.3-suse.diff 2007-08-16 14:09:52.000000000 +0200 +++ /mounts/work_src_done/STABLE/pm-utils/pm-utils-0.99.4-suse.diff 2008-10-02 17:23:52.000000000 +0200 @@ -1,6 +1,10 @@ ---- pm/functions -+++ pm/functions -@@ -14,8 +14,8 @@ +Index: b/pm/functions +=================================================================== +--- a/pm/functions ++++ b/pm/functions +@@ -13,12 +13,12 @@ set -a + HIBERNATE_RESUME_POST_VIDEO=no + INHIBIT=/var/run/pm-utils.inhibit PM_LOGFILE=${PM_LOGFILE:=/var/log/pm-suspend.log} SUSPEND_MODULES="" HIBERNATE_METHOD="" @@ -11,7 +15,11 @@ [ -f /usr/lib/pm-utils/defaults ] && . /usr/lib/pm-utils/defaults set +a -@@ -36,7 +36,9 @@ + + # set nullglob to make glob results empty in case the pattern does not +@@ -39,11 +39,13 @@ source_configs() + source_configs + take_suspend_lock() { VT=$(fgconsole) @@ -22,7 +30,11 @@ if [ -f /.suspended ]; then read pid < /.suspended if [ -d /proc/$pid ]; then -@@ -51,9 +53,9 @@ + return 1 + fi +@@ -54,13 +56,13 @@ take_suspend_lock() + return 0 + } remove_suspend_lock() { @@ -35,18 +47,28 @@ openvt -- sh -c "usleep $1 ; rm -f /.suspended >/dev/null 2>&1 0<&1" >/dev/null 2>&1 0<&1 & } -@@ -77,7 +79,7 @@ + find_sleepd_files() + { +@@ -79,11 +81,11 @@ run_hooks() + { + # $1=suspend/suspend_hybrid/hibernate $2=suspend/hibernate/thaw/resume $3=reverse/"" [ -z "$1" ] && return 0 [ -f /var/run/pm-suspend ] && . /var/run/pm-suspend - rm -f /var/run/pm-suspend +# rm -f /var/run/pm-suspend - echo "$(date): running $1 hooks." + echo "$(date): running '$1'/'$2'/'$3' hooks." + + files=$(find_sleepd_files) + if [ "$3" = "reverse" ]; then +Index: b/pm/hooks/00clear +=================================================================== +--- a/pm/hooks/00clear ++++ b/pm/hooks/00clear +@@ -3,11 +3,11 @@ + . /usr/lib/pm-utils/functions ---- pm/hooks/00clear -+++ pm/hooks/00clear -@@ -5,7 +5,7 @@ RETVAL=0 case "$1" in hibernate|suspend) @@ -55,9 +77,15 @@ RETVAL=$? ;; *) ---- pm/hooks/50modules -+++ pm/hooks/50modules -@@ -6,6 +6,7 @@ + ;; + esac +Index: b/pm/hooks/50modules +=================================================================== +--- a/pm/hooks/50modules ++++ b/pm/hooks/50modules +@@ -4,19 +4,21 @@ + + suspend_modules() { [ -z "$SUSPEND_MODULES" ] && return 0 for x in $SUSPEND_MODULES ; do @@ -65,7 +93,9 @@ modunload $x done return 0 -@@ -15,6 +16,7 @@ + } + + resume_modules() { [ -z "$RESUME_MODULES" ] && return 0 for x in $RESUME_MODULES ; do @@ -73,3 +103,5 @@ modprobe $x done } + + case "$1" in ++++++ pm-utils-0.99.4-uswsusp-support.diff ++++++ --- /var/tmp/diff_new_pack.Y26709/_old 2008-10-07 11:43:17.000000000 +0200 +++ /var/tmp/diff_new_pack.Y26709/_new 2008-10-07 11:43:17.000000000 +0200 @@ -57,14 +57,98 @@ get_power_status() { RETVAL=0 -@@ -121,45 +124,96 @@ get_power_status() +@@ -119,47 +122,181 @@ get_power_status() + ;; + esac return $RETVAL } ++get_s2ram_cmdline() ++{ ++ local ACPI_FLAG UNHANDLED ++ let ACPI_FLAG=0 ++ if [ -n "$QUIRK_NONE" ]; then ++ echo "INFO: HAL quirks state no quirk is neeed." ++ return; ++ fi ++ [ -n "$QUIRK_S3_BIOS" ] && ACPI_FLAG=1 ++ [ -n "$QUIRK_S3_MODE" ] && let ACPI_FLAG+=2 ++ [ $ACPI_FLAG -ne 0 ] && S2RAM_OPTS+="--acpi_sleep $ACPI_FLAG " ++ [ -n "$QUIRK_VBE_POST" ] && S2RAM_OPTS+="--vbe_post " ++ [ -n "$QUIRK_VBEMODE_RESTORE" ] && S2RAM_OPTS+="--vbe_mode " ++ [ -n "$QUIRK_VBESTATE_RESTORE" ] && S2RAM_OPTS+="--vbe_save " ++ [ -n "$QUIRK_RADEON_OFF" ] && S2RAM_OPTS+="--radeontool " ++ # the unhandled quirks... ++ [ -n "$QUIRK_DPMS_ON" ] && UNHANDLED+="QUIRK_DPMS_ON " ++ [ -n "$QUIRK_DPMS_SUSPEND" ] && UNHANDLED+="QUIRK_DPMS_SUSPEND " ++ [ -n "$QUIRK_RESET_BRIGHTNESS" ] && UNHANDLED+="QUIRK_RESET_BRIGHTNESS " ++ [ -n "$QUIRK_VGA_MODE_3" ] && UNHANDLED+="QUIRK_VGA_MODE_3 " ++ if [ -n "$UNHANDLED" ]; then ++ echo "INFO: those quirks are not handled yet: $UNHANDLED" ++ fi ++ echo "INFO: S2RAM_OPTS from HAL quirks: '$S2RAM_OPTS'." ++} ++ ++# this function tries to assemble the best s2ram options from various sources, falling back ++# to other methods... ++get_s2ram_opts() ++{ ++ # if S2RAM_OPTS is set - then use it. The user told us so. Obey his wish. ++ if [ -n "$S2RAM_OPTS" ]; then ++ echo "INFO: using user-supplied options: S2RAM_OPTS='$S2RAM_OPTS' for suspending." ++ return ++ fi ++ ++ # The user did not tell us the options, so let's check if he expressed a preference for ++ # quirks passed by HAL via the command line... ++ if [ "$S2RAM_QUIRKS_SOURCE" = "hal" ]; then ++ # use the quirks from HAL ++ S2RAM_OPTS="--force" ++ get_s2ram_cmdline ++ return ++ fi ++ ++ # ...or if he prefers the s2ram built in list... ++ if [ "$S2RAM_QUIRKS_SOURCE" = "s2ram" ]; then ++ if /usr/sbin/s2ram -n >/dev/null; then ++ echo "INFO: using s2ram built-in database, machine is supported." ++ return ++ else ++ echo "WARN: S2RAM_QUIRKS_SOURCE=s2ram, but machine is unknown, continuing..." ++ fi ++ fi ++ ++ # still nothing. So let's try to be smart. ++ # first check if a "good" kernel module is loaded. ++ for MODULE in i915 fglrx nvidia; do ++ if [ -d /sys/module/$MODULE ]; then ++ echo "INFO: module $MODULE is loaded, trusting it to restore video after resume." ++ S2RAM_OPTS="--force" ++ return ++ fi ++ done ++ ++ # now we check if s2ram knows the machine. ++ if /usr/sbin/s2ram -n >/dev/null; then ++ echo "INFO: machine is in s2ram database, using it." ++ return; ++ fi ++ ++ # s2ram does not know the machine, ask HAL... ++ echo "INFO: no quirks found, using info passed by HAL." ++ get_s2ram_cmdline ++ if [ -n "$S2RAM_OPTS" ]; then ++ S2RAM_OPTS+="--force " ++ fi ++ ++ # if we came here and S2RAM_OPTS is empty, suspend won't work :-( ++} ++ do_suspend() { - pm-pmu --suspend || echo -n "mem" > /sys/power/state + local RET ++ get_s2ram_opts + if [ -x /usr/sbin/s2ram ]; then + set -x + /usr/sbin/s2ram $S2RAM_OPTS @@ -118,6 +202,7 @@ + fi + case $HIBERNATE_METHOD in + userspace) ++ get_s2ram_opts + set -x + /usr/sbin/s2both --config $S2DISK_CONF + RET=$? @@ -186,7 +271,79 @@ =================================================================== --- a/src/pm-action +++ b/src/pm-action -@@ -92,10 +92,11 @@ done +@@ -51,51 +51,57 @@ if [ -n "$EUID" -a "$EUID" != "0" ]; the + exit 1 + fi + + export LC_COLLATE=C + ++#export everything ++set -a ++ + # Get the command line options + while [ $# -gt 0 ] + do +- case "$1" in +- --quirk-dpms-on) +- export DISPLAY_QUIRK_DPMS_ON="true" ;; +- --quirk-dpms-suspend) +- export DISPLAY_QUIRK_DPMS_SUSPEND="true" ;; +- --quirk-radeon-off) +- export DISPLAY_QUIRK_RADEON_OFF="true" ;; +- --quirk-reset-brightness) +- export DISPLAY_QUIRK_RESET_BRIGHTNESS="true" ;; +- --quirk-s3-bios) +- export DISPLAY_QUIRK_S3_BIOS="true" ;; +- --quirk-s3-mode) +- export DISPLAY_QUIRK_S3_MODE="true" ;; +- --quirk-vbe-post) +- export DISPLAY_QUIRK_VBE_POST="true" ;; +- --quirk-vbemode-restore) +- export DISPLAY_QUIRK_VBEMODE_RESTORE="true" ;; +- --quirk-vbestate-restore) +- export DISPLAY_QUIRK_VBESTATE_RESTORE="true" ;; +- --quirk-vga-mode3) +- export DISPLAY_QUIRK_VGA_MODE_3="true" ;; +- --help) +- help_options +- exit 0 ;; +- *) +- break ;; # terminate while loop ++ # for backwards compatibility, we export the quirks as both ++ # "QUIRK_*" and "DISPLAY_QUIRK_*" (the old form). ++ case "${1##--quirk-}" in # just quirks, please ++ dpms-on) QUIRK_DPMS_ON="true" ++ DISPLAY_QUIRK_DPMS_ON="true" ;; ++ dpms-suspend) QUIRK_DPMS_SUSPEND="true" ++ DISPLAY_QUIRK_DPMS_SUSPEND="true" ;; ++ radeon-off) QUIRK_RADEON_OFF="true" ++ DISPLAY_QUIRK_RADEON_OFF="true" ;; ++ reset-brightness) QUIRK_RESET_BRIGHTNESS="true" ++ DISPLAY_QUIRK_RESET_BRIGHTNESS="true" ;; ++ s3-bios) QUIRK_S3_BIOS="true" ++ DISPLAY_QUIRK_S3_BIOS="true" ;; ++ s3-mode) QUIRK_S3_MODE="true" ++ DISPLAY_QUIRK_S3_MODE="true" ;; ++ vbe-post) QUIRK_VBE_POST="true" ++ DISPLAY_QUIRK_VBE_POST="true" ;; ++ vbemode-restore) QUIRK_VBEMODE_RESTORE="true" ++ DISPLAY_QUIRK_VBEMODE_RESTORE="true" ;; ++ vbestate-restore) QUIRK_VBESTATE_RESTORE="true" ++ DISPLAY_QUIRK_VBESTATE_RESTORE="true" ;; ++ vga-mode3) QUIRK_VGA_MODE_3="true" ++ DISPLAY_QUIRK_VGA_MODE_3="true" ;; ++ none) QUIRK_NONE="true" ;; # there was never a DISPLAY_QUIRK_NONE ++ --help) help_options ++ exit 0 ;; ++ *) echo "info: unknown option '$1' ignored." + esac + shift + done ++set +a + + . /usr/lib/pm-utils/functions + + [ -f /sys/power/state ] || exit 1 ACTION=$(basename "$0") @@ -198,7 +355,7 @@ suspend) if ! grep -q mem /sys/power/state ; then echo "Error: kernel cannot suspend to ram." 1>&2 -@@ -107,15 +108,23 @@ case "$ACTION" in +@@ -107,15 +113,23 @@ case "$ACTION" in echo "Error: kernel cannot suspend to disk." 1>&2 exit 1 fi @@ -223,3 +380,93 @@ +pm_main "$METHOD" "$ACTION" "$REVERSE" exit $? +Index: b/pm/hooks/20video +=================================================================== +--- a/pm/hooks/20video ++++ b/pm/hooks/20video +@@ -28,36 +28,36 @@ radeon() { + } + + suspend_video() + { + # 0=nothing, 1=s3_bios, 2=s3_mode, 3=both +- if [ "${DISPLAY_QUIRK_S3_BIOS}" == "true" -a \ +- "${DISPLAY_QUIRK_S3_MODE}" == "true" ]; then ++ if [ "${QUIRK_S3_BIOS}" == "true" -a \ ++ "${QUIRK_S3_MODE}" == "true" ]; then + sysctl -w kernel.acpi_video_flags=3 +- elif [ "${DISPLAY_QUIRK_S3_BIOS}" == "true" ]; then ++ elif [ "${QUIRK_S3_BIOS}" == "true" ]; then + sysctl -w kernel.acpi_video_flags=1 +- elif [ "${DISPLAY_QUIRK_S3_MODE}" == "true" ]; then ++ elif [ "${QUIRK_S3_MODE}" == "true" ]; then + sysctl -w kernel.acpi_video_flags=2 + else + sysctl -w kernel.acpi_video_flags=0 + fi + + # We might need to do one or many of these quirks +- if [ "${DISPLAY_QUIRK_RADEON_OFF}" == "true" ]; then ++ if [ "${QUIRK_RADEON_OFF}" == "true" ]; then + radeon dac off + radeon light off + fi +- if [ "${DISPLAY_QUIRK_VBESTATE_RESTORE}" == "true" ]; then ++ if [ "${QUIRK_VBESTATE_RESTORE}" == "true" ]; then + vbe vbestate save > /var/run/vbestate + fi +- if [ "${DISPLAY_QUIRK_VBEMODE_RESTORE}" == "true" ]; then ++ if [ "${QUIRK_VBEMODE_RESTORE}" == "true" ]; then + vbe vbemode get > /var/run/vbemode + fi +- if [ "${DISPLAY_QUIRK_VGA_MODE_3}" == "true" ]; then ++ if [ "${QUIRK_VGA_MODE_3}" == "true" ]; then + vbe vbemode set 3 + fi +- if [ "${DISPLAY_QUIRK_DPMS_SUSPEND}" == "true" ]; then ++ if [ "${QUIRK_DPMS_SUSPEND}" == "true" ]; then + vbe dpms suspend + fi + } + + +Index: b/pm/hooks/99video +=================================================================== +--- a/pm/hooks/99video ++++ b/pm/hooks/99video +@@ -38,29 +38,29 @@ radeon() { + $radeontool "$@" + } + + resume_video() + { +- if [ "${DISPLAY_QUIRK_RADEON_OFF}" == "true" ]; then ++ if [ "${QUIRK_RADEON_OFF}" == "true" ]; then + radeon dac on + radeon light on + fi + # We might need to do one or many of these quirks +- if [ "${DISPLAY_QUIRK_VBE_POST}" == "true" ]; then ++ if [ "${QUIRK_VBE_POST}" == "true" ]; then + vbe post + usleep 100000 + fi +- if [ "${DISPLAY_QUIRK_VBESTATE_RESTORE}" == "true" ]; then ++ if [ "${QUIRK_VBESTATE_RESTORE}" == "true" ]; then + vbe vbestate restore < /var/run/vbestate + fi +- if [ "${DISPLAY_QUIRK_VBEMODE_RESTORE}" == "true" ]; then ++ if [ "${QUIRK_VBEMODE_RESTORE}" == "true" ]; then + vbe vbemode set `cat /var/run/vbemode` + fi +- if [ "${DISPLAY_QUIRK_DPMS_ON}" == "true" ]; then ++ if [ "${QUIRK_DPMS_ON}" == "true" ]; then + vbe dpms on + fi +- if [ "${DISPLAY_QUIRK_RESET_BRIGHTNESS}" == "true" ]; then ++ if [ "${QUIRK_RESET_BRIGHTNESS}" == "true" ]; then + reset_brightness + fi + } + + ++++++ pm-utils-suse-20080924.tar.bz2 -> pm-utils-suse-20081006.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/pm-utils-suse/doc/README.smart-suspend-to-RAM new/pm-utils-suse/doc/README.smart-suspend-to-RAM --- old/pm-utils-suse/doc/README.smart-suspend-to-RAM 1970-01-01 01:00:00.000000000 +0100 +++ new/pm-utils-suse/doc/README.smart-suspend-to-RAM 2008-10-06 21:38:40.000000000 +0200 @@ -0,0 +1,66 @@ +"Smart" selections of parameters for suspend to RAM +=================================================== + +This release of pm-utils implements a "smart" selection of the best +parameters for suspend to RAM. See http://en.opensuse.org/S2ram for +more information on the possible parameters. + +How does it work? +================= +There are several sources of so called "quirk lists", which describe +what special hacks are necessary on a given machine: +- the s2ram whitelist, compiled into the s2ram binary +- HAL's quirk list +- drivers for specific chipsets that know how to bring the video card + back to life. + +When preparing suspend, pm-suspend goes through the following workflow: + +1) It checks if the S2RAM_OPTS variable is set in a configuration file + in /etc/pm/config.d/. If it is, the options in that variable are + used for suspend. +2) It checks if one of the card specific modules is loaded (right now + those are i915 (for Intel graphics), nvidia and fglrx (for ATI). + If it finds one of those, it assumes that they can handle suspend + and uses no other options. +3) It checks if the machine is in the s2ram whitelist. If the machine + is known there, the s2ram whitelist is used. +4) It get the options that HAL passed on the pm-suspend command line + and uses those. +5) If nothing is found yet, suspend will fail. + +How can I influence it, in case something goes wrong? +===================================================== +In case one of the card specific modules is loaded, but unable to restore +after suspend, and the machine is known to either HAL or s2ram, you can +select the source of quirks with the variable S2RAM_QUIRKS_SOURCE. Set +it like this: + + S2RAM_QUIRKS_SOURCE="hal" # for HAL +or + S2RAM_QUIRKS_SOURCE="s2ram" # for the s2ram whitelist + +Note that the s2ram whitelist is only used if the machine is actually +known by s2ram. + +In case the machine is unknown, try to find out the correct options (see +http://en.opensuse.org/S2ram for details) and put them into S2RAM_OPTS. + +Where do I put those variables? +=============================== +Just create a file in /etc/pm/config.d/, e.g. named "suspend": + +/etc/pm/config.d/suspend + +and put the variable in there. This config file is sourced by a shell, +so it needs to have valid shell syntax. + +Further reading +=============== +Up to date documentation is available at + + http://en.opensuse.org/S2ram + http://en.opensuse.org/Pm-utils + + +Have a lot of fun... ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org