I upgraded to Lion a couple of days ago. I've got a 15in MBP Mid 2010, with a NVIDIA GeForce GT 330M 256 MB.
Right after I upgraded I also started experiencing the black screen crash (had to reboot each time after). My MBP would crash after opening Quick Look on a PDF... not 100% reproducible but every time it crashed it was because of that.
After using gfxcardstatus and forcing "Integrated Only" I stopped getting the crashes. I've noticed something really strange since then.
In iStat Menus, when the card is set (in gfxcardstatus) to "Integrated Only", the "GPU Die - Analog" temperature shoots up to around 125 degrees celsius. This is completely impossible. There is a bug somewhere that is giving the wrong temperature. When I set gfxcardstatus to "Discrete Only", that same temperature drops to a normal range of 50-60 degrees.
My theory:
- There is a bug in the nvidia driver or temperature sensor drivers, or in the GPU switching code
- When the computer is in dynamic GPU switching mode it probably starts off in Integrated mode
- When some more demanding GPU processing is required, the computer quickly switches to the Discrete GPU
- At that moment, something reads the temperature of the GPU and it's at 130 degrees!!!
- Immediately the computer shuts down the GPU in failsafe mode causing a black screen
Solution? Keep the computer on Discrete or Integrated graphics for now until Apple fixes it.
NOTE 1: This could also be a bug just in iStat menus… funny thing since 60C = 140F, might be a simple converion bug somewhere. can someone find out how to read the temperature another way to be sure?
NOTE 2: This is just a theory… anyone with this problem should test it and tell me what happens!
Download gfxCardStatus: http://codykrieger.com/gfxCardStatus
Download iStat Menus (keep an eye on temps): http://bjango.com/mac/istatmenus/