How to disable NVIDIA Optimus on a Dell XPS 15?

43

21

I've got a new Dell XPS 15 (L502x) with an NVIDIA GeForce 540M, Intel Core i7Q 2.2 Ghz, and Crucial RealSSD hard drive. As with most laptops with NVIDIA cards these days, it's got the "Optimus" feature, which switches between the integrated Intel HD graphics and the much more powerful NVIDIA card seamlessly, with the goal of providing better battery life.

I assumed when I bought this laptop that there would be certain common sense options, such as the ability to use only the NVIDIA card when on A/C power, and/or the ability to force usage of one card or the other. It appears that either I was wrong, or I just can't figure out how to do it.

I want to know how to configure Optimus in such a way that the NVIDIA card is always used for all tasks, including the Windows desktop/Aero. I'm not satisfied with the performance of the Intel card, so I'd like to bypass it completely. I'm aware that due to the hardware configuration of these cards, the Intel hardware cannot simply be disabled, but I'd like the NVIDIA card to be doing all the work. I've dug through both the NVIDIA Control Panel and the Intel settings program, without finding any clues how to do this. I've done a lot of googling on the subject, but found little of use.

Things I have tried so far:

  • Checked in the BIOS for an option to use one video card or the other exclusively; no such option exists.

  • Updated the BIOS, with no effect.

  • Set Nvidia Control Panel to use the Nvidia GPU as the default device.

  • Tried forcing dwm.exe to run on the NVIDIA GPU via the NVIDIA control panel, with the goal of getting Aero to render on the NVIDIA GPU. There appears to be a special exception for this program, as the drop-down box for GPU selection is grayed out and set to "Integrated Graphics":

    NVIDIA control panel hates dwm.exe

  • Tried forcing older, pre-Optimus drivers on the card; no success.

Any suggestions are very welcome, but please don't answer that I shouldn't be looking to disable Optimus!

Fopedush

Posted 2011-05-12T20:06:16.143

Reputation: 1 723

3I'll answer the oposite YOU WANT TO DISABLE OPTIMUS (it sucks) doing it is however impossible as far as I know and I have been going at it with my alienware m11x for over a year now. With updated drivers you can go into advanced mode and set the preferred card to be the 540M however it is still only going to engage when a DirectX capable application is launched. – Supercereal – 2011-05-12T20:10:03.633

Optimus does have the pleasant side effect of enabling some machines to drive more simultaneous video outputs than would otherwise be possible. – Shinrai – 2011-05-12T20:11:53.110

2Pleasant though that may be, it hardly makes up for the Intel chip being incapable of handling basic desktop tasks. I'd give it up if it meant aero would run smoothly – Fopedush – 2011-05-12T22:23:12.213

I've played with several machines with Optimus from several vendors and I've never experienced the Intel chip being incapable of handling Aero, in fact I was fairly surprised at the smoothness. These machines were all high end workstation machines running solid state drives, for what it's for, but I'd think something like an XPS 15 should be fine. Is it possible there's another factor at work? – Shinrai – 2011-05-13T14:21:08.330

1

No, everything is working as designed. But try running something like Switcher (http://insentient.net/). The intel card manages to pump out a frame every few seconds. Flip3d's framerate begins to dip into the unacceptable range (<60) with any more than 3-4 windows open. Even basic aero tasks, on the other hand, with stutter and fail if they try to run while the CPU is in high demand (e.g. launching visual studio 10 - the window never animates properly as it comes up)

– Fopedush – 2011-05-13T14:26:28.477

I feel like you are trying to cure the symptoms, not the disease. Instead of asking, "how do I turn off optimus", perhaps you should be asking, "why don't my integrated graphics suffice for running Aero when they work just fine for 99.9% of other people who use Aero?". – nhinkle – 2011-05-16T17:19:00.530

1Quite simply, I demand/expect more from Aero than 99.9% of people. I'm confident that there is absolutely nothing wrong with the integrated graphics on this machine, other than inadequate design. – Fopedush – 2011-05-16T17:46:40.960

@Fopedush - Then maybe your machine just can't keep up with your demands and you need a faster one? (I'm not trying to be sarcastic, but if you follow the logical path it's the obvious conclusion. Although probably not the practical one.) – Shinrai – 2011-05-17T14:36:52.387

2@Shinrai - I maxed out the specs on this machine as it is. Take a look, I wasn't exactly skimping. 2.3Ghz Core i7 is the fastest mobile CPU dell even offers, and I doubt that extra 100 mhz would make any difference in (integrated) graphics rendering. I bought a machine with an Nvidia Geforce 540M because I knew I wanted fast rendering for desktop compositing. Every sandy bridge machine on the market seems likely to have exactly this same problem - which is why I might as well try to solve it on this laptop. – Fopedush – 2011-05-17T15:34:24.130

@Fopedush - Like I said, I wasn't being practical. I am pessimistic that anybody has a workaround (as I said, I've spent quite some time myself looking into this due to some business concerns of ours). The solution is to live with it, or buy a desktop (or a non-Optimus laptop, which there is a dearth of right now because most people want battery life, not performance. I agree with you that I'd rather have performance but we're a minority :/) – Shinrai – 2011-05-17T17:00:22.963

