VMware Communities
t569
Contributor
Contributor

GPU Passthrough in VMware workstation 14.

I am running 3D application on my guest OS but its not using GPU of my Host machine in other words its using software rendering and not hardware rendering.

please let me how if i can use GPU of my Host machine into my guest machine (GPU Passthrough or GPU virtualization) ?

Hardware : HP840

Host OS: Win 10

VMware: VMware workstation 14

Guest OS: Win 7 / Win XP

Graphics card: Nvidia Quadro K2200

3D acceleration provided from VMware is on.

I have another question. When 3D acceleration is on , will VMWare act as intermideate between GPU and Guest machine? Will it use the GPU and the processed data is provided to Guest Machine or is it using CPU for rendering? How does 3D accelration actually work w.r.t GPU ?

Tags (1)
Reply
0 Kudos
3 Replies
bluefirestorm
Champion
Champion

GPU passthrough is currently not supported in Workstation Pro 14.

You can enable 3D acceleration in the VM display settings and Workstation Pro will use the first DX11 capable graphic card in the Windows 10 host to give DX10/OpenGL 3.3 core profile capability in the Windows 7 guest VM. For XP VM, it will be capped at DX9.

Make sure that the hardware compatibility is also set to 14 in case that the VMs were created prior to version 12. Version 12 supports the DX10 in Windows 7/8/10 guest OS.

I am assuming you meant HP Z840 which has a Xeon E5 v3/v4 which does not have integrated graphics. Having integrated graphics in the CPU sometimes causes Workstation to use the weaker Intel GPU instead of discrete Nvidia/AMD in case the Intel GPU is the default.

Reply
0 Kudos
t569
Contributor
Contributor

Hello bluefirestorm,

Thank you very much for your reply.

I have another question. When 3D acceleration is on , will VMWare act as intermideate between GPU and Guest machine? Will it use the GPU and the processed data is provided to Guest Machine or is it using CPU for rendering? How does 3D accelration actually work w.r.t GPU ?

Thanks in Advance

Reply
0 Kudos
bluefirestorm
Champion
Champion

When 3D acceleration is ON, assuming you didn't edit the VMX configuration file before and the hardware compatibility is at least set to 12, VMware Workstation will use DX11 as the render device.

You can see it in the vmware.log along these lines. I have set Nvidia as the default GPU in the Nvidia Control Panel. I don't think this feature is available in Nvidia desktop version. You can see the "Successfully created a device" follows after it finds the GTX960M. If the default was the Intel HD530, it would have come first in the Enumerating adapter 0 and create a device on HD530; which would mean slower graphics in the VM.

| mks| I125: MKS-RenderMain: RenderMain: PowerOn allowed DX11Renderer MKSBasicOps

| mks| I125: MKS-RenderMain: Collecting RenderOps caps from DX11Renderer

| mks| W115: DX11Renderer: Enumerating adapter 0

| mks| W115: DX11Renderer: `NVIDIA GeForce GTX 960M` vendor=0x10de device=0x139b revision=162

| mks| W115: DX11Renderer: video=4065MB system=0MB shared=8123MB

| mks| W115: DX11Renderer: Successfully created a device

| mks| W115: DX11Renderer: Enumerating adapter 1

| mks| W115: DX11Renderer: `Intel(R) HD Graphics 530` vendor=0x8086 device=0x191b revision=6

| mks| W115: DX11Renderer: video=128MB system=0MB shared=8123MB

| mks| W115: DX11Renderer: Enumerating adapter 2

You can also switch to using OpenGL 4.x instead of DX11 by editing the vmx configuration file with the following

mks.enableDX11Renderer = "FALSE"

mks.enableGLRenderer = "TRUE"

mks.enableD3DRenderer = "FALSE"

mks.enableGLBasicRenderer = "FALSE"

I have done this for one Windows 10 VM. It fixes a problem of Chrome tabs not being rendered properly inside the VM. Switching to use OpenGL instead of DX11, the vmware.log will show something like this instead.

| mks| I125: GLHostWin32: : Created context with GL 2.1, core: 0, robust: 0

| mks| I125: GLHostWin32: : Created context with GL 4.0, core: 0, robust: 1

| mks| I125: OpenGL Version: "4.6.0 NVIDIA 388.43" (4.6.0)

| mks| I125: GLSL Version: "4.60 NVIDIA" (4.60.0)

| mks| I125: OpenGL Vendor: "NVIDIA Corporation"

| mks| I125: OpenGL Renderer: "GeForce GTX 960M/PCIe/SSE2"

I am still on Workstation 12.5.7, but I think it should generally still be the same or at least very similar.

Reply
0 Kudos