OK, this isn't a real solution (I'm working on it...), but this is a workaround that has effectively solved the "blank screen on wake up" problem for me.
I'd only recommend this for advanced users. It's kludgy and involves using the Terminal.
WARNING: You're installing all of this at your own risk. It's completely unofficial. It's only been tested on my MacBook Pro. There's nothing in it that should cause problems, but no promises. Also, you should really never trust files posted by a stranger on a forum like me. Guess you'll just have to trust me. Anyway, here we go...
Step 1
Open up Terminal and paste the following lines in:
* cscreen is a command-line application for manipulating your display settings. It used to be available here http://www.pyehouse.com/lynn/cscreen.php
* .wakeup is a two-line shell script I wrote that calls cscreen.
Step 2
Test the wakeup script and make sure it works for you. Back in the Terminal run:
You should see the screen fade in and out twice. If not, you got a problem.
Step 3
So now we've got a script that can refresh the display, but we need to run it when the computer wakes from sleep. For that we can use SleepWatcher available from here: http://www.bernhard-baehr.de/
Install both packages, sleepwatcher.pkg and sleepwatcher startupitem.pkg
Step 4
That's it!
Here's what's going on: SleepWatchers calls a .wakeup script in the home directory of every user. The script I posted makes two calls to cscreen: first it tells it to drop the color depth to 16-bit, then to raise it back to 32-bit. This forces the MBP to reset the display settings and snap it out of its funk.
Note: If you typically use fewer colors on your display that 32-bit, you're going to have to adjust the .wakeup script settings. I'm also not sure how/if this will work with multiple monitors.
If you try this out, please let me know if it works for you.
Thanks to Lynn Pye's (abandoned) freeware cscreen utility and Bernhard Baehr's open-source SleepWatcher utility.
I'd only recommend this for advanced users. It's kludgy and involves using the Terminal.
WARNING: You're installing all of this at your own risk. It's completely unofficial. It's only been tested on my MacBook Pro. There's nothing in it that should cause problems, but no promises. Also, you should really never trust files posted by a stranger on a forum like me. Guess you'll just have to trust me. Anyway, here we go...
Step 1
Open up Terminal and paste the following lines in:
cd
curl -o cscreen http://eli.textdriven.com/files/cscreen
chmod +x cscreen
sudo cp cscreen /usr/bin/
curl -o .wakeup http://eli.textdriven.com/files/wakeup
chmod +x .wakeup
It will ask you for your password to copy cscreen to /usr/bin. This is normal.curl -o cscreen http://eli.textdriven.com/files/cscreen
chmod +x cscreen
sudo cp cscreen /usr/bin/
curl -o .wakeup http://eli.textdriven.com/files/wakeup
chmod +x .wakeup
* cscreen is a command-line application for manipulating your display settings. It used to be available here http://www.pyehouse.com/lynn/cscreen.php
* .wakeup is a two-line shell script I wrote that calls cscreen.
Step 2
Test the wakeup script and make sure it works for you. Back in the Terminal run:
./.wakeup
(that's dot slash dot wakeup)You should see the screen fade in and out twice. If not, you got a problem.
Step 3
So now we've got a script that can refresh the display, but we need to run it when the computer wakes from sleep. For that we can use SleepWatcher available from here: http://www.bernhard-baehr.de/
Install both packages, sleepwatcher.pkg and sleepwatcher startupitem.pkg
Step 4
That's it!
Here's what's going on: SleepWatchers calls a .wakeup script in the home directory of every user. The script I posted makes two calls to cscreen: first it tells it to drop the color depth to 16-bit, then to raise it back to 32-bit. This forces the MBP to reset the display settings and snap it out of its funk.
Note: If you typically use fewer colors on your display that 32-bit, you're going to have to adjust the .wakeup script settings. I'm also not sure how/if this will work with multiple monitors.
If you try this out, please let me know if it works for you.
Thanks to Lynn Pye's (abandoned) freeware cscreen utility and Bernhard Baehr's open-source SleepWatcher utility.