90

Hibernate & Suspend Resolved | Ubuntu Gutsy-nVidia-Dell Vostro

“Caution! This is a lengthy post and not intended for casual reading. You can only appreciate this if you’ve faced the issue.”

At last, I am able to hibernate and resume my system successfully, which has been bothering for quite some time now. Just before writing this post, I hibernated and resumed my system for a whopping 15 times in a row!

Before I explain what worked for me here’s what I have:

  • Nvidia GeForce 8400M GS (Note this)
  • Dell Vostro 1500
  • Ubuntu(7.1) Gutsy Gibbon

The Problem:

For me, suspend always worked but on hibernating the system the screen goes black, with a blinking text cursor in the upper left corner and then the screen turns off but the power LED is still lit and the fan remains active till I press the power button to forcibly shut the system.

The Cause:

While there could be numerous reasons for hibernate/suspend not working, mine was attributed to the graphics card driver settings and the way the power management software dealt with the state while hibernating/resuming. After going through numerous forums, wikis and blogs hunting for the solution, I can safely say that 90% of the hibernate/suspend issues are attributed to the same.

The Solution:

Since I didn’t find the solution to the hibernate problem at a single place, it came out of a lot of trial and error. According to me, it makes sense to understand a couple of things before trying out the solution.

  • Suspend Vs. Hibernate:
      • Suspend: The computer goes into the lowest possible power saving mode stopping any calculations or actions being performed. However it does maintain the data on the RAM and therefore resumes quickly from where it left at the press of a button.
      • Hibernate: Hibernate is also called ‘Suspend to Disk’. On hibernating, the state of the computer is first persisted on the hard disk and then the devices are turned off. On restarting, once the devices are switched on, the state is restored into the RAM from the disk.

      This suspend is a power saving mode while hibernate is a power sleep mode.

  • Power Management
      • Advanced Power Management (APM) : APM is the raw power management and works directly with the BIOS of the computer. While it sounds good but the disadvantage is that BIOS manages and functions without any understanding of the operating system. This is definitely not what we want.
      • Advanced Configuration and Power Interface (ACPI): Now this is what makes life easy and gives us a lot of flexibility to play around with the settings. ACPI is an open industry specification and provides an abstraction layer between the OS and the platform hardware and firmware. Thus it works collaboratively with the OS and the BIOS and provides better control over power management.

Now enough of theory, let’s get onto some practicals:

If you haven’t changed the default settings, Ubuntu Gutsy would most likely be using ACPI. Here’s how I proceeded:

  1. Browse Ubuntu and other forums which you would have already done by now.
  2. Try to hibernate(I know it doesn’t work.) But when you resume look into System>Administration>System Log. It may give an indication of the issue.
  3. Configure AGP
      • On a terminal type: sudo gedit /etc/X11/xorg.conf and add the following under the “Device” section:

Option “NvAGP” “1”

4. Prevent the OS from loading the default agpgart and the AGP driver for the chipset by adding the following in the blacklisted modules(type sudo gedit /etc/modprobe.d/blacklist on a terminal)

blacklist intel_agp
blacklist agpgart

5. Modify ACPI settings

On a terminal type: sudo gedit /etc/default/acpi-support and ensure the following:

ACPI_SLEEP=true

ACPI_HIBERNATE=true

SAVE_VBE_STATE=false

POST_VIDEO=false

SAVE_VIDEO_PCI_STATE=true

6. Finally if you’re using compiz (desktop-effects) in conjunction with NVIDIA binary drivers, make sure your “Sync to VBLANK” option in “Advanced Desktop Effects Settings > General > Display settings” is *disabled*. You can set this option to false by running:

gconftool --set /apps/compiz/general/screen0/options/sync_to_vblank 0 --type bool

This is just a compilation of information gathered through various forums/websites. Hopefully hibernate should work well by playing around with the settings as explained above. If it doesn’t, I can just say Good Luck! Keep trying! And please post anything which helped to get your Vostro hibernate 🙂

Facebook Comments
Amit Srivastava
 

Click Here to Leave a Comment Below 90 comments
Humberto González - April 9, 2008

proved with an hp pavilion dv2000 series and works, thanks a lot…

Reply
JazzeD - May 1, 2008

Work’s on a Dell Precision M4300 ,Quadro 360m ,Ubuntu 8.04 ,Compiz

Thanks man

Reply
Amit Srivastava - May 1, 2008

@Humberto and Jazze, thanks for the confirmation. Glad that the post helped you.

