I've been having a few problems with resuming from suspend to disk (or hibernate) recently. Essentially, I end up with a blank screen after resuming. Occasionally, I can switch VT (using Ctrl Alt F1 for example), but more often I can't do anything but a cold reboot.

At the same time I've also noticed some changes in xrandr (the screen resolution switching tool for X); different resolutions are available for my external monitor and the displays' names have changed (from LVDS to LVDS1 for example).

This lead me to wonder if the two things may be connected. It turned out kernel mode setting has been enabled on my Debian unstable system. And I'm guessing that this may be causing problems with X resuming correctly.

I've altered /etc/modprobe.d/i915-kms.conf to contain:

options i915 modeset=0

and (as I'm now using GRUB2) added "nomodeset" to GRUB_CMDLINE_LINUX in /etc/default/grub. (For old GRUB, it used to be a case of editing /boot/grub/menu.lst.) I'm not sure whether both of these changes are necessary (I only know that the nomodeset option by itself wasn't sufficient), but now kernel mode setting has been disabled and resuming from hibernation seems to be working OK again.