Even if the Supported Products tab on the driver download page says that GT420M is supported, the Optimus variants are not supported. From the Additional Information tab:
Some designs incorporating supported GPUs may not be compatible with the Nvidia Linux driver: in particular, notebook and all-in-one desktop designs with switchable (hybrid) or Optimus graphics will not work if means to disable the integrated graphics in hardware are not available.
This Optimus design means that the discrete Nvidia card is wired into the integrated Intel GPU and that it's not connected to a monitor at all. Some hybrid graphics laptops still allow you to choose the Nvidia card in BIOS, but most modern Optimus laptops don't have this option.
I am speaking from experience, I have a GT425M combined with an i5-460M processor. If there is no BIOS or hardware setting for switching / disabling the card, you're throwing away your money. The XPS 15 family does not appear to have any of these features. Although you are able to use the Intel graphics card, you may want to use the Nvidia card as well because you've paid for it which is not directly possible at the moment.
You'd better look for another laptop without Optimus. Optimus is crap and Nvidia refuses to provide better support for Linux. If you are adventurous and buy such a notebook, visit the Linux Hybrid Graphics blog and subscribe to its Launchpad mailing list. Visit their wiki for various ways to get such a card (hopefully) working. One method is called Bumblebee which allows you to render programs on your nvidia card. I currently recommend it over other solutions (disclosure: I'm a developer of it).
Ubuntu 12.10 Quantal will be shipped with the first bits for real support for hybrid graphics laptops, called PRIME. This is highly experimental and in development and probably not stable enough for many people. Only the open-source graphics drivers support this, though Nvidia may release support in the future too if it is not too much work for them. This page tracks hybrid graphics support for Quantal, these are the blueprints for Raring.
If you've installed the driver from nvidia.com
You've made a huge mistake by installing the drivers directly from nvidia.com. If you want to have newer drivers, add the ubuntu-x-swat/x-updates
PPA because these will install the nvidia drivers in such a way that your Optimus system does not die.
After installing the nvidia driver from nvidia.com, you may experience loss of all graphics effects, black screen or very slow graphics performance. Uninstallation instructions:
- Boot into recovery mode by holding Shift before booting and choosing for the recovery option
- In the following menu, choose for
netroot
.
Uninstall nvidia:
nvidia-uninstall
Remove the configuration file generated by nvidia if any:
rm /etc/X11/xorg.conf
Reinstall the Mesa package for GL:
apt-get --reinstall install libgl1-mesa-glx
When done, reboot with:
reboot
Installation instructions for Bumblebee
If you have installed Bumblebee or Ironhide before, be sure to check the instructions on http://wiki.bumblebee-project.org/Upgrading-on-Ubuntu
Since Bumblebee version 3.0 "Tumbleweed", it can disable the Nvidia card in a safe way to save power (press release). You can also run programs using the discrete card for better performance. Installation instructions:
Enable the Universe and multiverse repository for the Nvidia driver.
1.(optional for 13.10 Saucy) Add a PPA containing recent drivers as the one in the repositories is possibly outdated:
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
(for 13.04 Raring and earlier, not needed for Saucy and later) Add the Stable Bumblebee Releases PPA:
sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
Install Bumblebee using the proprietary Nvidia driver:
sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic
- Reboot or re-login to apply the group changes
If you'd like to run a program on the nvidia card now, use the optirun
program:
optirun firefox &
If you are only interested in power savings, replace the last command in step 4 by:
sudo apt-get install --no-install-recommends bumblebee linux-headers-generic
At a later time, you can still use NVIDIA by installing bumblebee-nvidia
. If you want to use a 32-bit program, you can still install the required libraries with sudo apt-get install virtualgl-libs-ia32
. You have to add linux-headers-generic, otherwise the power saving module bbswitch
cannot be built.
Instead of virtualgl, you can also try primus
to achieve better performance. The package name is primus
and you can use:
primusrun glxgears
# alternative that is nearly the same:
optirun -b primus glxgears
(note: before asking about a 60 fps limit, please read its FAQ.)
See also https://wiki.ubuntu.com/Bumblebee
Notes:
- Using
acpi_call
manually is deprecated. By default, it won't survive suspend.
- Do not use
ppa:mj-casalogic/bumblebee
or the MrMEEE/bumblebee-Old-and-abandoned git, it's not maintained anymore and contains a lot of errors.
- Martin Juhl forked the original Bumblebee to Ironhide, but in my opinion it should not be used because the design flaws from the original Bumblebee are still present and the "power management" features are not stable (the wrong methods, _ON and _OFF, are used). Installation is still a mess, your installation may be broken after removing it.
If you do not want to use the nvidia card nor Bumblebee
If you've accidentally installed the nvidia driver (i.e. using the jockey), you've two choices:
- Uninstall the driver (package
nvidia-current
)
- Set the default OpenGL libraries as described in this bugreport