“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 :-)

Comments

Tagged with:  

84 Responses to “Hibernate & Suspend Resolved | Ubuntu Gutsy-nVidia-Dell Vostro”

  1. Humberto González says:

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

  2. JazzeD says:

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

    Thanks man

  3. Amit says:

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

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

  5. Juri says:

    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.

  6. Amit says:

    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 !

  7. Mario Berges says:

    Sweet! It worked well.
    Nice post.

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

  8. atto says:

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

  9. eigenhirn says:

    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

  10. Amit says:

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

  11. rudy.elgato says:

    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!!!

  12. Amit says:

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

  13. Tak says:

    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

  14. rudy.elgato says:

    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.

  15. rudy.elgato says:

    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…

  16. Amit says:

    @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 :)

  17. Kinox says:

    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.

  18. [...] 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 [...]

  19. Peufel says:

    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!

  20. greenbreen says:

    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.

  21. Vivien says:

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

  22. [...] 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 [...]

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

  24. Meson says:

    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

  25. Amit says:

    @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.

  26. FiReSTaRT says:

    No go on dv9700-series, running Intrepid

  27. dar3kg says:

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

  28. Jon says:

    This helped for me – Compaq nvidia Intrepid. Thanks!

  29. Bill N. says:

    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,

  30. vijay says:

    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.

  31. vijay says:

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

  32. LinuxGuy says:

    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. :P

  33. Bas Ploeger says:

    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!

  34. Mark says:

    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.

  35. vabhe says:

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

  36. Lakshman says:

    Hi,

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

  37. Mike says:

    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.

  38. A_l_e_x says:

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

  39. nomasteryoda says:

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

  40. slands says:

    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.

  41. Scott says:

    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

  42. Jac-Ni says:

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

  43. Michael says:

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

  44. Tigr says:

    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

  45. Paul says:

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

    thanks

  46. nigebj says:

    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!

  47. Michał Borsuk says:

    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

  48. LMB says:

    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.

  49. LMB says:

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

  50. Frank G says:

    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?

Leave a Reply

Subscribe to iLog

Enter your email address:



Delivered by FeedBurner