Another thing to try, is if after rotating and locking up, if you can ssh in and kill compiz processes, does it come back properly? If so, it may be a compiz issue rather than X.
Another thing to try, is if after rotating and locking up, if you can ssh in and kill compiz processes, does it come back properly? If so, it may be a compiz issue rather than X.