A lot of graphic resume problems could be solved by doing the suspend/resume from the virtual console, so that after the resume a "refresh" is forced by the graphic drivers.
Check if the system suspend correctly from a virtual console:
switch to a virtual console with CtrlAltF1
login with your user and password
suspend the system (either using the suspend key-combo for your system, or issuing the command sudo /usr/sbin/pm-suspend
)
resume -> you should have a working prompt (exactly the same screens as before), otherwise see FAIL
switch to the graphic console with CtrlAltF7
if all is ok, problem solved! You can follow the instruction below (from this answer) to make the switch automatic; otherwise, see FAIL
If something is still wrong...
FAIL: So the problem is another one --- I do not have that laptop so I can't really help a lot more. Maybe studying the content of file /var/log/pm-suspend.log
can shed some light.
How to make the switch automatic
edit/create the file
gksudo gedit /etc/pm/sleep.d/01_switchvt
Put this content in it:
#!/bin/sh
# Switch to a VC before suspending and back after resume
case "$1" in
resume|thaw)
chvt 7
;;
suspend|hibernate)
chvt 1
;;
esac
save and exit
make it executable:
sudo chmod 755 /etc/pm/sleep.d/01_switchvt
Notice in step 2, most of the installations will need the command chvt 7
--- this is the same as pushing ctrl-alt-F7 to go back to the graphic screen. If you need another key combo, change the "7" there accordingly.