<!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="https://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="https://wiki.x.org/wiki/vmware">
Driver Overview</a>
<li><a href="https://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="https://www.vmware.com/products/workstation/">Workstation</a> or
<a href="https://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>
