Ok confusion abounds when trying to get GPU pass-through to work in a combination of host/guest configs, maybe we can try to simplify things as there is a lot going on. Maybe a few questions with people's experience will help everyone and try to document my experiments along the way.
Different people have different goals with regards to using a GPU with vmware, but in my case it is to try to expose opencl hardware and acceleration to a linux guest. The following are my settings that are working for an NVIDIA card on xeon CPU/MB platform.
Hardware Questions / Info:
- CPU and Motherboard Support
- Host Platform
- Linux Guest Operating System (4.18.0-3-amd64 #1 SMP Debian 4.18.20-2 (2018-11-23) x86_64 GNU/Linux)
Different people have different goals with regards to using a GPU with vmware, but in my case it is to try to expose opencl hardware and acceleration to a linux guest. The following are my settings that are working for an NVIDIA card on xeon CPU/MB platform.
Hardware Questions / Info:
- CPU and Motherboard Support
Intel
- GPUsCPU - Xeon E5-2680v1
Motherboard - GA7-PESH2
Motherboard - GA7-PESH2
- NVIDIA (consumer)
Software Questions / Info:- GTX 970 SSC
- Host Platform
ESXi 6.7.0 (Build 10176752) (vCenter)
- Host (click on host name)
- Configure
- Hardware
- PCI Devices
- DirectPath I/O PCI Devices Available to VMs
- Graphics- Should show both the graphics card and audio devices with status as "Available"
- Graphics Devices
- Shows the GPU with Active Type "Direct" and Configured Type "Shared Direct"
- VMs associated with the graphics device
- Host Graphics- VMs associated with the graphics device
- Shows the VM names with the GPU added to the Guest config.
- Edit Host Graphics Settings
- Default Graphics Type - Shared Direct
- Shared passthrough GPU assignment policy - Spread VMs across GPUs (best performance)
- Shared passthrough GPU assignment policy - Spread VMs across GPUs (best performance)
- VM Guest Settings (select VM to add the passthrough device with the VM powered off)
- Click Actions - Edit Settings
- Click "Add New Device"
- Power-on the guest- Select PCI Device and it should automatically add the GPU to the list
- Click on Edit Settings- Select Advanced
- Click "Edit Configuration"
- Add two entries
- Add two entries
- svga.present FALSE
- hypervisor.cpuid.v0 FALSE
- "lspci -v -s 13:00.0" (device slot ID) command shows the PCI device and kernel driver and modules associated
- Guest Drivers
- Guest Drivers
- NVIDIA
- kernel driver - nvidia
- Kernal modules - nouveau, nvidia_drm, nvidia
- Kernal modules - nouveau, nvidia_drm, nvidia