Start Linux Leave Linux a while Back to Linux
分类: LINUX
2017-01-18 16:57:15
VMware 客户机 GL 驱动
本文将介绍如何从最新的源码编译,安装及使用 VMware Linux客户机的 GL 驱动(也叫做 SVGA或者 SVGA3D 驱动)。此驱动让 Linux 客户虚拟机拥有能访问主机 GPU 以获得 3D 硬件加速的能力。Linux 或者 Windows 平台上的VMware Workstation 以及 MacOS 平台上的 VMware Fusion均可支持。
随着 2015年8月 Workstation 12 以及 Fusion 8 的发布,OpenGL 3.3 已经能够在客户机得到支持。这需要:
不然,会默认OpenGL 2.1
对 OpenGL 3.3 的支持可以通过设置环境变量 SVGA_VGPU10=0 来关闭。之后,你就能恢复默认的 OpenGL 2.1。这会在调试应用程序 bug 时有用。
多数当前的 Linux 发行版都包含了 SVGA3D 驱动,所以终端用户不必太关心这些。但是如果你的发行版限制了驱动功能或者你希望更新到最新的版本,这个教程将告诉你要做哪些。
更多有关 X 组件的资讯,请访问x.org 的维基页面:
组件
此升级包括的组件有:
所有以上组件都是放到 Linux 客户虚拟机里。在主机上,你只需要保持 VMware Workstation 或者Fusion 运行就行了。
前期准备
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
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
根据你Linux 发行版的不同,别的一些软件包也会用到。configure配置脚本会告诉你还需要哪些。
获取最新源码
首先保存你的当前路径:
export TOP=$PWD
git clone git://anongit.freedesktop.org/git/mesa/mesa
git clone git://anongit.freedesktop.org/git/mesa/vmwgfx
git clone git://anongit.freedesktop.org/git/mesa/drm
git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-vmware
编译代码
32 位 Ubuntu 系统:
export LIBDIR=/usr/lib/i386-linux-gnu
64 位 Ubuntu 系统:
export LIBDIR=/usr/lib/x86_64-linux-gnu
32 位 Fedora 系统:
export LIBDIR=/usr/lib
64 位 Fedora 系统:
export LIBDIR=/usr/lib64
cd $TOP/drm
./autogen.sh --prefix=/usr --libdir=${LIBDIR}
提示如下错误:
configure.ac:36: error: must install xorg-macros 1.10 or later before running autoconf/autogen
# apt install xutils-dev
重新运行:
./autogen.sh --prefix=/usr --libdir=${LIBDIR}
make
sudo make install
编译 Mesa 和 vmwgfx_dri.so 驱动,xorg vmwgfx_drv.so 驱动,X 加速库 libxatracker。驱动vmwgfx_dri.so 在OpenGL 直接渲染和 Xorg server 的加速间接GL 渲染时调用。库libxatracker由 X server 在渲染,复制及视频加速时独立调用。以下的配置选项没有编译 EGL 系统。
cd $TOP/mesa
./autogen.sh --prefix=/usr --libdir=${LIBDIR} --with-gallium-drivers=svga --with-dri-drivers=swrast --enable-xa --disable-dri3 --enable-glx-tls
提示:
configure: error: bison not found - unable to compile glcpp-parse.y
apt-get install bison
apt-get install flex
apt install python-pip
pip install Mako
apt install llvm
make
sudo make install
在这个过程中,你可能需要安装其他 Mesa 依赖的包,如果你的系统中不曾安装有,配置脚本会告知你还需要哪些。
cd $TOP/xf86-video-vmware
./autogen.sh --prefix=/usr --libdir=${LIBDIR}
make
sudo make install