I am considering buying a Dell XPS 15 laptop. The laptop has a Nvidia 420m card which should work with Linux but I keep reading that the Nvidia Optimus technology isn't supported on Linux. I am not really interested in switching from Nvidia to Intel to save power but need to know that the Nvidia card will in fact work if I installed Ubuntu.
If anyone has experience using a Nvidia card with Optimus technology or even better the exact laptop in question (Dell XPS 15 with 1GB NVIDIA® GeForce® GT 420M) it would be great.
A major problem holding people back from adopting Linux is this sort of hardware issue.
I am a long term Ubuntu user and supporter who can't afford to make a mistake with a purchase like this.
I don't want to spend £500+ to find I have no graphics acceleration because Windows 7 is not an option.
Best Answer
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:
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:
netroot
.Uninstall nvidia:
Remove the configuration file generated by nvidia if any:
Reinstall the Mesa package for GL:
When done, reboot with:
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:
(for 13.04 Raring and earlier, not needed for Saucy and later) Add the Stable Bumblebee Releases PPA:
Install Bumblebee using the proprietary Nvidia driver:
If you'd like to run a program on the nvidia card now, use the
optirun
program:If you are only interested in power savings, replace the last command in step 4 by:
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 withsudo apt-get install virtualgl-libs-ia32
. You have to add linux-headers-generic, otherwise the power saving modulebbswitch
cannot be built.Instead of virtualgl, you can also try
primus
to achieve better performance. The package name isprimus
and you can use:(note: before asking about a 60 fps limit, please read its FAQ.)
See also https://wiki.ubuntu.com/Bumblebee
Notes:
acpi_call
manually is deprecated. By default, it won't survive suspend.ppa:mj-casalogic/bumblebee
or the MrMEEE/bumblebee-Old-and-abandoned git, it's not maintained anymore and contains a lot of errors.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:
nvidia-current
)