Next: SuspendSec, Previous: SuspendNvidia, Up: Top
############################################
# BIG FAT WARNING BIG FAT WARNING BIG FAT #
############################################
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. |
Hello,
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 ;-)
First, there are several kernel parameters, that can be tried out. Just add them to your "kernel"-line in /boot/grub/menu.lst. More information about those can be found in /usr/src/linux/Documentation/power/video.txt.
You can try the following: acpi_sleep=s3_bios calls the video BIOS during resume to initialize the video card. acpi_sleep=s3_mode calls the video BIOS during resume to reset the text mode. acpi_sleep=s3_bios,s3_mode combines the above.
Also if it "just does not work", it may be a good idea to try with the kernel parameter "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 "vga=0x317" or similar from the kernel command line and add "vga=normal" instead. Only one "vga=..." should be present. To make the whole thing a bit more "interesting", the vga=normal can (and probably has to) be combined with the acpi_sleep=... parameters from above.
Another possibility is to save and restore the VBE settings of the graphics card with the tool "vbetool". This is very 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.
A grub entry with those settings could look like this:
title SUSE LINUX 9.3 kernel (hd0,1)/boot/vmlinuz root=/dev/hda3 selinux=0 splash=silent resume=/dev/hda2 showopts vga=normal acpi_sleep=s3_bios initrd (hd0,1)/initrd
Note that i put the changed options after the "showopts" keyword, so i can easily see (and change) them at the boot prompt.
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.
The machines listed below are reported to be working or tested by us, they often need one of the "tricks" listed above which is noted along with them. As those machines are often available in different "generations" i tried to describe them a little closer with the information available from lspci or dmidecode, such as an exact model number or the exact type of the graphics card. If you have a similar graphics card, you might get by with the same "trick".
Machine specific "tricks":
Compaq Armada E500
no tricks needed, suspend2ram and standby works
(P3-700,ATI Rage Mobility P/M) "out of the box".
IBM Thinkpad R32
no tricks needed, "works out of the box".
(Type 2658-MMG)
IBM Thinkpad T20
no tricks needed, but console is corrupted after
(Type 2647-44G, savage graphics) resume. vga=normal works better.
IBM Thinkpad T41p
acpi_sleep=s3_bios,s3_mode
(Type 2373-W6M, ATI M10NT, [FireGL Mobility T2])
IBM Thinkpad X40
acpi_sleep=s3_bios,s3_mode
(Type 2371-7JG)
IBM Thinkpad 600e
no tricks needed, but after resume a switch from X to
(Type 2645-5BG) console and back is needed (or vbetool restore).
Toshiba Satellite 4080XCDT
acpi_sleep=s3_mode. suspend2ram and standby works
ASUS L2400D
acpi_sleep=s3_mode. suspend2ram and standby works.
Sharp PC-AR10
no tricks. The display backlight does not switch off,
but if you suspend via "lid close", the light is
turned off by the switch.
HP Omnibook 4150
no tricks, just works. standby works, too.
ACER Travelmate 803LCi
vga=normal, X server brings back the backlight
(ATI R250Lf)
ACER C300 Tablet PC
vesafb with "vbetool vbestate save / restore"
(i855 centrino)
FSC Amilo M7400 (i855)
vesafb with "vbetool vbestate save / restore"
SONY PCG-GRT995MP (nv)
no tricks, just works with the "nv" X driver. For
the binary NVidia driver, please read README.NVidia.
Often, the "acpi_sleep=s3_mode" is not strictly necessary since the X server will reset the text mode also, so it is sometimes more a "correctness issue" than a really needed fix.
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 suse-laptop mailinglist or directly.
Good luck and
Have a lot of fun... :-)
Stefan Seyfried (seife@suse.de)