I have run Ubuntu on a laptop for a long long time. Through that time, I’ve had hit and miss support for hibernate and suspend. Sometimes it never works on a given laptop. Sometimes it starts out working and eventually it just stops working.
Most of the time I have just chalked this up to a rough edge that will eventually be smoothed out for me by the fine people who work on open source. It doesn’t help that about the time things get good, I end up upgrading to a new laptop that has a new list of
unsupported not-yet-supported hardware.
My most recent upgrade was to a Toshiba Protege r705. I wanted something more powerful than a netbook, but since I’ve switched back to workstations for development, it didn’t have to be a 10 pounder.
It is largely supported, but hibernation has been a disaster. It claims to hibernate (which takes a while),and restoring from hibernation takes so long I have a hard time imagining something hasn’t crashed. It has gotten so bad, that I did something I hate doing. I waded into the Google on the matter. After some searching I ended up at the Ubuntu forums. I’ll admit I’ve found more than my share of solutions in forums, but only after a thousand dead ends. All too often I find the a forum post with my exact problem and 10 pages of people who never seem to discuss the solution.
In this case this thread proved very useful.
To save you the trouble – here are the steps I followed:
- sudo apt-get install hibernate laptop-mode-tools
- edit /etc/default/acpi-support – add “hibernate” to the list of supported methods
- edit the /etc/hibernate/suspend2.conf
- Change Compressor lzf to Compressor lzo
- Added in some services to shutdown/startup RestartServices mysql postgresql-8.4
- Manually replaced a script to force hibernation
- cd /usr/sbin
- sudo mv pm-hibernate pm-hibernate.orig
- sudo ln -s `which hibernate` pm-hibernate
After that, I can actually hibernate in a reasonable amount of time (with a nice little screen report of how close to being done). The best part is booting back from a suspend happens fast. Fast enough to make it worth it to me to hibernate again.
Nothing in here feels very Toshiba specific, so if your hibernation sucks – you can try this as well.