Ubuntu – How to get a Dell Latitude e6420 working

12.04dellnouveaunvidianvidia-optimus

I've just installed Ubuntu 12.04 (64-bit) on a brand new Dell Latitude e6420, and I'm having a few problems. This laptop has an Optimus (?) setup – i.e. integrated gfx and an Nvidia Quadro NVS 4200M.

  1. First problem – I ran setup, etc, and discovered that I can only run unity2d – If I try and login with unity3d, it just defaults to 2d. This is with nvidia-current installed (302.07). Note also that I can't run nvidia-settings ("You do not appear to be using the NVIDIA X driver."), and there is no additional drivers found ("No proprietary drivers are in use on this system").

  2. I tried to troubleshoot this, and removed nvidia, leaving (I guess) just Nouveau drivers – In that case, unity3d did work, but I was stuck with the open source Nouveau drivers powering the integrated graphics.

So, obviously, I want to run unity3d, and be using the more powerful Nvidia graphics card.

I've tried a bit of tinkering around, but I'm not sure the best way to proceed, or perhaps more importantly, I'm not sure of what the best final solution might be. I've heard about bumblebee – but frankly, I would prefer to have the proprietary Nvidia drivers working properly.

Any help would be much appreciated!

Best Answer

So I believe I've fixed it. I'll note down here what I did, in case someone (me included) needs to repeat this on an Optimus setup.

  1. Firstly, unfortunately, I needed to reinstall ubuntu. During install, I chose not to install updates during installation. Note that when it booted for the first time it still would not run unity-3d, only 2d.

  2. I added the X-SWAT ppa: sudo add-apt-repository ppa:ubuntu-x-swat/x-updates, and sudo apt-get update then I used the software updater tool. I used this rather than apt-get upgrade so I could choose which updates to install. I went through the list and ensured that there was no nvidia updates selected.

  3. I now checked installed packages, and noted that nvidia-current and nvidia settings were installed. I removed both of these.

  4. I restarted. Now, I installed mesa-utils, and restarted, and noticed that now unity-3d IS working. (hooray!)

  5. Now, just to be sure, I remove the configuration file generated by nvidia if any:

     rm /etc/X11/xorg.conf
    
  6. Reinstall Xorg and mesa packages... sudo apt-get --reinstall install xserver-xorg-core libgl1-mesa-glx:* libglx-mesa-dri:*

  7. Now reconfigure x-org... I'm not sure if you need to do this. I did and it didn't kill anything (I think).

    sudo dpkg-reconfigure xserver-xorg

  8. sudo reboot

  9. Now install bumblebee as directed by @Web-E above.

    sudo add-apt-repository ppa:bumblebee/stable then sudo apt-get update

  10. To install Bumblebee using the proprietary nvidia driver:

    sudo apt-get install bumblebee bumblebee-nvidia

  11. Run following

    sudo usermod -a -G bumblebee $USER

  12. And finally, sudo reboot

Note, when prompted by update manager to install nvidia-common (September 2012), I did - and it didn't break anything. I suspect that perhaps whatever bugs were present early on have been ironed out. Still... I will not install nvidia-common to begin with, but follow this tutorial above.

If anyone has any comments or suggestions as to how this method should be changed, please tell me!

Dave.