[an error occurred while processing this directive] Using XFree86 4.x in a Linux Virtual Machine [an error occurred while processing this directive]
[an error occurred while processing this directive]
 

Using XFree86 4.x in a Linux Virtual Machine
This Page in Japanese

Early distributions of the XFree86 4.x X server do not work properly inside a virtual machine created by any VMware product because they do not include an SVGA driver for the VMware virtual video adapter.

Unless you install a driver created for the virtual video card, you can run a Linux virtual machine in VGA mode only.

Follow the instructions below to download and install a driver specifically designed for the VMware virtual video adapter.

Obtaining a Video Driver Module for VMware SVGA

The drivers in XFree86 4.x are separate modules that are loaded dynamically by the main X server binary. This means you can add a precompiled driver for VMware SVGA adapters to an existing installation, or you can build as much as you want from source. At the completion of either process, you should have a vmware_drv.o binary.

Go to the XFree86 4.0 SVGA driver download page to get either the precompiled object file or the source code patch. Then follow the appropriate instructions below.

In future versions of VMware products, this driver will be included in the VMware Tools package.

Installing the Precompiled Object File

  1. Log in to your guest operating system as root.
    su

  2. Download the precompiled module vmware_drv.o.

  3. Copy the module into place.
    cp vmware_drv.o /usr/X11R6/lib/modules/drivers/vmware_drv.o

  4. Modify the XF86Config. This is likely /etc/X11/XF86Config-4. You need to add a Device section that looks like this:

         Section "Device"
             Identifier  "VMware SVGA"
             Driver      "vmware"
             BusID      "PCI:0:15:0"
         EndSection
    You then need to make sure that your Screen sections specify

    Device "VMware SVGA"

  5. You are ready. Run X normally and you should have SVGA support.

Applying the Source Code Patch

We recommend that you use the precompiled object file described above. However, if you are working with the XFree86 source code downloaded directly from the XFree86 Project, and if you prefer to compile that source for yourself, you may use the source code patch and follow these guidelines.

  1. Download the patch, which is created for use with XFree86 4.0.2.
  2. Apply it to your copy of the source.
  3. Build everything.
    make World
  4. The module appears as exports/lib/modules/drivers/vmware_drv.o.
  5. Copy the module into place.
    cp vmware_drv.o /usr/X11R6/lib/modules/drivers/vmware_drv.o

Known Issues Using an XFree86 4.x X Server in a Guest Operating System

  1. You may receive an error message about the color depth that looks like one of the following:

    • Given depth (<x>) is not supported by this driver (<y> is required)
    • Currently unavailable depth of <x> requested. [...]

    The X server in the guest operating system must run at the same color depth as the host. The XFree86 4.x server gives precedence to the default set in its configuration file (in contrast to XFree86 3.x, which allows the driver to override the setting in the configuration file).

    To resolve the problem, edit your XF86Config file. (Check the documentation for your Linux distribution for the location. It can usually be found in /etc or /etc/X11.) Delete or comment out any DefaultDepth lines. The VMware SVGA driver automatically detects and uses a compatible color depth.

  2. The version of XFree86 shipped with Red Hat Linux 7.0 exits with a segmentation violation and core dump when run under VMware GSX Server and 2.0.x versions of VMware Workstation. This is a bug in XFree86 version 4.0.1a when it is run in the presence of an ISA video card. You can download updated X servers from the XFree86 Project. You should be able to download just the prebuilt X server and copy it to /usr/X11R6/bin/XFree86 to upgrade.

  3. As it starts, X prints (WW) VMWARE: No Matching Device Section for instance (BusID PCI:0:15:0) found. and then (EE) No devices detected. This happens because the VMware SVGA adapter is detected as a secondary display controller (secondary to a separate ISA VGA card). You need to be sure to include the BusID line in the Device section when you modify XF86Config. See sample section in Installing the Precompiled Object File above.



Contact Us   ::   Legal   ::   Privacy   ::   Site Index © 2005 VMware, Inc. All rights reserved.