Installing and Enabling VMCI
In Workstation 6.0, VMCI is not installed as part of the default installation.
Making VMCI available on a virtual machine requires:
Note: No action is required to make VMCI available on a host.
Editing the .vmx File
To enable VMCI on your virtual machine, add the following two lines to the virtual machine configuration file (.vmx file):
# The following line is REQUIRED.
vmci0.present = "TRUE"
# The following line is OPTIONAL.
vmci0.id = "num"
is a positive integer that is unique for each virtual machine on your host.
That is, for any virtual machine, you can choose a number (1, 2, 3, etc.) but
two virtual machines must not have the same number as their vmci0.id.
Performing a Custom Installation of VMware Tools
After you've edited the .vmx file, you can install the software as part of VMware Tools, as follows:
For a Windows virtual machine:
Choose "Custom Installation" and enable the VMCI driver from the list of VMware drivers to be installed
Proceed with installation.
You might have to reboot the virtual machine to use VMCI.
For a Linux virtual machine:
script with the
flag. That option turns on experimental features during installation, which enables VMCI.
The installer prompts you whether you want to install the VMCI device. If you answer "yes", the VMCI driver is installed on your Linux virtual machine and the
device node is created.
When you install Workstation 6.0 (on your host machine) or VMware Tools (in your virtual machines), two sample applications are included:
sharedMemApp - The server creates a shared memory region, and writes the machine's current time in that shared memory every 1 second. The client attaches to the shared memory region and can read the server machine's time.
datagramApp - The server creates a datagram handle and waits for a datagram. The client sends a datagram to the server, and the server sends a datagram back in a ping-pong fashion.
The sample applications' source code files are colocated with the README files
- When you install the software, a README file is included for both the host and the virtual machine on both Windows and Linux:
||C:\Program Files\VMware\VMware Workstation\VMCI\Sample Applications\README
||C:\Program Files\VMware\VMware Tools\VMCI\Sample Applications\README
From the user's point of view, the API consists of two main parts, the shared memory API and the datagram API. The access control API and the discovery service API are meant to be used in conjunction with the shared memory API or the datagram API.
The shared memory API allows two or more virtual machines to share memory or a host and a virtual machine to share memory. See Shared Memory API for more information.
The datagram API allows different processes in different contexts to send datagrams to each other. To communicate, two contexts each create a datagram handle. To send to another datagram handle, the sender needs to know the recipients datagram handle. The sender can look up the handle with the Discovery Service using the name under which the datagram handle has been published. See Datagram API for more information.
The discovery service API is a convenience API for registering handles under a given name and for finding a handle registered for a given name.
The access control API allows one to control what resources (shared memory or datagram handles) a virtual machine can access.
Copyright (C) 2007 VMware, Inc. All rights reserved.