Below are instructions for restoring the elegant Unity 3D in your computer:
NOTE: Should work when you have a laptop fitted with MOBILE (GxxxM) Nvidia graphics card and has capability of switching graphics (ie. you have Intel Integrated graphics as well). This is a special case of graphics issue and must be handled differently.
Remove all nvidia drivers, install only x-swat PPAs (uses OpenGL and mesa-libs):
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
or you can manually add in Update Manager settings, in the tab Other Software, type in the following APT line:
deb http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu precise main
Then, perform a list update and install the appropriate driver:
sudo apt-get update
sudo apt-get install xserver-xorg-video-intel
Remove all Nvidia drivers, install mesa-utils:
sudo apt-get remove nvidia-current nvidia-graphics-drivers
sudo apt-get purge nvidia*
sudo apt-get install mesa-utils
Type in the following line in terminal, if there's an error saying no GLX found in display, proceed
Reinstalling all components to refresh:
sudo apt-get install --reinstall xserver-xorg-video-intel libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core
sudo dpkg-reconfigure xserver-xorg
sudo update-alternatives --remove gl_conf /usr/lib/nvidia-current/ld.so.conf
Reset Unity (CLOSE AND SAVE EVERYTHING BEFORE DOING): (add sudo in front if superuser required)
Now wait till everything stabilises (even though your terminal window will go randomly on top and unmovable, no big deal), then (force?) relog in Ubuntu. You should see your perfect Unity 3D waiting for you.
(Did I mention that this worked so well for me? Had exactly the same problem as you before, searched high and low for solutions that don't apply, finally went through this.)
Ubuntu 12.04 Precise Pangolin 64bit, Geforce 310M with CUDA, Intel Core i5-460M.