@Fopedush - But let me clarify that I am totally on board with your needs and complaints, and would absolutely love for somebody to deliver on this. I probably would have bountied this if you hadn't, actually. – Shinrai – 2011-05-17T17:03:13.460

@Fopedush: Which Nvidia driver are you using, and have you verified that it is the latest version? (you can use the Graphics Drivers button)

– harrymc – 2011-05-18T10:33:02.540

@harrymc - I'm using the latest driver (270.61). This card has only been supported since 270.51, which I have also tried, and found no appreciable difference. – Fopedush – 2011-05-18T15:17:34.917

1I am all over this problem too. This problem is MASSIVE, especially considering I have my XPS 15 connected to a screen with 2560 x 1440. Desktop rendering is so slow it's like I'm trying to run Windows XP on a Pentium III all over again. Horrible. – Joshua – 2011-06-15T13:37:10.187

Have you tried disabling the Intel HD graphics device in the Device Manager? – rob – 2012-06-26T23:47:11.667

@rob: yes, doing so causes you to lose all video. – Fopedush – 2012-07-10T15:47:54.953

@Fopedush well that's no fun! – rob – 2012-07-10T15:53:56.727

Answers

35

Short answer: It doesn't "switch" and you can't disable the Intel IGP.

Long answer: From a hardware point of view the Intel IGP is always handling image output to the laptop's LCD screen. The NVIDIA GPU copies rendered graphics into the Intel IGP's frame buffer (which resides in system memory) when it is active. The Optimus software makes certain programs use the GPU based on the loaded profiles and user settings. It currently does not support running the OS desktop compositing on the GPU.

enter image description here

See the Optimus White Paper for more details.

Brian

Posted 2011-05-12T20:06:16.143

Reputation: 8 439

I didn't realize it did the rendering this way, interesting...also, this further cements my concern that if the BIOS doesn't give a way to explicitly do it, there is not any way to do it. +1 for that. – Shinrai – 2011-05-16T21:08:24.353

1Another one of the diagrams in the white paper seems to indicate that the Nvidia card is still capable of doing direct rendering to a screen through it's own frame buffer, without any involvement from the Intel card - so long as the Nvidia card is preferred at a driver level. It looks like the only thing that matters is which card the screen is physically connected to - The nvidia card cannot render directly to a screen that is connected physically to the Intel card. Maybe, with some rework, I can hook up the primary display directly to the nvidia card. – Fopedush – 2011-05-17T15:43:09.553

Further evidence that this is the case: When I hook up a second monitor to the laptop through the HDMI port, everything on that monitor is rendered with the Nvidia GPU, including desktop compositing. – Fopedush – 2011-05-17T15:52:33.600

3I appreciate the thoroughness of your answer, but I still feel like there may be a way to circumvent this problem. I would gladly mark this as the correct answer and give you the 500 point bounty, but I feel that would be doing a disservice to anyone else fighting this problem. Optimus is becoming more common, and many people may want to take a crack at this now or in the future - so I want to leave the question open. You've got a good number of upvotes, so you should receive half the bounty (250) when it ends. Thank you for your effort. – Fopedush – 2011-05-22T17:00:00.603

4

I am not familiar with this particular laptop, but there is very often an option in the BIOS to specify either Optimus graphics, or to force either the Intel or Nvidia card to be dominant. That would completely disable the one chipset.

Shinrai

Posted 2011-05-12T20:06:16.143

Reputation: 18 051

1Damn I wish my laptop had this option... however it does let me increase the FSB which is rare in laptop bios. – Supercereal – 2011-05-12T20:13:49.937

1Unfortunately there is no such option in the bios on this laptop. – Fopedush – 2011-05-12T20:14:41.750

1@Fopedush - Then you're probably out of luck, I know of no other way to do it, and I spent a lot of time researching this for a particular compatibility problem we had with a video peripheral we sell. (Luckily, the Thinkpads that we're selling it with DO have this option in the BIOS.) – Shinrai – 2011-05-12T20:17:12.447

1@Kyle: "increase the FSB"? That implies the CPU on your laptop can be overclocked! – bwDraco – 2011-05-16T16:40:52.810

