[SOLVED] M60 passthru on VMware ESXi 6.5 Windows guest not using card


We have an M60 on our ESXi 6.5 host with pass-thru to a Windows 2012 R2 guest VM. Windows can see the M60 device, gpumodeswitch reports it as Graphics mode, but NVIDIA Control Panel says it is dedicated for compute and applications can’t see it.

See screenshot here: https://s3-eu-west-1.amazonaws.com/public-wspdigital-co-uk/gridforum/m60compute.png

How can we make the M60 run as the primary graphics for this VM?



That’s an interesting one. Are you using vCenter or is it a stand alone deployment?

Have you tried resetting the GPU to Graphics Mode anyway?



It’s a standalone deployment.

Strangely enough I was able to make it work previously with this setup on a different Windows VM. I haven’t changed anything on the VMware side of things, so I’m guessing it’s a Windows setting/issue.



As the M60 is dual GPU, are both GPUs in Graphics mode?



Yes they are both in Graphics mode. Output from ESXi host below:

lspci | grep NVIDIA
0000:84:00.0 Display controller: NVIDIA Corporation GM204GL [Tesla M60]
0000:85:00.0 Display controller: NVIDIA Corporation GM204GL [Tesla M60]

lspci -n | grep 10de
0000:84:00.0 Class 0300: 10de:13f2
0000:85:00.0 Class 0300: 10de:13f2



For the record I found and solved the problem - cause is a bad NVIDIA driver.

I can reliably reproduce this problem on VMware ESXi 6.5 with a M60 (both in Graphics mode) pass-thru to a Windows 2012 R2 guest VM (fresh Windows install from ISO) using the Tesla M60 Windows 2012 R2 CUDA 8 driver version 385.08.

Once I downgraded to driver version 377.35 everything works as expected.

Possibly a bug in the 385.08 driver?

Nice work!

Where did you get the driver from?

I use M60s on ESXi 6.5 a lot, and have never had a driver issue …


I have same issue on Windows 7 Professional x64 VM with Tesla M60 Windows 7 and 8 64 bit 385.08 driver installed from http://www.nvidia.ru/download/driverResults.aspx/121535/ru.
NvAPI_EnumPhysicalGPUs fails with result: NVAPI_NVIDIA_DEVICE_NOT_FOUND - No NVIDIA GPU driving a display was found.
NvAPI_EnumTCCPhysicalGPUs( NvPhysicalGpuHandle nvGPUHandle[NVAPI_MAX_PHYSICAL_GPUS], NvU32 *pGpuCount); returns NVAPI_OK and pGpuCount equals 1.

Everything works fine with 377.35 and 377.55 drivers.

But Get Even game requires driver version to be greater than or equal to 385.

Hi Valdemar_Rudolfovich

To obtain the correct drivers for your hypervisor and the guest VMs, you need to go here: http://www.nvidia.com/object/grid-evaluation.html#utm_source=shorturl&utm_medium=referrer&utm_campaign=grid-eval and register for an evaluation.

The location you have listed above is not correct, and is for Compute drivers only, not Graphics (the M60 can operate in either mode)


Hi BJones

Thanks for help, grid driver has graphics mode and Get Even game works fine now.

I sourced the bad 385.08 driver as follows:

  1. Browse to http://www.nvidia.co.uk/Download/index.aspx?lang=en-uk
  2. Select Tesla > M-Class > M60 > Windows Server 2012 R2 (64) > CUDA 8 > English (UK)
  3. Search
  4. Only choice is 385.08

I sourced the good 377.35 driver as follows:

  1. Browse to http://www.nvidia.com/Download/Find.aspx
  2. Select Tesla > M-Class > M60 > Windows Server 2012 R2 (64) > CUDA 8 > English (UK)
  3. Select version 377.35

It’s a bit confusing now that there are two separate areas for driver downloads. I wish the newer ones could skip to a totally different numbering system so that it would be more obvious which are compatible with the newer GRID releases.

In the above example the “CUDA 8” is a giveaway that this isn’t the right option for running in vGPU/GPU graphics mode.