Since I purchased my notebook and mentioned that I installed Fedora Linux 5 on it, I’ve been getting a lot of quesitons from people everywhere. One of the most frequent questions is “Does hybernate work?”.
You have to understand that this is my first notebook. At least in this century. So I am not very updated on the terminology and technologies involved. Trying to find out what ‘hybernate’ really is showed that different people mean different things.
There are many resources on the web that try to clear up the confusion. After going through a few of them, I came to realize that there are at least two separate terms here – ‘hybernate’ and ‘suspend’.
‘Hybernate’ is a mode in which your notebook (or some other mobile device) saves the current state to hard disk and switches off. Nex time you start it, last working state is loaded from the hard disk and you go straight to all your applications, windows, etc. This is a handy feature. But going to and from hybernate mode takes a couple of minutes.
‘Suspend’ is very similar, but instead of using the hard disk, it uses RAM (memory). Saving current state and loading last working state is much much faster, but there is a trade off. RAM gets erased every time a computer starts, so, when in ‘suspend’ mode, your notebook is using a little bit of battery power to keep the RAM going.
Linux has supported both hybernation and suspension for quite some time. Setting it up though wasn’t trivial. Or so they say. Things like kernel compilation, source patching and driver installation had to be done.
This had improved. At least in Fedora Linux 5. All I had to do was login to KDE, start Control Center (
kcontrol), navigate to ‘Power Control’ section, choose ‘Laptop Batter’ and enable all checkboxes. Right after I did it (no need to reboot even), I got a few more menu items (right click on battery monitor in the taskbar). ‘Hybernate’ and ‘Suspend’ both were in.
First I tried ‘hybernate’. It worked great – my current state was saved and the computer shut down. When I switched it back on, during the boot sequence it realized that it was in hybernation and loaded saved working state. All applications came up correct, windows were in the right places and it all looked like I never leaved. Even my wireless network was working.
I wasn’t so lucky with ‘suspend’. The menu option worked just fine – it took about two seconds for my notebook to go into coma. It switched off, but not completely – the power LED indicated that the computer was using some, but not all of it. The problem was with waking up. No key or key combination it seems can wake up the computer, except for the power button. When the power button is pressed, the machine quickly awakes from it’s sleep, but that goes to shut down immediately. Ouch!
I’ve talked with some people on IRC, but noone could pinpoint the problem right away. All of them suggested that I surf the web for the solution. Some of them confirmed that they’ve got suspend working just fine, but that they had to fool around with configuration, source code, or even the kernel.
As I don’t have much use for neither hybernate, nor suspend, I won’t be searching for the solution now. Maybe later. If any of you though know how to fix it for sure, please, let me know via comments.
8 thoughts on “Hybernate. Don’t suspend.”
From what I understand from reading lots of forums/bug reports, Linux support of suspend/hibernate sucks a bit. I’ve been always using S3 (Suspend-to-RAM) on my desktop PC under Windows since ages. Couple of months ago I migrated to Ubuntu Linux and among other things I never got working are suspend and hibernate. This is one of the major reasons I came back to Windows about a week ago. Linux is lagging behind Windows in hardware support, and you ought to carefully choose what hardware to buy if you want it to be fully supported under Linux. I had a glance at suspend wake up script in my Ubuntu that is supposed to initialise hardware right after waking up – terrible, it is all in pathces and “if”s trying to work around problems with particular device drivers.
Maybe suspend. But not hybernate. Hybernation works out of the boxes. Suspend is also supported, but there’s a lot to do to make it work.
… Windows only runs on PCs. Maybe that mobile platform too… Linux supports way more architectures. Getting things to work on some of them is tricky.
C’mon Alex, you aren’t seriously saying this, are you? Linux lagging behind Windows in hardware support? Please… Linux supports WAY more hardware than Windows.
Oh, you mean the PC? And the vendor drivers? I wouldn’t bet on that. Especially the way you are saying it – it is not correct.
From the same shop I can get you two machines – one will work perfectly with Linux, and one will totally suck with Windows. Hell, no need even for two machines – it can be one, which will work fine on Linux but will suck with Windows.
You have to choose hardware carefully for both platforms. The fact is that because there are more Windows desktops out there than Linux desktops, most computer shops specialize in hardware which is supported by Windows.
At least you are able to look at the script and modify it…
Hi there ! I have the same laptop as you, just not the one with a Pentium M chip, but the Celeron instead. Just wanted to let you that I could have the laptop to suspend to RAM with Debian Sarge. And I could fix the power off problem too. Maybe you want to check it out…
Thanks so much for the info! With your help it took me less than two minutes to figure it out. :)
I think hybernate should be spelt hibernate : see here for details. http://live.gnome.org/GnomePowerManager/SleepNames
Thanks Richard. I’ll keep it in mind for future posts. :)
This whole spelling thing is totally my bad. KDE does use ‘Hibernate’. Oops! :)