Unity 2d loading instead of Unity 3d at login

My problem is that after choosing Unity 3d at login the Unity 2d loads, Even though my graphics drivers seems to be working fine. Unity 3d is possible to load by following commands:

ps aux | grep -i unity-2
killall /usr/bin/unity-2d-spread
killall unity-2d-shell
killall unity-2d-panel
unity

Then Unity 3d works fine (if I don't kill Unity 2d, I get 2 panels overlapping). How can I make unity 3d to load when I login?

I'm using Ubuntu 12.04, Linux kevin 3.2.0-24-generic-pae #37-Ubuntu ... i686 i686 i386 GNU/Linux

edit: the output of unity support test can be seen here:

$ /usr/lib/nux/unity_support_test -p
OpenGL vendor string:   NVIDIA Corporation
OpenGL renderer string: GeForce Go 7300/PCIe/SSE2
OpenGL version string:  2.1.2 NVIDIA 295.40

Not software rendered:    yes
Not blacklisted:          no
GLX fbconfig:             yes
GLX texture from pixmap:  yes
GL npot or rect textures: yes
GL vertex program:        yes
GL fragment program:      yes
GL vertex buffer object:  yes
GL framebuffer object:    yes
GL version is 1.4+:       yes

Unity 3D supported:       no

I had previously chosen to install the proprietary Nvidia drivers, both the 'version current' and 'version current-updates'.

I have:
Ubuntu 12.04 with all the latest updates,
Nvidia Geforce GTX 460

I was making sure to choose 'Ubuntu' (instead of 'Ubuntu 2D') during logging in, yet I was still getting Unity 2D. After some research, I fixed this problem for myself by:

  1. Removing the Nvidia proprietary drivers:

    • System Settings -> Additional Drivers (Wait a minute while it loads,)
    • Choose each driver and choose 'Remove' (if the option exists,)
  2. Reboot.

    • Amazingly, the default drivers worked perfectly, (even with my dual monitors!)

Now when I choose 'Ubuntu' (instead of 'Ubuntu 2D') during logging in I actually get Unity 3D!