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.

link|improve this question
feedback

10 Answers

up vote 47 down vote
+250

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).

If you've installed the driver from nvidia.com

You've made a huge mistake by installing the drivers from nvidia.com. If you want to have newer drivers, add the ubuntu-x-swat/x-updates PPA.

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:

  1. Boot into recovery mode by holding Shift before booting and choosing for the recovery option
  2. In the following menu, choose for netroot.
  3. Uninstall nvidia:

    nvidia-uninstall
    
  4. Remove the configuration file generated by nvidia if any:

    rm /etc/X11/xorg.conf
    
  5. Reinstall the Mesa package for GL:

    apt-get --reinstall install libgl1-mesa-glx
    
  6. 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:

  1. Add a PPA containing recent drivers as the one in the Natty repository is outdated:

    sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
    
  2. Add the Stable Bumblebee Releases PPA and install Bumblebee using the proprietary NVIDIA driver:

    sudo add-apt-repository ppa:bumblebee/stable
    sudo apt-get update
    sudo apt-get install bumblebee bumblebee-nvidia
    
  3. 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 stap 2 by:

sudo apt-get install --no-install-recommends bumblebee

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.

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
link|improve this answer
2  
@JorgeCastro Bumblebee is only necessary if you want to use the nvidia card. If you don't install the nvidia driver, the Intel card will function fine. – Lekensteyn Oct 22 '11 at 15:58
1  
@JorgeCastro That's correct, no further action is necessary to have a working graphical desktop. Just tell people not to install the nvidia driver. If they already did, they should remove it. – Lekensteyn Oct 22 '11 at 16:21
What about energy consumption? Isn't Bumblebee able to switch off the inactive (Nvidia) GPU? AFAIK it will still be active and suck power if you go the "just ignore Jockey" route (which at least will enable people to work with their systems, so that's not too bad :)). – htorque Oct 22 '11 at 16:35
1  
@htorque Bumblebee is able to turn cards on/off, but that's an experimental feature which requires that you know the working calls. If you've twitter, follow me (Lekensteyn) or Team_Bumblebee to be notified when Bumblebee finally has an automated way to detect the right calls. – Lekensteyn Oct 22 '11 at 17:12
1  
@htorque With Bumblebee 3.0, the card can now be disabled using bbswitch. – Lekensteyn Jan 20 at 9:51
show 1 more comment
feedback

NVIDIA Optimus is not supported in any way on present unix platforms.

This is specifically for any laptop (mobile) NVIDIA based system that says OPTIMUS in its specifications list. You will not be able to even use the NVIDIA graphics in your Ubuntu. You will need to work with the integrated Intel Graphics drivers (to the extent they are supported for your platform -- Sandy Bridge support is still weak).

