anv/util: Split a vk_errorv helper out of vk_errorf
[mesa.git] / docs / vmware-guest.html
index 284c6c261d21d32ae8392728960e6b5355e85103..4e0932e781f3e0fc6b9d222367e285be10ddfc14 100644 (file)
@@ -18,7 +18,7 @@
 
 <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.
@@ -43,6 +43,23 @@ This requires:
 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.
@@ -62,9 +79,9 @@ these instructions explain what to do.
 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>
 
@@ -82,8 +99,8 @@ The components involved in this include:
 <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>
 
 
@@ -126,7 +143,7 @@ Begin by saving your current directory location:
 <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
+  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>
@@ -136,7 +153,7 @@ Begin by saving your current directory location:
 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
+  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>
@@ -148,10 +165,33 @@ To get the latest code from git:
 <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>
@@ -162,12 +202,9 @@ 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.
-<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>
@@ -177,25 +214,39 @@ 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. 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