Passing through a Nvidia GTX970 to a VMware Virtual machine

  1. Create a virtual machine with EFI boot, install windows + tools and power down the VM
  2. Open ssh to the host where the VM is registered to
  3. use VIM-cmd vmsvc/getallvms | grep *name_of_VM*

  4. cd to the datastore path

    cd /vmfs/volumes/NVME/nvidia/

  5. Edit the vmx file using the vi editor and add the below lines

    hypervisor.cpuid.v0 = “FALSE”
    pciHole.dynStart = “2816”

  6. Save the editor and then reload the VMX (201 is the vmid from the above screenshot)

    vim-cmd vmsvc/reload 201

  7. Edit settings on the VM> add new hardware>pci device>add graphic card and its audio device(2 pci pass through device and set the memory reservation to maximum)
  8. Take a snapshot and then power on the VM
  9. Conform the hardware under graphic adapter followed by nvidia drivers installation.

  10. on successful installation.. after the reboot, the exclamation on the driver should go away and you should observe that extending the monitor (window key + P and extend/duplicate) should show the display out on the monitor where the graphic card is connected to.


Note: The nvidia card and its audio device must already have been marked as under pci device as pass through!!






Stem 3, 4 , 5 6 can be replaced with the below: (the below might not work on vsphere 5.x)

  • Edit VM settings:
  • VM options>advanced>Edit configuration and add the two lines:

Creating a Cent OS7 template for VMware Guest Customization and Deployment

To start off with, Download the latest version of CentOs7 from

At the time of writing, this is: CentOS-7 (1804)

Lets start by creating a new Virtual machine.  I will select Esxi 6.5 for backward compatibility  with other host.

Mount the ISO,


Power on the VM and begin installing of the OS and begin the installation

Note: During the install we will enable the default nic interface and set this to DHCP

Note: Since the ISO used was from a most recent release, openvm-tools is auto installed along with the linux installer. if you are using an older version of the cent os installer iso, you must install open-vm-tools with the below command (will need the VM connected to the internet).

yum install open-vm-tools

I would recommend updating the tools to the latest release.


and then followed by installing pearl (pre-requisites for guest customization)

yum install perl


Once done, power down the VM and convert it to a template.

Test the template by deploying a VM with guest customization.




When the VM boots up you should see the host name set to the name of the VM (the spec that I used to customize uses the name as of vsphere inventory as the the virtual machine name)


Looking at the VM that was just deployed, we see the host name has changed as per the specification.


Log file for guest cust: