<p>
This page describes how to build, install and use the
-<a href="http://www.vmware.com/">VMware</a> guest GL driver
+<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.
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.
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">
+<li><a href="https://wiki.x.org/wiki/vmware">
Driver Overview</a>
-<li><a href="http://wiki.x.org/wiki/vmware/vmware3D">
+<li><a href="https://wiki.x.org/wiki/vmware/vmware3D">
xf86-video-vmware Details</a>
</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>.
+<a href="https://www.vmware.com/products/workstation/">Workstation</a> or
+<a href="https://www.vmware.com/products/fusion/">Fusion</a>.
</p>
<h2>Building the Code</h2>
<ul>
-<li>Build libdrm: If you're on a 32-bit system, you should skip the --libdir configure option. Note also the comment about toolchain libdrm above.
+<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=/usr/lib64
+ ./autogen.sh --prefix=/usr --libdir=${LIBDIR}
make
sudo make install
</pre>
copy and video acceleration:
<br>
The following configure options doesn't build the EGL system.
-<br>
-As before, if you're on a 32-bit system, you should skip the --libdir
-configure option.
<pre>
cd $TOP/mesa
- ./autogen.sh --prefix=/usr --libdir=/usr/lib64 --with-gallium-drivers=svga --with-dri-drivers= --enable-xa --disable-dri3
+ ./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>
<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. If you're building for a 32-bit system, you will not be needing the --libdir=/usr/lib64 option to autogen.
+<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=/usr/lib64
+ ./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>
+<pre>
sudo rm /lib/modules/`uname -r`/kernel/drivers/gpu/drm/vmwgfx.ko*
- </pre>
-Then
- <pre>
+</pre>
+Build and install:
+<pre>
cd $TOP/vmwgfx
make
sudo make install
- sudo cp 00-vmwgfx.rules /etc/udev/rules.d
- sudo depmod -ae
- </pre>
+ 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