That gives me a chance to ask a really naive question I've been saving up :) What is so difficult
about doing suspend? Why is there more to suspend to RAM than just turning every piece of
hardware that you know that you reliably can to the lowest power setting that you know how to,
and if there is too much hardware that you don't know you can reliably suspend, just failing? Or
does the problem lie in deciding where a given piece of hardware lies? Or is it religious reasons of
wanting to use BIOS ACPI code at all costs?
For suspend to disk, I can see the difficulties - taking a clean snapshot of user space, where you
may have things like the X server doing things that user space shouldn't normally do, remembering
current kernel state and reconstructing it on next boot.