Reply
Ubuntu 7.10 (Gutsy Gibbon) on Acer Aspire 5920G – 304G25 « Avellosapello - May 1, 2008

[…] followed this guide. Sometimes doesn’t suspend; I’m going to debug this (any help would be […]

Reply
Juri - May 1, 2008

Hi,
I’ve tried on my Acer Aspire 5920G and sometimes works. Sometimes instead all seems to go down, but the system doesn’t go in stand by; sometimes nothing happens when I try to resume from standby (blank screen).
How can I investigate?

Thanks.

P.S.: I’ve linked your great guide in my blog.

Reply
Amit Srivastava - May 6, 2008

Hi Juri, well Hibernate/Suspend is a complicated issue and can malfunction because of various issues. More often or not it will be a display issue. The best way is to keep checking the logs:

“Try to hibernate(I know it doesn’t work.) But when you resume look into System>Administration>System Log. It may give an indication of the issue. ”

That may lead to some indication as to which hardware/process is causing the issue.

Do post if you find something interesting !

Reply
Mario Berges - June 14, 2008

Sweet! It worked well.
Nice post.

Specs:
Dell Latitude D630
nVidia Quadro NVS 135M
Ubuntu Hardy Heron 8.04

Reply
atto - July 30, 2008

Thanks! Works great on my desktop pc
(nvidia nforce,geforce 7600, ubuntu 8.04)

Reply
eigenhirn - August 2, 2008

Great! Thank you so much.
It works with

Dell Vostro 1400
nVidia GeForce 8400M GS (using the binary driver of nvidia corp.)
Kubuntu Hardy Heron 8.04

Reply
Amit Srivastava - August 3, 2008

@Mario, Atto, Eigenhirn: Thanks. Good to know that it works across various configurations.

Reply
rudy.elgato - August 18, 2008

Wow! Just wanted to say thanks a million. I’ve been poking around, searching, hacking, trying to figure out how to get suspend to work (older dell optiplex gx270, nVidia GeForce FX 5200, ubuntu 8.04) and your solution here works great.

As a bonus, Switch User is also working now. Which is fantastic, since I’ve setup separate accounts for my wife and daughter. With suspend and switch user now working, I finally have a very usable home linux system.

Thanks Again!!!

Reply
Amit Srivastava - August 18, 2008

@Rudy: Thanks. The Switch User find is an interesting one.

Reply
Tak - August 21, 2008

Thank you very much! I got suspend to work (haven’t tried hybernating yet) on my Inspiron 5150 w/ Nvidia GeForce 5200! Even w/ Compiz! I’m using Ubuntu Hardy.
However, it does not suspend when I close the lid even though the checkbox for that is checked in the “power management” window. Do you know how to fix that? Thanks

Reply
rudy.elgato - August 22, 2008

Yea, that is a very nice surprise to have Switch User start working too. And, after 3 days now, suspend/hibernate and Switch User continue to work perfectly. I’ve been playing around with it quite a bit just to make sure things really are working right, and they really are.

But… something new I’m now just coming across. Actually, my wife and 4 year old (this is my 4 year old son, not the daughter I mention above) came across it. They’ve been using the GCompris Educational Suite on the system for awhile now without any problem. They just tried it today for the first time since these changes for suspend, and it’s not working. I’ve looked at it a bit, and what seems to be going on is when the game starts it tries to change the screen resolution, but it ends up with a blank screen. I hear the music from the game playing, so it’s really going. I just have a blank screen. I have to kill the gnome session to get things back.

In addition, I’m not able to manually change the screen resolution. I mean, if I go to System -> Preferences -> Screen Resolution, and select the Apply button for a different resolution, it simply goes to black. It’s like the change has been made, but the screen does not come back after the change has been made.

Any ideas? I figure one of the changed settings from steps 3, 4, or 5 above is preventing the screen from coming back after a screen resolution change has been made.

Any thoughts are appreciated. Sorry about all this stuff I’m adding your blog here.

Reply
rudy.elgato - August 23, 2008

FYI… Appears the POST_VIDEO setting is/was causing my change screen resolution problem. I reset it back to TRUE and I’m able to change my screen resolution when games start up. Also, Suspend/Hibernate and Switch User are still working.

Thanks…

Reply
Amit Srivastava - August 23, 2008

@Tak: Thanks.

@Rudy: Looks like you’ve already figured the solution. Thanks for sharing it with everyone. It must have been the POST_VIDEO setting then. So you’ve got the best of configurations working now 🙂

Reply
Kinox - September 1, 2008

Thanks Amit, for sharing the love. 🙂 My desktop can finally hibernate and resume successfully.

I’m running Hardy Ubuntu 8.04.1 2.6.24-19-generic, with nvidia GeForce 6200.

For those trying this out, be sure to restart your computer normally so that the modified changes are applied, before you try the hibernation.

Reply
Dell Precision 4300 Suspend resolved with Ubuntu 8.04 « Keystone IT Tech - September 14, 2008

[…] working from day one, but suspend never quite worked properly. With a few tweaks that I found on this page, I have it suspending on shutting the lid and resuming on open. It takes a little longer than […]

Reply
Peufel - October 15, 2008

works great. Many thanks. In my case (Intel D845 Board/Intel P4-15.2.4/nVidia NV34 GeForce FX 5200) the bad guy was intel_agp. Dont forget to create a new initramfs after blacklisting the agp-modules!

Reply
greenbreen - October 25, 2008

I tried to put my computer into suspend mode from Ubuntu 8.10 beta, but it seems to hang. It will display a black screen with a blinking underscore in the upper left corner. I tried following the advice on this forum, but I still couldn’t get it to work. After making the changes suggested, I found that on reboot the system would display a bunch of system checks (which it never used to), and then hang on “checking system battery…” or something like that. Luckily I could ctrl+alt+F1 into text mode and restore the configuration files to the originals, but I’m still stuck at the original problem. I’m using a Toshiba Satellite A205-S5804 with integrated Intel Mobile GM965/GL960 graphics chipset.

Reply
Vivien - November 4, 2008

Thank you! Worked on Dell D630, Hardy Heron 8.04. Cheers!

Reply
TakSuyama.com » Blog Archive » Suspend to RAM on Inspiron 5150 under Debian Lenny - November 9, 2008

[…] may work for hibernating. I just don’t know b/c I’m too lazy to test it. Sorry. I heavily consulted this tutorial and this advice given on the Debian forum. 1. In a terminal, type su and then enter your root […]

Reply
Happy B’day iLog! — iLog - November 11, 2008

[…] Now some facts. The following post accounts for more than 35% of the traffic on iLog: Hibernate & Suspend Resolved | Ubuntu Gutsy-nVidia-Dell Vostro […]

Reply
Meson - November 12, 2008

Worked for Ubuntu 8.10 on Dell Latitude D800 with an nVidia GeForce FX Go5650

One note though, I left SAVE_VBE_STATE=mem, which is what was there before I edited the file. I wonder which settings are absolutely necessary and which are most efficient. Amit, please comment on this if you’re aware.

Thanks,
Matt

Reply
Amit Srivastava - November 12, 2008

@Kinox, Peufel, Greenbreen, Vivien: Thanks.

@Meson: Thanks for confirming. To be honest, I am not very sure which exact settings are absolutely necessary for Hibernate/Suspend to work. Some of them may not be necessary, as you pointed out.

Reply
FiReSTaRT - November 14, 2008

No go on dv9700-series, running Intrepid

Reply
dar3kg - November 17, 2008

yes! it works! tnx a lot!
Dell D800 Geforce 4 Ti
Ubuntu 8.10

Reply
Jon - November 22, 2008

This helped for me – Compaq nvidia Intrepid. Thanks!

Reply
Bill N. - November 23, 2008

Worked for my Dell 4550 running Hardy and my home built machine with the Gigabyte GA-8IPE1000 running Hardy. It also fixed another machine I have using the same Gigabyte board running Intrepid. I did however have to leave the “Save VBE state” to true on both Gigabyte boards. GREAT POST. Thanks,

Reply
vijay - December 8, 2008

Worked on my desktop with nvidia MX400 card.
Only problem is that upon resuming from standby network manager does not work until reboot.

Any suggestion is appreciated.
Thanks.

Reply
vijay - December 8, 2008

I have removed network manager and installed wicd and network comes alive after resuming from standby.

Reply
LinuxGuy - January 1, 2009

I found that adding vga=off to the kernel params in GRUB worked for me, Dell D630 NVidia chipset (using NVidia’s 177 driver) there appears to be an issue with the framebuffer during resume, but that’s the end of my prowess on the subject. 😛

Reply
Bas Ploeger - January 17, 2009

This is great, thank you so much for posting your solution! I finally have resume after hibernate working properly on my desktop (Asus K8N motherboard, AMD 64, Nvidia GeForce 6200, Ubuntu Intrepid 8.10).

Anyone applying this solution should not forget to reboot first before trying to hibernate.

Thanks again!

Reply
Mark - January 27, 2009

one thing i had to do different to get rid of the blank screen problem on K8V/amd64 with fx5200 was to blacklist agpgart-adm64 as well.

A tell tale sign if you have this problem is in the pm-suspend.log, something like “APIC: no handler context found. “. I saw that message (or similar) always until I fixed it.

Reply
vabhe - January 28, 2009

it works on GeForce2 MX-400 64MB, Ubuntu 8.04
yay!

Reply
Lakshman - February 6, 2009

Hi,

I dont have an additional Graphics card. Dell Inspiron 1525 on Ubuntu 8.10. Does it work on this too??

Reply
Mike - February 6, 2009

Sudly doesn’t work for me – my Inspiron 9400 happily suspends and restores anyway but, while it hibernates successfully, it never restores the hibernate image – simply ignores it and does a normal boot.

Sigh.

Reply
A_l_e_x - February 8, 2009

Thank you for opening a wonderfully new sight..I wish you the best of luck with your new venture.

Reply
nomasteryoda - February 9, 2009

Thanks for posting this excellent information… I just performed the steps you oulined and my Jauny Jackalope can sleep now!

Reply
slands - February 19, 2009

Thanks! Just upgraded to a nVidia graphics card today, and this problem was annoying me. Followed the instructions above, and it worked for me.

HP Proliand M115 G5 with 6200LE

Stephen.

Reply
Scott - April 15, 2009

Your steps worked perfectly on my computer from 2004! Thanks a ton!

Ubuntu 9.04 – the Jaunty Jackalope
NVidia GEForce FX 5200
Dell Dimension 8300

Reply
Jac-Ni - May 2, 2009

Thanks a million!!! This resolved all my suspend & hibernate troubles on an Ubuntu 9.04 desktop with NVidia FX5500.

Reply
Michael - May 6, 2009

This fixed my problem using a Dell Precision 340 desktop with an NVIDIA card. Running Ubuntu 9.04 with NO desktop effects. Thanks man!!

Reply
Tigr - June 3, 2009

Did not work for me. I use Ubuntu 9.04. After I did first step (added Option “NvAGP” “1″) and restarted my comp, my monitor worked in low resolution and i got several warning messages. When I deleted this line everything become normal again. I use Nvidia 8400. I think maybe video card driver prevents the system to shut down because when I use suspend mode my external hard drive shuts down and other usb devices too, but my monitor does not. Cursor blinks in the top left corner. Any ideas what else can I do? I can not live without suspend mode.
thanks

Reply
Paul - June 18, 2009

works for me on Ubuntu 9.04 ,K8n , athlon64 2800+ with nvidia geforce 6200.

thanks

Reply
nigebj - June 25, 2009

Thanks for providing the basis for resolving this longstanding issue on my Dell 5160, running Hardy. Following your steps got restore working as far as having the keyboard and disk active, but video was not (the CPU stopped running flat out on restore which showed some progress). Elsewhere I read comments about the VBE state needing to be saved and restored using VBETOOLS – so instead I reversed your change to SAVE_VBE_STATE (set it back to true). Now it’s finally working. Thanks for providing enough information to get me motivated to get it resolved!

Reply
Michał Borsuk - August 10, 2009

Thanks a lot from me and my son, who’s now going to enjoy Quake, SimCity and so on.

System: nVidia 5700
Distro 9.04
Kernel 2.6.30-02063004-generic #02063004 SMP

Reply
LMB - August 22, 2009

Works for me.

Tigr, did you remember to replace the fancy quotation marks with normal ones? “”

Option “NvAGP” “1″ -> Option “NvAGP” “1”

The left option is different from the right one.

Reply
LMB - August 22, 2009

My above comment made no sense, as the blogging software changed the normal quotation marks into the fany ones again. Anyway, use shift-2.

Reply
Frank G - September 9, 2009

Hi there and thanks for the tips on resolving this. But did anybody actually try it with the 64bit version of jaunty? I can see many AMD64 users above, but no one’s actually saying that it works on jaunty 64bit. I am running jaunty 64bit and don’t get it to work, even after spending a lot of time with trying, configuring, googling, reading… I should also mention that I have a dual screen setup. Any ideas?

Reply

Leave a Reply: