* vmci: virtual machine communication interface, high performance interface between virtual machines on the same host and between virtual machines and the host itself.

* vmci: virtual machine communication interface, high performance interface between virtual machines on the same host and between virtual machines and the host itself.

−

* vsocket: part of vmci.

+

* vsock: part of vmci.

* vmxnet: driver for the old vmxnet netwerk-adapter.

* vmxnet: driver for the old vmxnet netwerk-adapter.

Line 44:

Line 44:

==Installing Open-VM-Tools==

==Installing Open-VM-Tools==

−

Install the {{Pkg|open-vm-tools}} package in the <nowiki>[</nowiki>[[community]]<nowiki>]</nowiki> repository.

+

Install the {{Pkg|open-vm-tools}} and the {{Pkg|open-vm-tools-modules}} package in the <nowiki>[</nowiki>[[community]]<nowiki>]</nowiki> repository.

+

+

# pacman -S open-vm-tools open-vm-tools-modules

Start the service and enable it at boot:

Start the service and enable it at boot:

Line 53:

Line 55:

The open-vm-tools reads the file /etc/arch-release which is empty:

The open-vm-tools reads the file /etc/arch-release which is empty:

−

cat /proc/version > /etc/arch-release

+

# cat /proc/version > /etc/arch-release

+

+

==Installing the official VMware Tools==

+

+

Install the ifconfig(1) program for the installer to work properly:

+

+

# pacman -S net-tools

+

+

Install Linux kernel headers for the installer to work properly:

+

+

# pacman -S linux-headers

+

# cd /lib/modules/$(uname -r)/build/include/linux

+

# ln -sv ../generated/uapi/linux/version.h

+

+

Create bogus init directories for the installer to work properly:

+

+

# for x in `seq 0 6`; do mkdir -pv /etc/init.d/rc$x.d; done

+

+

Mount the VMware Tools virtual CDROM when offered:

+

+

# mount /dev/cdrom /mnt

+

+

Extract the tarball:

+

+

# cd /root

+

# tar zxf /mnt/VMwareTools*.tar.gz

+

# cd vmware-tools-distrib

+

+

Make sure you have the development tools installed to build the kernel modules

+

+

# pacman -S base-devel

+

+

Run the installer and use the default answers for all questions:

+

+

# ./vmware-install.pl

+

+

You can safely ignore the following build failures:

+

+

* VMNEXT 3 virtual network card

+

* "Warning: This script could not find mkinitrd or updatte-initramfs and cannot remake the initrd file!"

+

+

Reboot your computer:

+

+

# systemctl reboot

+

+

Log in and start the VMware Tools:

+

+

# /etc/init.d/rc6.d/K99vmware-tools start

==Time synchronization==

==Time synchronization==

Line 95:

Line 144:

Afterwards, a reboot is required.

Afterwards, a reboot is required.

−

For guest screen autofit to work correctly, vmware-user-suid-wrapper must be started after X starts. To do so, create the following file:

+

If you're booting into a graphical target you're almost done. {{ic|/etc/xdg/autostart/vmware-user.desktop}} will get started which will setup most of the things needed to work with the virtual machine.

−

{{Note|The open-vm-tools 1:9.2.0-2 package creates this file. Maybe this step can be removed from this wiki?}}

+

If you're booting into ''multi-user.target'' then you need to enable the ''vmtoolsd.service'':

−

