Take a look at the log file, /var/log/Xorg.0.log, it should give you a hint as to what is going wrong.