Requirements for Suspend to RAM
HI guys,
I have some very specific questions regarding the suspend to ram functionality on Linux. Until now I was under the impression that one requires swsusp to do suspend-to-ram in linux but according to this website: http://www.thinkwiki.org/wiki/Swsusp#Suspending it says that we do not require swsusp. So here is my question, to have the functionality of suspend-to-ram does the BIOS of our laptop/computer needs to have ACPI support? If yes then do we need to enable the "ACPI Support" in the Kernel configuraiton options? Basically do we need ACPI to do Suspend-to-ram? Note that I am NOT talking about suspend2 at all in this post. Thanks |
Anyone?????:scratch:
|
Quote:
|
ACPI should do it.
Suspend to RAM(S3) is a built-in functionality in the ACPI power subsystem which enables the user to suspend to memory ala suspend in the Windows OS. The BIOS should have ACPI support, even if it does not then compiling it into the kernel will not pose a problem as Linux will automatically switch to using APM incase ACPI support isnt present.
Just make sure you have the line CONFIG_ACPI_SLEEP in your kernel config file marked as 'y' After building the new kernel you can try suspending by typing in : echo mem>/sys/power/state (Need to be super-user to be able to write to the above file.) swsusp is an application which primarily helps the user to hibernate to disk ie. Suspend to Disk functionality. The config file can be changed to suspend instead of hibernate but then if all you are looking for is Suspend to RAM then there is no use for swsusp. Hope this helps. |
Quote:
So it does mean that I have to enable the ACPI and APM support in the kernel if I want to use Suspend-to-Ram or Suspend-to-disk. Is that right? Thanks you very much. |
APM not quite so.
If your laptop has ACPI support then I see no reason why you need to include APM in the kernel. Just compile in ACPI and then see if Suspend to RAM works. If you want to use Suspend to Disk also then I would recomend that you download swsusp as it helps setting up the temporary swap device to write to and saves you from a lot of headaches.
|
Quote:
Ok final conclusion: For Suspend-to-ram you need: ACPI support in BIOS ACPI support in Kernel echo mem>/sys/power/state command For Suspend-to-disk you need: ACPI support in BIOS ACPI support in Kernel echo platform > /sys/power/disk; echo disk > /sys/power/state command or hibernate script or swsusp Is all the above mentioned information correct? If it is then I am sure loads of people like me will be benefited who are looking for this explanations before they step into the world of ACPI states. Thank you |
In addition to this you can look into something called suspend2 (http://suspend2.net) if you have litte time then you have to compile kernel and it works almost always well. Key benefits I saw was the speed of the suspend and ability to cancel the suspend instantly.
If you are not happy with compiling kernel then check out http://dagobah.ucc.asn.au/dapper-kernels/ For my kubuntu it works out of box. Must be similar with debian. Still to facilitate easy use of echo mem>/sys/power/state download "hibernate" package from the above site. It will unload a lot of modules and make life easier. |
Alas, my own dont work.
Quote:
My video-card is the onboard Intel 915 and I am using 915resolution to patch it to 1280x800 resolution. |
Have you tried "noapic" on your append line? It seems to be recommended for a lot of machines to get them to resume correctly.
|
Quote:
I have a Toshiba M70 which is using onboard Intel 915 integrated graphics. Here's what I did to get suspend to ram working... attached is a portion of my xorg.conf file: Code:
Section "Device" I also modified the "functions-intel" located in /etc/pm by commenting out "/usr/sbin/vbetool post" shown bolded below Code:
resume_video() Hope this helps... |
Quote:
BUt the problem is I cannot do Suspend-to-Ram from X windows. Any ideas why? I am using Nvidia-GeForceFX card with "nvidia" drivers in my xorg.conf file. Thanks |
Quote:
edit /etc/pm/functions-nvidia requires pm-utils package Quote:
|
Quote:
Code:
/usr/sbin/vbetool vbestate restore < /var/run/vbestate |
It works. Finally !!!!
--- Oops, double posted. ---
|
All times are GMT -5. The time now is 02:52 AM. |