{{hc|/etc/xdg/autostart/vmware-user.desktop|

+

# systemctl enable vmtoolsd.service

−

[Desktop Entry]

+

−

Type&#61;Application

+

−

Name&#61;VMWare User Agent

+

−

Exec&#61;/usr/bin/vmware-user-suid-wrapper

+

−

Icon&#61;system-run}}

+

−

Restart X and the guest will resize automatically to the host window after login.

For shared folders to be working you need to have loaded the ''vmhgfs'' driver.

+

Simply create the following systemd files:

+

{{Hc|head=/etc/systemd/system/mnt-hgfs.mount|output=

+

[Unit]

+

Description=Load VMware shared folders

+

ConditionPathExists=.host:/

+

ConditionVirtualization=vmware

+

+

[Mount]

+

What=.host:/

+

Where=/mnt/hgfs

+

Type=vmhgfs

+

Options=defaults,noatime

+

+

[Install]

+

WantedBy=multi-user.target

+

}}

+

+

{{Hc|head=/etc/systemd/system/mnt-hgfs.automount|output=

+

[Unit]

+

Description=Load VMware shared folders

+

ConditionPathExists=.host:/

+

ConditionVirtualization=vmware

+

+

[Automount]

+

Where=/mnt/hgfs

+

+

[Install]

+

WantedBy=multi-user.target

+

}}

+

+

Make sure that the folder ''/mnt/hgfs'' exists:

+

# mkdir -p /mnt/hgfs

+

Enable the mount target with:

+

# systemctl enable mnt-hgfs.automount

+

=== Prune mlocate DB ===

=== Prune mlocate DB ===

When using mlocate, it's useless to index the shared directories in the {{ic|locate DB}}. Therefore, add the directories to {{ic|PRUNEPATHS}} in {{ic|/etc/updatedb}}.

When using mlocate, it's useless to index the shared directories in the {{ic|locate DB}}. Therefore, add the directories to {{ic|PRUNEPATHS}} in {{ic|/etc/updatedb}}.

+

+

== Trouble shooting ==

+

=== Mouse not working as expected ===

+

If you have the problem that mouse clicks are not registered in some programs you can try the following: edit ''/etc/X11/xorg.conf.d/10-evdev.conf'' and comment out the section with the identifier ''evdev pointer catchall'' [[http://www.spinics.net/lists/xorg/msg53932.html xf86-input-vmmouse does not work expected]]

+

+

=== Network connection not working ===

+

Add the following line to your ''.vmx'' file:

+

ethernet0.virtualDev = "vmxnet3"

+

More informations about the network adpater types can be found on the following page: [http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=ex&bbid=TSEBB_1295982031224&url=&stateId=1%200%20381138238&dialogID=381134132&docTypeID=DT_KB_1_1&externalId=1001805&sliceId=2&rfId= Choosing a network adapter for your virtual machine]

VMware Tools versus Open-VM-Tools

VMware Tools for linux exists in 2 forms: the official VMware Tools and Open-VM-Tools. VMware Tools is based on a stable snapshot of Open-VM-Tools. Open-VM-Tools contains more experimental code and features.
The official VMware Tools are not available for Archlinux.

Originally, VMware Tools provided the best drivers for network and storage, combined with the functionality for other features such as time synchronization. However, for quite a while now the drivers for the network adapter en scsi adapter are part of the linux kernel, and VMware Tools is only needed for extra features and support for the "old" vmxnet adapter.

Open-VM-Tools modules

The open-vm-tools-modules package contains the following modules:

vmblock: kernel filesystem module, enables drag&drop functionality between the host system and the virtual machine in VMware Workstation/Fusion.

vmhgfs: kernel filesystem module, enables file/directory sharing between the host system and the virtual machine in VMware Workstation/Fusion.

Make sure you have the development tools installed to build the kernel modules

# pacman -S base-devel

Run the installer and use the default answers for all questions:

# ./vmware-install.pl

You can safely ignore the following build failures:

VMNEXT 3 virtual network card

"Warning: This script could not find mkinitrd or updatte-initramfs and cannot remake the initrd file!"

Reboot your computer:

# systemctl reboot

Log in and start the VMware Tools:

# /etc/init.d/rc6.d/K99vmware-tools start

Time synchronization

Configuring time synchronization in a virtual machine is important: fluctuations are bound to occur more easily in a virtual machine compared to a physical host. This is mostly due to the fact that the CPU is shared by more than one virtual machine.

There are 2 options to set up time synchronization: the host machine as source or an external server as source.

Host machine as time source

To use the host as a time source (for example in an ESX server), run the following command (one time is enough):

vmware-toolbox-cmd timesync enable

To synchronize your guest clock with the host after your host machine wakes up from sleeping (like a laptop computer):

sudo hwclock --hctosys --localtime

I run the above command every time I wake up my sleeping laptop and resume using Arch Linux inside the VMWare Player.

VMCI

The VMCI interface is enabled by default in VMware Workstation and Fusion. In VMware ESX the interface is restricted, which means that communication is only possible between ESX and the virtual machine, not between virtual machines themselves. This can be changed in the Virtual Machine settings, traffic between ESX and the Virtual Machine can not be disabled.

DRAG AND DROP

Drag and Drop from files, from VMware Workstation/Fusion into the Virtual Machines, can be disabled by editing /etc/conf.d/open-vm-tools:

VM_DRAG_AND_DROP="no"

COPY AND PASTE

Install the following package (it is required for copy/paste but not listed as a dependency as reported here)

pacman -S gtkmm

Run the following command after starting X (or add it to your ~/.xinitrc file) to automatically synchronize your X clipboard with the host's. This allows you to copy text from your virtual machine and paste it in the host, and vice versa.

vmware-user-suid-wrapper

If you get the following error (which, in rare cases, you might have to run `strace vmware-user-suid-wrapper` to see it!)

Shared Folders with the Host

Note: This functionality is only available in VMware Workstation and Fusion

Create a new Shared Folder by selecting VM -> Settings... in the VMware Workstation menu. Select the Options tab and then Shared Folder. Enable the Always enabled option and create a new share. For Windows XP, you can create a share named C with the Host Path C:\.

Add the following rule to /etc/fstab (adjust the uid/gid where needed) for each shared folder:

Prune mlocate DB

When using mlocate, it's useless to index the shared directories in the locate DB. Therefore, add the directories to PRUNEPATHS in /etc/updatedb.

Trouble shooting

Mouse not working as expected

If you have the problem that mouse clicks are not registered in some programs you can try the following: edit /etc/X11/xorg.conf.d/10-evdev.conf and comment out the section with the identifier evdev pointer catchall [xf86-input-vmmouse does not work expected]