File: README.suspend2ram

package info (click to toggle)
powersave 0.14.0-5
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 4,764 kB
  • ctags: 999
  • sloc: sh: 11,357; cpp: 8,103; ansic: 2,631; makefile: 388
file content (76 lines) | stat: -rw-r--r-- 4,155 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
@code{###############################################@*
### BIG FAT WARNING BIG FAT WARNING BIG FAT ###@*
###############################################}
@cartouche If your machine crashes during resume from suspend to RAM,@*
 severe file system corruption may occur which means: DANGER, DATA LOSS AHEAD.@*
 Please  back up important data before trying   suspend to RAM. In my experience,@*
 once you have found a setting that works, it is not dangerous at all, but@*
 you should keep an eye open. Use at your own risk.
@end cartouche

suspend to RAM with ACPI (S3) is still very experimental, but there
are several machines that are known to work. 
There are several "hacks" that can be tried to actually get the machine
to resume (suspend is usually not the problem, just the resume ;-)

Efforts to change this are going on, work is being done to implement a
"whitelist" of machines that are known to support suspend to RAM and the
needed workarounds (if any). This work is done in the "suspend" package
@url{http://sourceforge.net/projects/suspend} and there in the "s2ram" binary.
Support for s2ram is integrated into powersaved, it can be configured via
configuration variables in @code{/etc/powersave/sleep}.
On machines that are known to s2ram, no configuration should be necessary.
On machines that are unknown to s2ram (check with @code{sram -n} as root), you
need to set SUSPEND2RAM_FORCE=yes to override the detection, then configure
the workarounds (if needed) with the variables described below:

First, there are several kernel parameters, that can be tried out.  Just
add them to your "kernel"-line in @code{/boot/grub/menu.lst}. More information
about those can be found in @code{/usr/src/linux/Documentation/power/video.txt}.

You can try the following:
@itemize
@item @code{acpi_sleep=s3_bios}@*
		calls the video BIOS during resume to initialize the video card.
@item @code{acpi_sleep=s3_mode}@*
		calls the video BIOS during resume to reset the text mode.
@item @code{acpi_sleep=s3_bios,s3_mode}@*
		combines the above.
@end itemize
Also if it "just does not work", it may be a good idea to try with the
kernel parameter "@code{vga=normal}", which will give you a simple text console
during boot (sorry, no fancy graphics for this one). You need to remove
the existing "@code{vga=0x317}" or similar from the kernel command line and add
"@code{vga=normal}" instead. Only one "@code{vga=...}" should be present.@*
To make the whole thing a bit more "interesting", the @code{vga=normal} can
(and probably has to) be combined with the @code{acpi_sleep=...} parameters from
above.

The acpi_sleep parameter can also be set at runtime in @code{/proc/sys/kernel/acpi_video_flags},
or with the s2ram tool. In powersaved, the @code{SUSPEND2RAM_ACPI_SLEEP}
variable sets this, see the comment in the configuration file for details.

Another possibility is to save and restore the VBE settings of the graphics
card with the tool "@code{vbetool}". This is experimental and you should only
use this if you know what you are doing. Example scripts for vbetool usage
can be found in the contrib directory.

Using s2ram, VBE saving/restoring can be achieved with the @code{SUSPEND2RAM_VBE_SAVE}
variable. VBE POST can be done with @code{SUSPEND2RAM_VBE_POST}. Again, see the
comments in the config file for details.

In the (not too distant) past, often the advice was given to suspend from
a runlevel without X, but due to recent improvements with various X server
modules, this may not be the best advice anymore since in fact on some
machines only the X server is capable of bringing the graphics card back
correctly from suspend to RAM. On the Dell D600 for example, the display
backlight stays off until the X server reinitializes the card.

There is a list of working machines and tricks how to get them work in the
linux kernel Documentation. If the linux kernel sources are installed, the
list can be found at
@code{/usr/src/linux/Documentation/power/video.txt}.

If you find other machines that work with one of these (or if you cannot
get machines mentioned here to work at all) feel free to contact us via
the powersave-users mailinglist.