How to disable NVIDIA Optimus on a Dell XPS 15?

117,064

Solution 1

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.

Solution 2

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.

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

Solution 4

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.

Solution 5

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.

Share:
117,064
Fopedush
Author by

Fopedush

Updated on September 18, 2022

Comments

  • Fopedush
    Fopedush almost 2 years

    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!

  • Supercereal
    Supercereal about 13 years
    Damn I wish my laptop had this option... however it does let me increase the FSB which is rare in laptop bios.
  • Fopedush
    Fopedush about 13 years
    Unfortunately there is no such option in the bios on this laptop.
  • uxout
    uxout about 13 years
    @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.)
  • Supercereal
    Supercereal about 13 years
    @Dragonlord exactly, it's a very nice feature.
  • uxout
    uxout about 13 years
    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.
  • uxout
    uxout about 13 years
    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. :/
  • Fopedush
    Fopedush about 13 years
    Another 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
    Fopedush about 13 years
    Dicking 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
    Fopedush about 13 years
    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.
  • user541686
    user541686 about 13 years
    @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...
  • uxout
    uxout about 13 years
    @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?
  • user541686
    user541686 about 13 years
    @Shinrai: Mm okay, sure. @Fopedush: XML? My profile files don't look like that (then again, I don't have Optimus)...
  • uxout
    uxout about 13 years
    I have an Optimus machine in house; I'll take a look.
  • uxout
    uxout about 13 years
    Addendum: I can't find the damned profiles at all (ProgramData, AppData...all I see are the Updatus profiles.) Where were you looking @Fopedush?
  • Fopedush
    Fopedush about 13 years
    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.
  • user541686
    user541686 about 13 years
    @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)?
  • Fopedush
    Fopedush about 13 years
    @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.
  • user541686
    user541686 about 13 years
    @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
  • Fopedush
    Fopedush about 13 years
    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.
  • uxout
    uxout about 13 years
    @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.
  • Fopedush
    Fopedush about 13 years
    I 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
    Fopedush about 13 years
    I 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
    Fopedush about 13 years
    Update: Unfortunately, my efforts to get a copy of dwm.exe launched successfully through servicehost have continued to fail.
  • Fopedush
    Fopedush about 13 years
    Even with the Nvidia card set to the preferred device, all desktop compositing is still performed on the IGP.
  • Joshua
    Joshua about 13 years
    @Fobedush - absolutely right.
  • Fopedush
    Fopedush about 13 years
    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
    Fopedush over 12 years
    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
    Fopedush over 12 years
    Looks like someone created an unlocked bios A06 for the XPS15 (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
    Fopedush over 12 years
    Unfortunately 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.
  • Dmitriy
    Dmitriy over 12 years
    @Fobedush how do you know that desktop compositing is performed on IGP?
  • Fopedush
    Fopedush over 12 years
    @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.
  • Andrew
    Andrew over 11 years
    "I don't know if this actually works but..." is not a great way of giving an answer!
  • Sirber
    Sirber over 10 years
    Those two GPUs doesn't have a screen connected.
  • Mohammed Aslam
    Mohammed Aslam about 5 years
    @Fopedush did it work with unlocked bios?
  • Fopedush
    Fopedush about 5 years
    @MohammedAslam No, I never found a working unlocked BIOS.