I am trying to use the NvOptimusEnablement exported global variable in my application but I have noticed a problem: Unlike the NVIDIA documentation says, even if the variable have the value 0x00000000, the Optimus driver uses the High Performance Graphics GPU. The only way to retrieve the default behaviour is to remove the exported variable from my app.
Is there a way to fix it? Thanks by advance for your help.
Means NvOptimusEnablement itself is ignored and your app could have been assigned to the discrete GPU based on some other mechanism listed in that document.
Does that mean you’re not able to assign the app to the integrated graphics via app profiles or the right-click context menu when NvOptimusEnablement exports zero?
Exactly. If my app exports NvOptimusEnablement = 0x00000000, I still have the High Performance Graphics GPU assigned, even if I force the use of the Intel chipset on the NVIDIA control panel.
Thanks, that’s what I was trying to isolate with the questions.
Would you be able to test if that works differently with a newer driver?
To be able to reproduce this, could you please list your system details:
OS version, OS bitness, installed GPU(s), tested display driver versions (332.35, …), laptop model.
With 347.52 drivers and NvOptimusEnablement = 0x00000000, automatic selection still uses the NVIDIA GPU but now, when I force the use of the Intel chipset on the NVIDIA control panel, it uses it.
So one part of the issue is solved but I still have the problem of the driver considering the variable existence but not its value…