@Dragonlord exactly, it's a very nice feature. – Supercereal – 2011-05-16T17:01:17.180

3

I don't understand why DWM is different from any other 3D application, and hence why it has to be special.

It's a bit painful, but you might want to take a look at where all this information is stored (it might be in the C:\ProgramData\NVIDIA Corporation\Drs folder) and then try modifying it with a hex editor to see if you can enable the combo box.

If you're into programming, you could also try forcing the drop-down menu to be enabled by (1) getting the window handle to the combo box, and (2) calling EnableWindow on it, although in my experience this doesn't always work.

user541686

Posted 2011-05-12T20:06:16.143

Reputation: 21 330

It's probably being treated differently simply because of the fact that it's operating at such a low level on such an integral part of the OS. They don't want you dicking around with it, I suppose. :/ – Shinrai – 2011-05-17T14:36:02.933

1Dicking around is my middle name. I like this answer because I hadn't thought to try it yet. Unfortunately the nvidia profiles are encrypted, so I wouldnt be able to manually edit them very easily. As for forcing the dropdown, I doubt it will really work, but it sounds like fun to try. Maybe I'll take a crack at it later. – Fopedush – 2011-05-17T15:45:06.353

@Shinrai: Lol. I'm not sure it's quite as low-level as you think... it's not even running under the SYSTEM account, and it's all in user-mode. @Fopedush: Hm... are you sure they're encrypted? When I open some files in that folder on my computer, I see a lot of things in plain text... – user541686 – 2011-05-17T17:58:08.680

@Mehrdad - I don't think 'low level' was exactly what I meant to say. A lot of things make assumptions about how dwm is operating, and they don't want you undermining those assumptions, how's that? – Shinrai – 2011-05-17T18:05:54.797

@Mehrdad: You're right, there does appear to be something there, but I can't make heads or tails of it. I don't think that these are the profiles though, because those are supposed to be stored in "Encrypred XML". (See Brian's answer) – Fopedush – 2011-05-17T18:45:00.397

@Shinrai: Mm okay, sure. @Fopedush: XML? My profile files don't look like that (then again, I don't have Optimus)... – user541686 – 2011-05-17T18:47:25.470

I have an Optimus machine in house; I'll take a look. – Shinrai – 2011-05-17T18:51:07.440

Addendum: I can't find the damned profiles at all (ProgramData, AppData...all I see are the Updatus profiles.) Where were you looking @Fopedush? – Shinrai – 2011-05-17T18:59:06.047

I was looking in C:\ProgramData\NVIDIA Corporation\Drs, as Mehrdad suggested. I found a bunch of .bin files, which, if you look at them in a hex editor, appear like they could be profiles. It's really hard to tell, there is a bunch of indecipherable garbage in there, but also the names of a lot of .exes. – Fopedush – 2011-05-17T21:31:48.833

@Fopedush: If you rename DWM.exe to something else (back it up first obviously), what happens? Can you then add it manually in the list (since it won't be predefined anymore)? – user541686 – 2011-05-17T21:43:18.703

@Mehrdad - Yes! If I copy dwm.exe to dwm-copy.exe, I can use the nvidia control panel to set that exe to run under the nvidia GPU. However, I'm unable to get the new dwm-copy.exe to run (simply trying to launch the exe doesnt work). I'm currently trying to get the UxSms service (desktop compositing) to launch dwm-copy.exe instead of dwm.exe. No luck yet, but I'll keep you informed. – Fopedush – 2011-05-17T22:03:10.647

@Fopedush: Sorry I think you reversed what I meant. :-) I meant you should rename dwm.exe in the profile using a hex editor, and then try adding it manually using the NVIDIA control panel. I wasn't telling you to rename a system file. :P – user541686 – 2011-05-17T22:20:29.827

Odd thing is, I can't find dwm.exe in what we are assuming to be the profile. However, I'm very curious what will happen if I manage to get my new dwm-copy.exe running. Only hitch it, dwm.exe is a service. I've created a new service that invokes dwm.exe directly (after temporarily disabling the real one), but this fails. It looks like I need to figure out how to invoke dwm-copy.exe through svchost. I've got to step out for a few hours but I'm going to continue working on this tonight. – Fopedush – 2011-05-17T22:34:41.197

@Fopedush: Oh hm... that's weird. Maybe try doing a global search for all the files in the dwm.exe in the NVIDIA folder? (Try both ASCII and Unicode.) Can't think of much right now, good luck. :-) – user541686 – 2011-05-17T22:40:33.133

@Fopedush - sorry, didn't see response since you didn't @ me. That's what I see on my Optimus machine as well, they're do indeed look just like that. – Shinrai – 2011-05-17T23:06:27.127

