Parallels Desktop

From ArchWiki
(Redirected from Parallels)

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements. See Help:Style for reference.Tango-edit-clear.png

Reason: Instructions do not comply to Help:Style. (Discuss in Talk:Parallels Desktop)

Parallels Desktop is a hypervisor for macOS which allows users to install a variety of operating systems as "virtual machines" (guests) on the host system, reducing the need for managing multiple physical machines. A more complete description on virtualization can be found at Wikipedia.

Installation of Arch as a guest

Parallels Desktop supports Linux guests out of the box, but only offers support for a few Linux distributions - excluding Arch Linux. This means the installation of Parallels tools have not been tested by the vendor, and requires some manual intervention to work under Arch. If you do not wish to use Parallels tools, installation is as simple as choosing "other linux" when creating a new virtual machine and proceeding as you would on any real machine.

In addition to the instructions below, there is an installation guide for Arch Linux in Parallels Knowledgebase [1].

For Parallels Desktop on a Mac M1 and higher you can use the archboot aarch64 images.

Parallels tools


To improve interoperability between the host and the guest operating systems, Parallels provides a package called "Parallels tools" which contains kernel modules and userspace utilities. See Parallels Tools Overview for a list of its features.

This article assumes users want to make full use of the tools, including Xorg configuration. If you are running a headless server, you can skip over the sections relating to X.

When referring to the version of parallel tools the form is <Parallels.Version>.<Tools Version>. For example: 9.0.24237.1028877 corresponds to Parallels version 9.0.24237 with tools version 1028877

Parallels tools work fine with out of the box with linux 5.15.13 and Parallels version 17.1.1 with tools version 51537

Required kernel & Xorg versions

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: 3.14.15 is not the current linux-lts version. (Discuss in Talk:Parallels Desktop)

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: Do not recommend partial upgrades (Discuss in Talk:Parallels Desktop)

The tools installer uses binaries which can sometimes be incompatible with the latest version of Xorg or kernels in the Arch repository.

Different versions have different software requirements:

  • 9.0.24229.991745 needs 3.13.8 (or possibly a later 3.13.y) (3.14 is known to show a black screen and freeze the system) and Xorg 1.15.y or earlier
  • 9.0.24237.1028877 works on Arch 3.14.15-1-lts (newer versions may work) and Xorg 1.15.y or earlier
  • works on Arch 4.1.6-1 and Xorg 1.17.2-4
  • works on Arch 4.8.7-1 and Xorg 1.18.4, after removing the PATH statement in the install script (cdrom//Parallels Tools//install), and adding "iomem=relaxed" to kernel boot parameters.
  • works on Arch 5.1.16-1 and Xorg 1.20.5 when following this guide
  • works on Arch 5.3.1-1 and Xorg 1.20.5 (Parallels 15)

And there are different ways to obtain them:

  • linux 3.13.8 can be obtained from the Arch Linux Archive
  • linux 3.14.15 is the current linux-lts, so just install that and regenerate your grub config.

See also Downgrading packages#Downgrading the kernel.

Configuring Xorg

The Parallels tools installer will take care of configuring Xorg, so just follow the instructions at Xorg to install the relevant packages on your system. Install the xf86-video-vesa package to use the vesa driver.

Preparing dependencies

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: Some of this is ultra hacky (Discuss in Talk:Parallels Desktop)

The installation script expects to find your init-scripts in /etc/init.d/ and will fail if it is not present. Since Arch uses systemd, create a symlink to the systemd scripts directory and set the def_sysconfdir variable:

# ln -sf /usr/lib/systemd/scripts/ /etc/init.d
# export def_sysconfdir=/etc/init.d

The installation script also expects the file /etc/X11/xorg.conf. We can just create an empty file, as it will automatically be configured by the installer:

# touch /etc/X11/xorg.conf

Then, you need to install standard build utilities, python2, and kernel headers: {{Pkg|base-devel python2 linux-headers

depends on your Parallels version, you may have to install linux-lts-headers instead of linux-headers.

Finally, create a temporary symbolic link to python 2. Remove this link after the installation process.

# ln -sf /usr/bin/python2 /usr/local/bin/python

Installing Parallels tools

Choose "install Parallels Tools" from the "Virtual Machine" menu. Parallels Tools are located on a cd-image, which will be connected to your virtual machine. You have to mount it first:

# mount /dev/cdrom /mnt/cdrom

Now you can proceed to install Parallels tools using the installation script as follows:

# cd /mnt/cdrom
# ./install

Parallels tools with kernel v5.9+

Parallels tools currently requires to be patched to work with kernel v5.9 or newer. In case the installation step above failed, try and follow the instructions here:

systemd unit

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: Why reboot when you could just start the service? (Discuss in Talk:Parallels Desktop)

The Parallels tools daemon should be started at boot, so create a service file like the following:

Description=Parallels Tools
ExecStart=/usr/lib/systemd/scripts/prltoolsd start
ExecStop=/usr/lib/systemd/scripts/prltoolsd stop

Enable the parallels-tools.service unit. Reboot the system and Parallels tools should now be installed and working.

Using the tools

Sharing folders

You can specify which folders on your hosts system you would like to share with your guests under "virtual machine > configuration > sharing". Then you mount a shared folder like this:

# mount -t prl_fs name_of_share /mnt/name_of_share

Dynamic Display Resolution

A very helpful tool is prlcc. It changes the resolution of the display (in the guest - not the host) automatically when your resize your window. If this tool is not running, the contents of the window gets stretched or shrunken. prlcc is usually started automatically and runs in the background. If not, run the following (or place it in a configuration file like /etc/X11/xinit/xinitrc.d/90-prlcc):

$ prlcc &

Synchronize clipboard

The tool prlcp can be run to synchronize the clipboard between guest and host. Like the previous tool, if it is not executed automatically, it is recommended to start it in a configuration file like .xinitrc:

$ prlcp &

Future work

In general, updating system packages like the linux kernel or Xorg can break Parallels tools and you will need to re-install them. In some cases, new packages will be incompatible with the tools and they will stop working - in that case you will need to roll back the newly installed packages and wait until Parallels releases a new product build before updating your guest (in the hope they have resolved any previous incompatibilities).

See also