Saturday, September 7, 2013

How to have debian 7.1 working with 3d acceleration in vmware 6.0 player

Introduction

Hi all,
this post explains how to have debian 7.1 working with vmware player with a full 3D video acceleration (= no fallback mode).
I'm not about to explain here how to install debian 7.1 in vmware (maybe I'll write another post), so let's start with:

  • debian installed in vmware
  • vmware tools not installed yet

In this situation debian goes to fallback mode even if the 3D video acceleration has been enabled in vmware player: the exciting gnome 3 experience is not joined ... :(

gnome 3 in fallback mode


This happens because the video driver vmwgfx in debian 7.1 and used by vmware has not been compiled with 3D acceleration enabled (see /var/log/Xorg.0.log file).
So I'm going to show the following things:

  1. install vmware tools
  2. compile and install vmwgfx driver with 3D acceleration enabled

Install vmware tools

Here following are the instructions how to install vmware tools in debian that mainly allow:

  1. text and files copy/paste from the host machine and debian and viceversa: it's also possible to copy a file from the host machine to the debian guest simply dragging it!!
  2. to have shared folders between the host machine and the debian guest (so common files are kept in one single place ...)
 So, here the command sequence:
  • become root user with the shell command su (followed by the root password)
  • install the compiler and the linux headers with the command apt-get install binutils gcc make linux-headers-$(uname -r)
  • on the vmware player: Player --> Manage --> Install VMware Tools: in debian the /dev/cdrom0 will be mounted automatically
  • copy and unzip the VMwareTools-9.6.0-1294478.tar.gz file to /root with the following commands:

         cp /media/cdrom0/VMwareTools-9.6.0-1294478.tar.gz /root
         cd /root
         gzip -d VMwareTools-9.6.0-1294478.tar.gz
         tar -xvf VMwareTools-9.6.0-1294478.tar
  • we'll have vmware-tools-distrib directory under /root: launch ./vmware-install.pl and respond with the default answers (showed between [])
  • at the end vmware tools are installed: reboot your virtual machine with the reboot command

 

Compile and install vmwgfx driver with 3D acceleration enabled

After restarted, the debian virtual machine of course goes again in fallback mode: to avoid this we need to compile and install drm, mesa and xf86-video-vmware video drivers, with the 3D acceleration enabled.
The following procedure has been taken here and modified with the comments in the same link.

  • become root user with the shell command su (followed by the root password)
  • install the following packages with the commands (it takes a little while, please wait ...):

        apt-get install autoconf libtool xutils-dev xorg-dev flex bison  libx11-xcb-dev libxcb-glx0-dev g++ git

        apt-get install libxcb-dri2-0-dev libxcb-xfixes0 libxcb-xfixes0-dev llvm libxml2 libxml2-dev python-libxml2 build-essential

        apt-get build-dep mesa


  • compile and install drm, mesa and xf86-video-vmware video drivers, with the 3D acceleration enabled. To do this, first create a directory (I used vmware-3d) under /root:
        mkdir vmware-3d
         cd vmware-3d


         Then get the drm, mesa and xf86-video-vmware video drivers source code by git (this takes a little longer than before ...please be patient):

        git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-vmware
        git clone git://anongit.freedesktop.org/mesa/mesa
        git clone git://anongit.freedesktop.org/git/mesa/drm


          So we'll have the drm, mesa and xf86-video-vmware directories under vmware-3d to compile the new drivers:

  • building and installing drm:
         cd drm
         ./autogen.sh
         ./configure --enable-vmwgfx-experimental-api
        make
        make install
        cd ..


  •  building and installing mesa:
         cd mesa
         ./autogen.sh
         ./configure --prefix=/usr --enable-xa --with-gallium-drivers=svga --with-dri-drivers= --disable-egl --disable-glu --disable-glw
         make
         make install
         cd ..


  • building and installing xf86-video-vmware:
        cd xf86-video-vmware
        ./autogen.sh
        ./configure --prefix=/usr
        make
        make install


That's all folks, reboot the debian machine and enjoy the new gnome 3 experience ...:

debian 7.1 virtualized in vmware 6.0