Monday, February 4, 2013

Installing nVidia Consumer Drivers on Server 2012 Core for RemoteFX

I'm wanting to establish Microsoft RemoteFX in my lab, and to do so, one needs a dedicated 3d accelerator. Obviously, nVidia didn't make the drivers with Server 2012 (now 2016 as well, see below) Core in mind. To accomplish this, we need do the following:

1> Download the newest drivers from nVidia. (Note the later half of these points will probably work on ATI cards as well, you just need to unpack the drivers)
2> Execute the driver setup directly on core server the and select a temporary directory. 
3> Hit "OK"; the installer will crash because it's uncomfortable in the lovely world of server core.
4> Navigate to the display.driver directory underneath the extracted files in the temporary directory you selected earlier. You should find the .inf files in this directory. For nVidia it is nv_disp.if. Update 5/3/2015: the .inf file is now nv_dispi.inf, thanks bearkiter.
5> From cmd.exe, execute "pnputil -i -a nv_disp.inf"
6> The screen will blank! Don't be afraid. After completion, you should see a screen that looks like the shot below. (yes the borders are gone)
7> Assuming it's OK to do so execute "Shutdown /r /t 0" to reboot the machine.

I'm working on another article to cover VDI/RemoteFX. Stay tuned. Update: Article here.

Update 2/3/2017: Confirmed working on Windows 2016! Consumer grade hardware works in the lab as well.


Harry Heck said...

Hero Status sir!

Toby Meyer said...

Thanks @Harry, glad it worked for you!

bearkiter said...

Any update for later version of the drivers? The .inf mentioned is no longer in the package...

Toby Meyer said...

Hi @bearkiter,

Thanks for the heads up; I hadn't updated the drivers in awhile. The new .inf file is nv_dispi.inf. Just tried it on one of my servers and it worked fine:

C:\temp\nvdrv\Display.Driver>pnputil -i -a nv_dispi.inf
Microsoft PnP Utility

Processing inf : nv_dispi.inf
Successfully installed the driver on a device on the system.
Driver package added successfully.
Published name : oem5.inf

Total attempted: 1
Number successfully imported: 1

Article updated to reflect the change; much appreciated!

David Smith said...

Thank you so much for this! I'm on the 2016 hyper-V technical preview and needed to enable remoteFX using my spare GTX750!

Toby Meyer said...

@David Smith

Excellent, glad it helped! I'm happy to hear it works on 2016 as well as I haven't tried it as a Hyper-V host yet; I'm having issues with RemoteFX on Windows 10 with 2012R2 so I may be joining you soon.


MadDog said...

A bit late to the party... but does this install the NVIDIA control panel too?

Toby Meyer said...

Hey @MadDog!

Unfortunately no, just the driver. I suspect, but have not tested, that the CP may not work on core even if one were to get it installed because it may rely on Windows components that are not installed on the core platform.

Good luck!

NorDemoniac said...

Thanks for this tutorial.
How about Windows Server 2016 Nano?

I'm setting up a new Hyper-V system, and I have a Quadro K4000 installed in one server. It would be great if it could be passed through to one of the virtual machines, or split between a few.

My experience with Nano is yet rather little, but Hyper-V + nVidia driver would be great!

Toby Meyer said...

Hi @NorDemoniac:

I was hoping to test this one myself, but ran into an issue preventing me from using Nano in the lab; that said I did find this post detailing the successful use of pnputil on Nano, so it is likely worth a shot. Another, perhaps better alternative, would be to inject the drivers directly into the image as outlined here. If you haven't accomplished this already, good luck!