<!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>
With the Fall 2018 Workstation 15 / Fusion 11 releases, additional
features are supported in the driver:
<ul>
<li>Multisample antialiasing (2x, 4x)
<li>GL_ARB/AMD_draw_buffers_blend
<li>GL_ARB_sample_shading
<li>GL_ARB_texture_cube_map_array
<li>GL_ARB_texture_gather
<li>GL_ARB_texture_query_lod
<li>GL_EXT/OES_draw_buffers_indexed
</ul>
<p>
This requires version 2.15.0 or later of the vmwgfx kernel module and
the VM must be configured for hardware version 16 or later.
</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 https://gitlab.freedesktop.org/mesa/mesa.git
  </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 https://gitlab.freedesktop.org/mesa/drm.git
  </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>
