Suspend and hibernate have been a sad story on Linux for a very long time. Typically the hardware makers are blamed, saying “oh they all do it differently none of it’s documented”. That may be true but it’s a bunch of horseshit anyway – hardly any of the hardware that works at all or perfectly in Linux is the same or is documented.
A couple of days ago I upgraded to Slackware 13.1. I left suspend as the last thing to set up, as it wasn’t working at all in 13.0 and barely working in 12.2. And you know what? It works now, it just works. I could hardly believe it. No messing with ACPI options, no hooks to remove my USB modules, no fancy keyboard configuration. I just press my FnF5 and it goes to sleep.
That was pretty impressive to begin with. And then I tried to hibernate. One try and I realised I needed an extra resume=/dev/sda5 in my lilo.conf. That one change.. and.. hibernate also works.
I am shocked. In a good way. Suspend is a must on a laptop and hibernate is really nice to have. Thanks, whomever fixed this!
For reference: I have an HP G50 and Slackware 13.1 comes with the kernel 2.6.33.4