You ask for a fix where one of your screens does not wake up. I have a fix for a similar problem as my second screen on my MacMini (server 2011) does not wake up. It's not pritty but it is a fix.
I noticed that the screen wakes up after you change the screens refresh rates, so I use
cscreen to do this. After my computer wakes up I run the following script. There are multiple solutions to run scripts just after waking up your machine (like Scenario and Power Manager).
# cscreen: http://www.pyehouse.com/cscreen/
# wake up screen when one of these two displays are found
if [ "$(cscreen -l | grep '2b1052d0\|3c0c07c2')" != "" ]; then
echo "Display found"
# Dell screen does not wake up, switch back and forth to wake her up
cscreen -i 2b1052d0 -d 32 -x 1280 -y 1024 -r 60 # small dell screen
cscreen -i 2b1052d0 -d 32 -x 1280 -y 1024 -r 75 # small dell screen
cscreen -i 3c0c07c2 -d 32 -x 1920 -y 1200 # big compaq screen
What it does in short
- Check if the screen is connected (I switch screens between home and work)
- Refresh rate for displayID '2b1052d0' first to 60 than to 75 (to wake up the screen)
- Set the second screen to her normal settings.