<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>VMware guest GL driver</title>
  <link rel="stylesheet" type="text/css" href="mesa.css">
</head>
<body>

<div class="header">
  <h1>The Mesa 3D Graphics Library</h1>
</div>

<iframe src="contents.html"></iframe>
<div class="content">

<h1>VMware guest GL driver</h1>

<p>
This page describes how to build, install and use the
<a href="http://www.vmware.com/">VMware</a> 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.
</p>

<p>
With the August 2015 Workstation 12 / Fusion 8 releases, OpenGL 3.3
is supported in the guest.
This requires:
<ul>
<li>The VM is configured for virtual hardware version 12.
<li>The host OS, GPU and graphics driver supports DX11 (Windows) or
    OpenGL 4.0 (Linux, Mac)
<li>On Linux, the vmwgfx kernel module must be version 2.9.0 or later.
<li>A recent version of Mesa with the updated svga gallium driver.
</ul>
</p>

<p>
Otherwise, OpenGL 2.1 is supported.
</p>

<p>
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).
</p>

<p>
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.
</p>

<p>
For more information about the X components see these wiki pages at x.org:
</p>
<ul>
<li><a href="http://wiki.x.org/wiki/vmware">
Driver Overview</a>
<li><a href="http://wiki.x.org/wiki/vmware/vmware3D">
xf86-video-vmware Details</a>
</ul>


<h2>Components</h2>

The components involved in this include:
<ul>
<li>Linux kernel module: vmwgfx
<li>X server 2D driver: xf86-video-vmware
<li>User-space libdrm library
<li>Mesa/gallium OpenGL driver: "svga"
</ul>

<p>
All of these components reside in the guest Linux virtual machine.
On the host, all you're doing is running VMware
<a href="http://www.vmware.com/products/workstation/">Workstation</a> or
<a href="http://www.vmware.com/products/fusion/">Fusion</a>.
</p>


<h2>Prerequisites</h2>

<ul>
<li>Kernel version at least 2.6.25 
<li>Xserver version at least 1.7 
<li>Ubuntu: For ubuntu you need to install a number of build dependencies. 
  <pre>
  sudo apt-get install git-core
  sudo apt-get install automake libtool libpthread-stubs0-dev
  sudo apt-get install xserver-xorg-dev x11proto-xinerama-dev libx11-xcb-dev
  sudo apt-get install libxcb-glx0-dev libxrender-dev
  sudo apt-get build-dep libgl1-mesa-dri libxcb-glx0-dev
  </pre>
<li>Fedora: For Fedora you also need to install a number of build dependencies. 
  <pre>
  sudo yum install mesa-libGL-devel xorg-x11-server-devel xorg-x11-util-macros
  sudo yum install libXrender-devel.i686
  sudo yum install automake gcc libtool expat-devel kernel-devel git-core
  sudo yum install makedepend flex bison
  </pre>
</ul>

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



<h2>Getting the Latest Source Code</h2>

Begin by saving your current directory location:
  <pre>
  export TOP=$PWD
  </pre>

<ul>
<li>Mesa/Gallium master branch. This code is used to build libGL, and the direct rendering svga driver for libGL, vmwgfx_dri.so, and the X acceleration library libxatracker.so.x.x.x. 
  <pre>
  git clone git://anongit.freedesktop.org/git/mesa/mesa
  </pre>
<li>VMware Linux guest kernel module. Note that this repo contains the complete DRM and TTM code. The vmware-specific driver is really only the files prefixed with vmwgfx. 
  <pre>
  git clone git://anongit.freedesktop.org/git/mesa/vmwgfx
  </pre>
<li>libdrm, a user-space library that interfaces with drm.
Most distros ship with this but it's safest to install a newer version.
To get the latest code from git:
  <pre>
  git clone git://anongit.freedesktop.org/git/mesa/drm
  </pre>
<li>xf86-video-vmware. The chainloading driver, vmware_drv.so, the legacy driver vmwlegacy_drv.so, and the vmwgfx driver vmwgfx_drv.so. 
  <pre>
  git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-vmware
  </pre>
</ul>


