As you can see the real problem is a bug/limitation on mesa-lib, you can avoid it by putting your external Monitor (VGA1) "below" your current screen (LDVS1),
NOTE: You've always "2048x2048 maximum 3D texture size" limitation so check if your vertical size will not overcome 2048, example: In my case vertical size is: 640 + 1024 = 1664 that doesn't overcome 2048 :-)
I've tested it and now it works great with compiz too,
this an example script that you can use to switch correctly on (without freeze) your external monitor:
ok, searching launchpad and googling a lot, /bugs.launchpad .net/ubuntu/ +source/ xserver- xorg-video- intel/+ bug/438000 bugs.freedeskto p.org/show_ bug.cgi? id=22076
I found this bug is an effect caused by bug: https:/
also reported into bug on freedesktop.org: http://
As you can see the real problem is a bug/limitation on mesa-lib, you can avoid it by putting your external Monitor (VGA1) "below" your current screen (LDVS1),
NOTE: You've always "2048x2048 maximum 3D texture size" limitation so check if your vertical size will not overcome 2048, example: In my case vertical size is: 640 + 1024 = 1664 that doesn't overcome 2048 :-)
I've tested it and now it works great with compiz too,
this an example script that you can use to switch correctly on (without freeze) your external monitor:
#!/bin/bash
lvdsres="1024x600"
vgares="1280x1024"
if [ -e ~/.vgaconnected ]
then
xrandr --output VGA1 --off --output LVDS1 --mode $lvdsres && rm ~/.vgaconnected
else
xrandr --output LVDS1 --mode $lvdsres --output VGA1 --mode $vgares --rate 60 --below LVDS1 &> ~/.xrand.log && touch ~/.vgaconnected
fi
Let me know if this solution solved your problems too!
bye.