VMware Horizon Community
leidos_thomastw
Contributor
Contributor
Jump to solution

Is it possible to use Horizon with ESXi 7.0.3 and a vGPU?

Specs:
Single physical host with an Nvidia V100 installed, running ESXi 7.0.3 with vSphere Client version 1.36.0.

The instructions to Install Horizon Agent on a Linux Virtual Machine mention:

Caution:
If you intend to use NVIDIA GRID vGPU, you must configure 3D graphics features on the Linux virtual machine before you install Horizon Agent. If you install Horizon Agent first, required parameters in the xorg.conf file are overwritten, and the 3D graphics features do not work.
See Configure Supported Linux Distributions for vGPU. Install Horizon Agent after the 3D graphics configuration is completed.

Because this describes my use case, I have completed part 1 (Install VIB for vGPU Manager on the ESXi Host) of the vGPU configuration but have been unable to complete part 2 (Configure a Shared PCI Device on the VM).

For simplicity, the following are the steps for part 2:

1. Power off the virtual machine.
2. In vSphere Web Client, select the virtual machine and, under the VM Hardware tab, click Edit Settings.
3. In the New device menu, select Shared PCI Device.
4. Click Add and select NVIDIA GRID vGPU from the drop-down menu.
5. For the GPU Profile setting, select a virtual GPU type from the drop-down menu.
6. Click Reserve all memory and click OK.
   You must reserve all virtual machine memory to enable the GPU to support NVIDIA GRID vGPU.
7. Power on the virtual machine.

 

I have several problems with the instructions themselves that make me think I'm somehow looking in the wrong place.

  • Step 2 mentions a "VM Hardware tab" that doesn't exist in my version of the Web Client.
  • Step 3 mentions adding a "Shared PCI Device" but after going to Virtual Machines --> VM Name --> Edit --> Virtual Hardware --> Add other device, I'm given options to add a "PCI device" or "Dynamic PCI device" but not a "Shared PCI Device".
    • Even the "PCI device" and "Dynamic PCI device" options are disabled until I've enabled passthrough for my V100 via Host --> Manage --> Hardware --> NVIDIA Corporation NVIDIATesla V100-PCI-32GB --> Toggle passthrough (which the steps never mention)
  • Step 5 mentions selecting a vGPU type and/or profile but whether added to a VM as a "PCI device" or "Dynamic PCI device", the only dropdown is for selecting the PCI device itself, not for specifying a vGPU type or profile.
    • @apbaseball's No vGPU Profiles Available post and corresponding solution to change the Host Graphics Settings to "Shared Direct" using Configure --> Hardware --> Host Graphics also doesn't appear to be applicable in my case because I don't have a Configure tab, let alone a Host Graphics option underneath it. The closest thing I was able to find was Host --> Manage --> System --> Advanced settings --> Config.Defaults.vGPU.consolidation but I've tried after toggles to that field (with reboots in between toggles and testing attempts) and noticed no difference.
  • Regardless of whether the GPU is added as a "PCI device" or "Dynamic PCI device" and regardless of whether Config.Defaults.vGPU.consolidation is true or false, saving the configuration (including the enabling of "Reserve all memory" from step 6) results in a VM that cannot be powered on and presents with the following on attempted starts:
    • "Failed - Module 'DevicePowerOn' power on failed."

So in short, the above instructions seem to be describing a vastly different task, configuration, version, and/or set of systems than I am trying to set up but "Install Horizon Agent on a Linux Virtual Machine" and "Configure Supported Linux Distributions for vGPU" seem to pretty accurately summarize what I'm trying to accomplish so I'm not sure where else to look.

Am I'm looking in the wrong place for documentation or settings/options? Can anyone tell me if I've done something something clearly incorrect?

Reply
0 Kudos
1 Solution

Accepted Solutions
leidos_thomastw
Contributor
Contributor
Jump to solution

The short answer is that "vSphere Web Client" must be an overloaded term that means both the web client that comes with a new ESXi installation and the web client for vCenter because most of the instructions made sense after installing vCenter and using that interface.

I'm not sure if it made a difference or if this is specifically for passthrough but I I also followed directions from this blog post titled How to Enable Nvidia V100 GPU in Passthrough mode on vSphere for Machine Learning and Other HPC Work.... Specifically manually adding the following to my VMX file:

pciPassthru.use64bitMMIO=“TRUE”
pciPassthru.64bitMMIOSizeGB=“128”

 

View solution in original post

1 Reply
leidos_thomastw
Contributor
Contributor
Jump to solution

The short answer is that "vSphere Web Client" must be an overloaded term that means both the web client that comes with a new ESXi installation and the web client for vCenter because most of the instructions made sense after installing vCenter and using that interface.

I'm not sure if it made a difference or if this is specifically for passthrough but I I also followed directions from this blog post titled How to Enable Nvidia V100 GPU in Passthrough mode on vSphere for Machine Learning and Other HPC Work.... Specifically manually adding the following to my VMX file:

pciPassthru.use64bitMMIO=“TRUE”
pciPassthru.64bitMMIOSizeGB=“128”