From time to time (probably every 4th or 5th, or when it's been a long time) suspend fails to resume properly on my machine. When raising the lid I always get a second or so of terminal text before I get to the log in screen and can input my fingerprint.
From time to time the terminal text lasts maybe two seconds (not a lot but just noticeable) and I know I won't resume properly. I get a black screen with just the mouse pointer. The mouse moves and reacts to the underlying elements (text input field and buttons). There is no use in trying to log in. It works but screen is as black and no work can be done.
I have tried using another tty Ctrl+Alt+F1 and commands like
compiz --replace, compiz,
unity --replace, unity and so on. When writing unity and moving back to tty7 I get the login box for a couple of seconds before the only thing left on the screen is my background. If I've logged in before switching tty I actually see my windows for a couple of seconds when writing unity and moving back, but without any window chrome and then just the background. I always just end up restarting X with Alt+Print Scrn+K.
This is a ThinkPad T420s with Intel HD 3000 integrated graphics and Ubuntu 12.04. I did not experience the problem for the two or so months I used 11.10. I'm also pretty sure that this didn't appear just after installing 12.04.
I would like help to figuring out what causes this and how to fix it. I don't know what logs to provide or what other info would be relevant so just tell me and I'll try my best to find them.