The Mesa 3D Graphics Library

VMware guest GL driver

This page describes how to build, install and use the VMware guest GL driver (aka the SVGA or SVGA3D driver) for Linux using the latest source code. This driver gives a Linux virtual machine access to the host's GPU for hardware-accelerated 3D. VMware Workstation running on Linux or Windows and VMware Fusion running on MacOS are all supported.

With the August 2015 Workstation 12 / Fusion 8 releases, OpenGL 3.3 is supported in the guest. This requires:

Otherwise, OpenGL 2.1 is supported.

OpenGL 3.3 support can be disabled by setting the environment variable SVGA_VGPU10=0. You will then have OpenGL 2.1 support. This may be useful to work around application bugs (such as incorrect use of the OpenGL 3.x core profile).

Most modern Linux distros include the SVGA3D driver so end users shouldn't be concerned with this information. But if your distro lacks the driver or you want to update to the latest code these instructions explain what to do.

For more information about the X components see these wiki pages at x.org:

Components

The components involved in this include:

All of these components reside in the guest Linux virtual machine. On the host, all you're doing is running VMware Workstation or Fusion.

Prerequisites

Depending on your Linux distro, other packages may be needed. The configure scripts should tell you what's missing.

Getting the Latest Source Code

Begin by saving your current directory location:
  export TOP=$PWD
  

Building the Code

Now try to load the kernel module by issuing
  sudo modprobe vmwgfx
Then type
  dmesg
to watch the debug output. It should contain a number of lines prefixed with "[vmwgfx]".

Then restart the Xserver (or reboot). The lines starting with "vmwlegacy" or "VMWARE" in the file /var/log/Xorg.0.log should now have been replaced with lines starting with "vmwgfx", indicating that the new Xorg driver is in use.

Running OpenGL Programs

In a shell, run 'glxinfo' and look for the following to verify that the driver is working:

OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on SVGA3D; build: RELEASE;
OpenGL version string: 2.1 Mesa 8.0

If you don't see this, try setting this environment variable:

  export LIBGL_DEBUG=verbose

then rerun glxinfo and examine the output for error messages.

If OpenGL 3.3 is not working (you only get OpenGL 2.1):