summaryrefslogtreecommitdiff
path: root/docs/vmware-guest.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/vmware-guest.html')
-rw-r--r--docs/vmware-guest.html321
1 files changed, 0 insertions, 321 deletions
diff --git a/docs/vmware-guest.html b/docs/vmware-guest.html
deleted file mode 100644
index 378b9c5797c..00000000000
--- a/docs/vmware-guest.html
+++ /dev/null
@@ -1,321 +0,0 @@
-<!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 SVGA3D Guest Driver</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-<h1>VMware SVGA3D Guest 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:
-</p>
-<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>
-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 ninja-build meson 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 ninja-build meson gcc 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.
-Meson 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>
-<p>
-Determine where the GL-related libraries reside on your system and set
-the LIBDIR environment variable accordingly.
-</p>
-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
-meson builddir --prefix=/usr --libdir=${LIBDIR}
-ninja -C builddir
-sudo ninja -C builddir install
- </pre>
-<li>
-<p>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:
-</p>
-
-The following configure options doesn't build the EGL system.
- <pre>
-cd $TOP/mesa
-meson builddir --prefix=/usr --libdir=${LIBDIR} -Dgallium-drivers=svga -Ddri-drivers=swrast -Dgallium-xa=true -Ddri3=false
-ninja -C builddir
-sudo ninja -C builddir install
- </pre>
-
-<p>
-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.
-</p>
-
-<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".
-</ul>
-
-</div>
-</body>
-</html>