Unity not picking up NVIDIA display adapter

Hi Folks,

Noob here, so apologies for cluelessness … I am migrating over to a new laptop. The laptop has an NVIDIA GeForce GT 520M display adapter. It also has the Intel HD Graphics Family on it - although I am a little confused as to what it means to have both.

Problem is graphics seems very poor on the machine despite the NVIDIA display adapter supposedly having 512MB of dedicated memory.

Couple of other elements:

  1. when I open a Unity log file (after running content in a web player) the log file shows the following:

    Direct3D:
    Version: Direct3D 9.0c [igdumdx32.dll 8.15.10.2266]
    Renderer: Intel(R) HD Graphics Family
    Vendor: Intel
    VRAM: 64 MB (via DXGI)
    Caps: Shader=30 DepthRT=1 NativeDepth=1 NativeShadow=1 DF16=1 DF24=1 INTZ=1 RAWZ=0 NULL=1 RESZ=1 SlowINTZ=0

  2. When I click right in the desktop to select the NVIDIA Control Panel an error message says “You are not currently using a display attached to an NVIDIA GPU”.

→ So it would seem that I am not utilizing the NVIDIA graphics card? Can anyone please advise?

Thanks!

Actually you can fix this problem quite easily. Simply pull up the Nvidia Control Panel (right mouse button on desktop) goto “Manage 3D settings” and either set the Power Management Mode to Maximum Performance OR chose Program Settings and select your browser.exe and assign it MAX Performance. Either way - you will then get Nvidia to support Unity web player.

unity on laptops appears to categorically refuse to use a dedicated GPU.

setting laptop to high performance mode: nope
setting default graphics device to the dedicated GPU (inside navida control panel): nope, reverts to interface.
setting the specific program to run with a specific GPU: nope, reverts to integrated.

launching the program with a specific GPU: runs launcher which fails to launch which in tern reopens the launcher without the designation of a specific GPU (reverts to integrated graphics)

And my personal favourite: disabling integrated graphics so the laptop can only utilise the graphics card. this results in windows running the game with “windows basic renderer” for an exhilarating 1 FPS.

If you can’t get into the Nvidia Control Panel at all, that sounds like a serious problem with your GPU and/or its drivers. Have you tried reinstalling your video drivers?

As far as I’ve seen there is no way to get the Unity web player to run on a dedicated GPU… I have no idea how they haven’t addressed this so it isn’t just automatic but it will always run on the integrated GPU. There’s no serious problem with your GPU, there’s no problem with your drivers, it’s Unity

My experience it is Windows 10.
Before upgrading my NVIDIA K3100M with 4GB Dedicated video RAM could see all three of my displays. After Windows 10. NVIDIA is only able to detect the HDMI display.
There seems to be a constant battle for control of displays. Prior to the latest HP patch, NVIDIA and Intel HD would both claim to control the laptop display. After this update NVIDIA is relegated to the HDMI port only.
Unity and other graphic programs are now often crashing (Visual Studio is the most frequent crash - and the dumbest) because the Intel Graphics will decide that that program can no longer access the video card.
This is a serious problem.

You have to switch off Integrated Graphics in BIOS and select PEG as your default graphics adapter. This way Windows will simply ignore it.

I have this issue with UWP app, but not with the Desktop version of the APP.

I just tried this solution (Answer by Twitwi) and it works :slight_smile:

I used opencl.dll inside system32 for x64 Metro app, and opencl.dll inside syswow64 for x86 Metro app.

Now Metro app use Nvidia graphics card, as the desktop version does.


Since I compiling using IL2CPP, I tried to use extern method, instead of the DLL above… and it works again.

Inside App.cpp, I put these lines in order to enable NVIDIA or ATI dedicated card:

extern "C" {
	_declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
}
extern "C"
{
	__declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
}

Not an answer, just agreeing that I’ve had the same problem since version change from 5.6.x to 2017. X

I have a predator 17 with a dedicated Nvidia GPU. I have done everything that the original poster (wbl1) has done. Keep trying new versions when they come out. Keep the Nvidia latest driver. I get a white screen and the unity editor. And if I run any game that have been compiled for Windows I get no window whatsoever but I hear the sound in the background.

So you think it is it works on desktops just not laptops. and I do believe it’s a unity3d issue and not in video or os because everything else works perfectly. They run on the integrated card or the 3D card as they’re supposed to.

Very frustrating that this has been around for a year.