<h2>Building the Code</h2>

<ul>
<li>
Determine where the GL-related libraries reside on your system and set
the LIBDIR environment variable accordingly.
<br><br>
For 32-bit Ubuntu systems:
<pre>
  export LIBDIR=/usr/lib/i386-linux-gnu
</pre>
For 64-bit Ubuntu systems:
<pre>
  export LIBDIR=/usr/lib/x86_64-linux-gnu
</pre>
For 32-bit Fedora systems:
<pre>
  export LIBDIR=/usr/lib
</pre>
For 64-bit Fedora systems:
<pre>
  export LIBDIR=/usr/lib64
</pre>

</li>

<li>Build libdrm:
  <pre>
  cd $TOP/drm
  ./autogen.sh --prefix=/usr --libdir=${LIBDIR}
  make
  sudo make install
  </pre>
<li>Build Mesa and the vmwgfx_dri.so driver, the vmwgfx_drv.so xorg driver, the X acceleration library libxatracker.
The vmwgfx_dri.so is used by the OpenGL libraries during direct rendering,
and by the Xorg server during accelerated indirect GL rendering.
The libxatracker library is used exclusively by the X server to do render,
copy and video acceleration:
<br>
The following configure options doesn't build the EGL system.
  <pre>
  cd $TOP/mesa
  ./autogen.sh --prefix=/usr --libdir=${LIBDIR} --with-gallium-drivers=svga --with-dri-drivers=swrast --enable-xa --disable-dri3 --enable-glx-tls
  make
  sudo make install
  </pre>

Note that you may have to install other packages that Mesa depends upon
if they're not installed in your system.  You should be told what's missing.
<br>
<br>

<li>xf86-video-vmware: Now, once libxatracker is installed, we proceed with
building and replacing the current Xorg driver.
First check if your system is 32- or 64-bit.
  <pre>
  cd $TOP/xf86-video-vmware
  ./autogen.sh --prefix=/usr --libdir=${LIBDIR}
  make
  sudo make install
  </pre>

<li>vmwgfx kernel module. First make sure that any old version of this kernel module is removed from the system by issuing
<pre>
  sudo rm /lib/modules/`uname -r`/kernel/drivers/gpu/drm/vmwgfx.ko*
</pre>
Build and install:
<pre>
  cd $TOP/vmwgfx
  make
  sudo make install
  sudo depmod -a
</pre>
If you're using a Ubuntu OS:
<pre>
  sudo update-initramfs -u
</pre>
If you're using a Fedora OS:
<pre>
  sudo dracut --force
</pre>
Add 'vmwgfx' to the /etc/modules file:
<pre>
  echo vmwgfx | sudo tee -a /etc/modules
</pre>

Note: some distros put DRM kernel drivers in different directories.
For example, sometimes vmwgfx.ko might be found in
<code>/lib/modules/{version}/extra/vmwgfx.ko</code> or in
<code>/lib/modules/{version}/kernel/drivers/gpu/drm/vmwgfx/vmwgfx.ko</code>.
<p>
After installing vmwgfx.ko you might want to run the following command to
check that the new kernel module is in the expected place:
<pre>
  find /lib/modules -name vmwgfx.ko -exec ls -l '{}' \;
</pre>
If you see the kernel module listed in more than one place, you may need to
move things around.
<p>
Finally, if you update your kernel you'll probably have to rebuild and
reinstall the vmwgfx.ko module again.
</ul>


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

<p>
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. 
</p>


<h2>Running OpenGL Programs</h2>

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

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

<p>
If you don't see this, try setting this environment variable:
  <pre>
  export LIBGL_DEBUG=verbose</pre>
<p>
then rerun glxinfo and examine the output for error messages.
</p>

<p>
If OpenGL 3.3 is not working (you only get OpenGL 2.1):
</p>
<ul>
<li>Make sure the VM uses hardware version 12.
<li>Make sure the vmwgfx kernel module is version 2.9.0 or later.
<li>Check the vmware.log file for errors.
<li>Run 'dmesg | grep vmwgfx' and look for "DX: yes".


</div>
</body>
</html>