Update: Unfortunately, my efforts to get a copy of dwm.exe launched successfully through servicehost have continued to fail. – Fopedush – 2011-05-22T17:02:43.130

2

You might have a look at this patch to the Nvidia drivers : Hybrid PhysX mod v1.03 / v1.04ff, which seems to be related to your problem. Better read the comments as well.

Towards the end, one comment confirms v1.04ff as working for version 270.61 that you are using.

If you decide to try it out, first take some good backups.

harrymc

Posted 2011-05-12T20:06:16.143

Reputation: 306 093

1I tried this to seemingly no effect today while I had a free moment, and it didn't seem to work. I'll read the thread more thoroughly this weekend (maybe I missed something). Will report back. – Fopedush – 2011-05-21T04:24:27.940

2

Optimus CAN be disabled in the BIOS, only problem is you need to UNLOCK the default BIOS.

I have an Alienware and unlocked the A08 BIOS, and there you can disable the IGP. I only run on NVIDIA and it is much smoother now.

Notso

Posted 2011-05-12T20:06:16.143

Reputation: 21

@Fopedush did it work with unlocked bios? – Mohammed Aslam – 2019-03-31T15:32:09.137

@MohammedAslam No, I never found a working unlocked BIOS. – Fopedush – 2019-04-01T16:21:25.003

This question may be old, but that doesn't mean I'm not still looking for an answer. I'll take a crack at this tonight. In the mean time, can you provide any additional details about this? Shall I just browse over to bios-mods and search for an unlocked version of the bios for my machine? – Fopedush – 2011-12-16T21:34:37.330

1

Looks like someone created an unlocked bios A06 for the XPS15 (http://forum.notebookreview.com/7211002-post1755.html). He says that it provides an option to disable the IGP, but he also says that it doesn't work. Regardless of that, I'll give it a shot tonight and see what happens. I'm giving you an upvote simply because this is a new idea that I haven't tried yet.

– Fopedush – 2011-12-16T21:46:29.133

1Unfortunately while I was at work today I had the mistaken impression that this laptop was an L501x. It is actually an L502x. According to bios-mods, the L502x uses a UEFI bios, and so far no one on that site has been able to provide an unlocked version. – Fopedush – 2011-12-17T02:09:20.553

0

Go to Global Settings tab and select to use Nvidia Card as preferred device. This was the first thing I did for my notebook and had no problems with it. If that's not working, you've probably have wrong drivers. Try to clean your system from old drivers using DriverSweeper, and then install the recommended drivers from your DELL website

Dmitriy

Posted 2011-05-12T20:06:16.143

Reputation: 531

2Even with the Nvidia card set to the preferred device, all desktop compositing is still performed on the IGP. – Fopedush – 2011-05-22T21:58:17.597

@Fobedush - absolutely right. – Joshua – 2011-06-15T13:34:12.153

@Fobedush how do you know that desktop compositing is performed on IGP? – Dmitriy – 2012-01-17T23:35:35.407

1@geotavros the Nvidia Optimus Test Viewer can be used to confirm that desktop compositing is being performed only on the IGP regardless of optimus settings. – Fopedush – 2012-02-23T02:19:04.073

0

I found a solution! Follow these steps:

  1. In the Start menu search box, type hdmi and click Connect to an external display
  2. Click the Detect button at the top of the window
  3. The Display drop down menu will say: 1. Name of your display - available (GPU) - available intel chipset. Click on the available (GPU).
  4. Click Apply.

It should work on the GPU now. I used @Fopedush's answer to figure this out.

Jonathan Chan

Posted 2011-05-12T20:06:16.143

Reputation: 1

5

Chan: Have you confirmed that this works using a tool such as the NVIDIA Optimus GPU State Viewer? It seems that this method is simply displaying available auxiliary outputs - one of which is the Nvidia card. After clicking on "Available GPU", the "Apply" button remains grayed out for me, as I have not actually made any changes. Perhaps you can clarify your instructions or confirm that this works for you with the test tool?

– Fopedush – 2011-06-16T06:12:46.140

Those two GPUs doesn't have a screen connected. – Sirber – 2013-11-06T16:49:50.333

-2

I don't know if this actually works but try Settings > Global setting to nvidia gpu. This again doesn't bypass the intel graphics completely but rather tells the OS to dump all it display related job to the card.

Personally speaking I don't recommend dumping all the work to the gpu because it reduces the overall life of the card as well as generate a load of heat. I noticed the fan running faster. And the sides of the laptop get more hotter than normal. Also battery life has reduced to half.

rohan

Posted 2011-05-12T20:06:16.143

Reputation: 1

1"I don't know if this actually works but..." is not a great way of giving an answer! – Andrew – 2012-11-14T08:58:23.693