Desktop does not show when I installed nvidia drivers!

I had the same thing happen. Here is how I fixed it:

  1. Switch to a terminal Ctrl+Alt+F1.

  2. Login as your username.

  3. Install linux headers:

    sudo apt-get install linux-headers-generic
    
  4. Uninstall nvidia driver - this depends on which version you installed :

    sudo apt-get remove nvidia-current
    

    or

    sudo apt-get remove nvidia-current-updates 
    

    or

    sudo apt-get remove nvidia-experimental-304
    
  5. Reinstall nvidia driver

    sudo apt-get install nvidia-current-updates
    

    When you do this, it must say something like:

    Building initial module for 3.5.0-17-generic
    Done.
    

    If it says

    Module build for the currently running kernel was
    skipped since the kernel source for this kernel
    does not seem to be installed.
    

    then the problem will not be solved. Do not believe the message. It is not asking for linux-source to be install, it does only want the headers but you must install the specific -generic headers for your kernel. Run:

    sudo apt-get install linux-headers-`uname -r`
    

    It will not work with just linux-headers-generic or linux-headers-3.5.0-17 (for example).

  6. If it successfully installs, restart the computer :

    sudo shutdown -r now
    

This should allow the kernel module to compile and install properly. It did for me!


If desktop still don't show, it might cause from Nvidia Optimus graphic card. I have laptop with GT 650M and that's also a Optimus card. Optimus cards behaves a little differently and there is no Linux support for them by default. More info about Optimus in linux: http://ubuntuforums.org/showthread.php?t=1657660

But it's possible to get it working with Bumblebee. This is how I did it on fresh Ubuntu 12.10 installation (No nvidia drivers installed):

sudo add-apt-repository ppa:bumblebee/stable 
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update 
sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic 

Then reboot or re-login.

It didn't work first when I left off that second command. Then to run something with graphic card type optirun before command. In example: optirun glxspheres or optirun ./executable-file. Good way to test the difference between integrated graphics and your graphic card is to run glxspheres with and without optirun.

https://wiki.ubuntu.com/Bumblebee

This saves power when you activate your graphic card only when it's needed. I hope I helped someone, because I have spent hours to find out the problem with my graphics card (yup, I'm quite new with these Linux graphics drivers).


After meddling with this for a few evenings (disappearing unity desktop, 640x480 resolution only, weird artefacts on my screen) on my Geforce GT 630, this is what worked for me:

  1. Fresh install of Ubuntu 12.10
  2. Immediately after install, run software updater. Download & Install all updates
  3. Reboot
  4. sudo apt-get install linux-sources && sudo apt-get install linux-headers-generic (I'm not entirely sure whether/why this step is necessary, but I saw it in this thread and thought I'd give it a try)
  5. Open "Software Sources" from the Dash
  6. Click "additional drivers" tab.
  7. Activate NVIDIA binary xorg driver (proprietary, tested)
  8. Reboot

so far so good - I have the NVIDIA settings panel (without the Xconfig error message), dual monitors, and high resolution.

Special note: do NOT install the "additional drivers" package (Jockey). This package actually seems to disappear after step 2 (software updates) - the method for adding additional drivers seems to have moved to the "software sources" app.