Mailinglist Archive: opensuse-commit (1649 mails)

< Previous Next >
commit pm-utils
  • From: root@xxxxxxxxxxxxxxx (h_root)
  • Date: Tue, 07 Oct 2008 11:44:14 +0200
  • Message-id: <20081007094414.F01BF67815D@xxxxxxxxxxxxxxx>

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@xxxxxxx
+
+- 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@xxxxxxx
+- 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@xxxxxxx
- fix pm-action and functions for suspend-hybrid
* Wed Sep 24 2008 seife@xxxxxxx

++++++ 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@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx

< Previous Next >
This Thread