It should be noted that Optimus is different from the older ability to switch between the integrated (usually Intel) and discrete (NVIDIA, ATI) graphics systems. With Optimus, the integrated graphics path is always in use and lets you (additionally) enable the discrete graphics when required -- this needs Windows 7 at the moment (afaik, won't work on Vista either).

Here are a few references to get up to speed on this.

  1. UbuntuForums: nVidia Optimus and Ubuntu explained
  2. phoronix: Will NVIDIA Optimus Inevitably Come To Linux?
    Posted by Michael Larabel on April 25, 2011

hint: I use a XPS 15 L502x with the 525M Optimus discrete graphics.


Update: This is a quote from the NVIDIA Drivers 270.06 page in 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.

Now you know what to look for in your new NVIDIA based laptop specs if you want to drive the NVIDIA from linux.


Update: Look at the Bumblebee-Project.
Start from the README there.

link|improve this answer
feedback

Nvidia drivers won't work because Dell does not have a BIOS option to select a graphics card. Try a stable release of bumblebee. It worked for me yesterday on a Dell l502x (525M card) and I verified after rebooting multiple times. By default Intel would be used but you can run applications using NVIDIA by command optirun then. Also you will have to restart bumblebee after booting.

link|improve this answer
feedback

I think NVidia Optimus works just fine with Ironhide on both 11.10 and 11.04. I think any advice to not purchase an Optimus laptop is pedantic and overbearing. Who needs to run a graphics monster on a Linux laptop 24x7? The intel GPU is much better on power and as far as I can tell, Ironhide does not run the NVidia GPU until you invoke Optirun. I am very happy with my Optimus laptop.

The lack of proper support for external monitors (I cant get 1080i resolution) is a SandyBridge Intel HD3000 issue which I trust will be sorted in later releases. This issue has nothing to do with Optimus and will be present on all Intel HD3000 laptops.

This guide is for Dell XPS17 L702x laptops and Oneiric, but I believe it should work for most Optimus laptops.

Be sure to remove all NVidia drivers before following the links above, and the best of luck!

link|improve this answer
In the Intel Web site they claim that the HD graphics 3000 can output up to 2560 X 1600. My Dell XPS 15 L502X is linked through the miniDisplayPort to a 1900X1080p external Monitor. But I can't tell if it is outputting 1080i or 1080p. How could you be sure of it? What do you mean by (I cannot get 1080i)? my ext.monitor is showing 1900X1080 60Hz PP (source : Intel HD 3000). – Hanynowsky Nov 10 '11 at 2:25
feedback

The bumblebee solution allows you to run both the integrated card and the discrete nvidia optimus card at the same time. Then acpi_call and byo-switcheroo provide different mechanisms for switching on/off the discrete graphics card, depending on your specific laptop model. Things are relatively better supported now than they were in the past, have a look at: http://launchpad.net/~hybrid-graphics-linux

link|improve this answer
This does not work with Optimus systems. Currently, no presently available driver for UNIX/Linux systems operates correctly on Optimus systems. – Thomas Ward Aug 24 '11 at 21:48
acpi_call is now deprecated in favor of bbswitch. – Lekensteyn Jan 20 at 13:23
feedback

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 Windows7 is not an option.

If you are a long term Linux user you should understand that hardware compatibility relies on hardware manufacturers. We must give Linux/kernel community some time to adopt this new technology. At the end what we usually have is really competitive CPU management in Linux compared to any other OS. But it takes time.

Be patient my friend.

link|improve this answer
feedback

To answer the question: It's horrible. First of all, forget about the hybrid mode (Optimus). Sure, there's Bumblebee, but it's unfinished, complex and doesn't work most of the time (don't expect a one click install!). For me, it's absolutely useless. Manually disabling a gpu (integrated one or dedicated one) does not save energy anyway.

When it comes to the drivers, things did not get better for me: After installing the default proprietary drivers I got a lot of trouble, Xorg not starting up anymore. Using the real nvidia drivers made things worse.

So right now, I'm using the crappy and buggy opensource drivers. I'm having graphical issues every now and then, but it's the only way I can get GFX acceleration. Ubuntu without GFX acceleration is total fail: Unity-2D is buggy (more than Unity with acceleration) and I feel it's underdeveloped. XFCE was my only temporary solution until I got the opensource drivers working again. XFCE is nice (it has software rendering for transparency and such), but you'll need to spend some time for getting things like a global menu to work in XFCE.

In a nutshell: it's all good as long as you don't try to install better drivers. At least, that was the case for me. If you want to run games (probably through wine), I don't think the opensource drivers will get you far. Also don't expect a great battery life. (for me: 4h30-5h00 under windows, 1h45 under ubuntu!!! And I've tried everything I could find on the net...)

I've got a GT540m 1Gb and an Intel IGP (I disabled the latter trying to win some battery life, but to no avail).

link|improve this answer
1  
try the lekenstyn answer - the new release has just been made in the last week which looks very promising. – fossfreedom Jan 21 at 12:46
Thanks. I honestly gave up as soon as I got a running Xorg again. I also thought the projects stalled. Can you tell me, is there a chance I'll reduce power consumption using the provided method? That would be really nice, since my current battery life is rather poor under linux. – Mr. Pixel Jan 21 at 13:01
1  
according to lekenstyn in this answer (askubuntu.com/questions/70031/…) - yes. The key thing though is that the new project is actively being updated. So expect good & better things now and in the future! Contact Lekenstyn and the project for more info. – fossfreedom Jan 21 at 13:10
You cannot disable the intel GPU unless it's a BIOS option. Bumblebee 2.2 or 2.3 did not have power saving, but the new 3.0 version has power saving features available that are automatically applied. Thus, the discrete video card will always be turned off unless a program is requested to be run with Bumblebee. – Lekensteyn Jan 21 at 13:18
feedback

here is live demo overview http://www.youtube.com/watch?v=6ki7PLcXo00

link|improve this answer
feedback

It does't work well at all.

If you are planning to use Linux as your main OS, do not buy an Nvidia Optimus-based computer!

Please ! Just don't do it... it will be the most horrible mistake in your life.

I am not trying to be hard or evil. I'm just saying that all the problems with Nvidia, Bumblebee, HDMI not working, Intel not doing a great job (because we bought an Nvidia laptop and is the Intel that is doing the whole job), No Flash at more than 480p (just forget it) in full screen.

If you are thinking about buying a computer just because it has a good battery and it is little so you can play 3D games correctly with Windows or watch flash and HD Movies with Windows, than yes you can go ahead and buy it.

But if you want to buy it to use Ubuntu (or any Linux Distribution) as your most used OS than please do yourself a favour and don't buy it... or just wait until the problems are solved... and I promise you, it is going take a LONG time before we see something working.

Finally, Bumblebee/Ironhide is not a solution.

link|improve this answer
1  
I don't understand why people downvote this answer. He's right: optimus is a nightmare. Sure, maybe one out of 1000000 ubuntu users got optimus working partially, but there are no magic solutions for "normal" users. I mean, just look at the first answer: it gives me headache looking at the wall of commands to by typed. And after all, let us not forget the whole point of optimus: energy saving! It doesn't work on ubuntu. Even with a gpu disabled, energy consumption does not seem to change. – Mr. Pixel Apr 6 at 11:40
feedback

w/ (old) nvidia graphics dell xps 15 (geforce 420m) not working, had do disinstall the driver. now released new, supporting the driver

http://news.softpedia.com/news/New-Nvidia-Linux-Driver-Supports-Ubuntu-11-04-196264.shtml

have to try

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.