Skip to content

Instantly share code, notes, and snippets.

@bradennapier
Last active January 12, 2024 05:52
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save bradennapier/b338703f2d4fe82ffbac4cefb10720fb to your computer and use it in GitHub Desktop.
Save bradennapier/b338703f2d4fe82ffbac4cefb10720fb to your computer and use it in GitHub Desktop.
Manjaro v20 w/ Parallels Tools

So getting Parallels to work with Manjaro v20 (and probably v19 since parallels only says they support v18) was a pain in the butt and it took a lot of resources from a lot of places to figure it all out. I figured I would post some information here on things that I ran into and how to fix each of them.

This is from a completely fresh installation from the v20 isos but steps may be applicable in places for upgrades if you run into similar issues.

I got this all working finally:


Manjaro Version: 20.0 Desktop Environment: KDE Linux Kernel: 5.5 Parallels Version: 15.1.4 (will provide tips on v14 as well)


Parallels OS Setup & Configuration

So there are a few settings you need to do, lets walk through the steps here:

  1. Select Install Windows or another OS from a DVD or image file

image|690x488, 50%

  1. It should automatically find any .iso files but you can browse if it doesn't.

image|689x265, 50%

  1. Be sure to tick the box that we want to modify settings before installation

image|690x488, 50%

Parallels OS Configuration

The following is a summary of the changes that I made, the necessary ones are marked as required:

  • REQUIRED Hardware > Graphics - 3D Acceleration must be turned off

image|561x499, 50%

  • REQUIRED Hardware > Mouse & Keyboard - must set both to Don't Optimize for Games or your mouse is not going to work well at all.

image|561x499, 50%

  • REQUIRED Hardware > Network - must use a bridged network not the shared network as this will not work during the setup process and you will not be able to complete future steps. You can use default or select a specific adapter to use.

image|576x500, 50%

  • Options > Sharing - Share all disks & share mac users folder with linux

  • Options > Fullscreen

image|690x346, 50%

Booting the OS (First Time/Live)

The first time you boot, if you were to boot normally the OS does not actually boot as desired. This is due to some issues with the video settings which cause sddm.service to fail loading. So initially the default KDE v20 ISO does not work from Manjaro's release page. It will run through and fail to launch the sddm.service asking you to run systemctl status sddm.service.

It may or may not show errors during startup. I have found that sometimes it says OK for everything even though the service did fail. Either way, you will notice it simply isn't booting into the KDE Desktop Environment.

image|618x500, 50%

In order to resolve this issue we will need to do a few custom steps here. First, we will need to get to the command line so we can fix the issue. In Parallels we need to use the keyboard shortcut from the menu in order to send the Ctrl + Alt + F2 shortcut. Once you do this it should bring up the login screen where you can use the manjaro/ manjaro user to login.

image|329x500, 50%

Now you should see the cli prompt [manjaro@manjaro ~]$.

Diagnosing the Problem (Optional, Technically)

We can confirm the problem area by running systemctland moving down until we see what failed. You should see the sddm.service failed.

image|618x500, 50%

We can then get more information by running systemctl status sddm.service. In our case it should say something like:

sddm.service: Failed with result 'core-dump'
Failed to start Simple Desktop Display Manager
sudo mhwd -i pci video-vesa && startx && systemctl restart sddm.service

Note: If this fails and can't seem to install the files you probably did not set your network to Bridged

image|618x500, 50%

Once that completes it should boot into the live environment to allow us to start the installation process. Things probably aren't going to work that great at the moment since Parallels Tools isn't installed yet, but you should be able to work your way throughthe Install Manjaro Linux simple enough.

  • If your mouse is insanely sensitive you probably did not follow the Don't Optimize for Games step during initial setup. You can fix it and restart the environment.
  • The video is going to be wonky. The desktop is clipped on the right due to Parallels Tools not being available yet. We will fix this post-installation.

image|630x500

Note: Once the installation process is complete, it will prompt you to restart the OS to boot into your actual OS. When rebooting, you will see a black empty screen, you will need to complete the steps above to boot the OS through the cli and fix sddm.service again. You will not need to do this again after this.

Once you have fixed the sddm.service on your newly installed OS, you should see the setup menu unless you turned auto login on.

Installing Parallels Tools

Note: The first thing I did was open a terminal and run sudo pacman -Syyu to update everything to the latest then reboot before continuing.

Now to fix all the little wonky bugs we will need to get Parallels Tools working with Manjaro. This can be fun and there seems to be lots of different variables to consider but I will give the steps I have used. Also check out the references section to find some helpful articles I found along the way.

Patching or Downgrading Required

Manjaro v20 uses Linux 5.6.8-1 by default. At the time of writing this, Parallels Tools only supports up to 5.5 when on v15 and even lower for v14 or earlier. We have a couple choices to make here before we can continue:


Mounting the Parallels Tools iso

Regardless of the solution we decide, we will need to mount the parallels tools iso file.

  1. Mount the parallels tools iso file. At the top right of the Parallels OS window you should see a yellow warning icon. When you click it you should see Install Parallels Tools.

    • Clicking this may give warnings about unmounting depending on the situation, just click unmount anyway

    • Now confirm that the iso is mounted in your Devices menu

      image|690x295, 50%

Tip: If you need to manually find this file so you can use Connect Image..., it is found in the parallels .app at path /Applications/Parallels\ Desktop.app/Contents/Resources/Tools/

  1. In the terminal, mount the iso file.
sudo mkdir /mnt/cdrom
sudo mount /dev/cdrom /mnt/cdrom
  1. Confirm the contents of /mnt/cdrom
ls /mnt/cdrom
[user@manjaro /]$ ls /mnt/cdrom
install  installer  install-gui  kmods  tools  version
  1. Copy the contents of the mount to your user directory so that we can make some modifications in future steps:
cp -r /mnt/cdrom ~/ptoolsfix
  1. Set the permissions so we can execute the copied scripts in later steps:
cd ~/ptoolsfix
sudo chmod +x ./install ./installer/installer.* ./installer/*.sh ./installer/prl_*

Easy Solution: Downgrade the Kernel

The easiest solution would be to just install the 5.5 and remove 5.6.8-1 (or just remember to always hold Shift to select 5.5.

  1. In System Settings > Kernel install the 5.5 kernel

  2. Reboot the system, holding shift during boot to allow us to select the lower kernel,

  3. Once we are booted into the 5.5 kernel, remove the 5.6.8 kernel so we don't need to hold Shift in the future on every boot.

If you do this you may skip the next section (Installing Parallels Tools)

Advanced Solution: Patchy McPatchface

So the guys in the Parallels forum in this thread figured out how to patch the parallels tools to work on the 5.6 kernel. They provided patch files for diff versions including the latest as of writing this (15.1.4.47270). They didn't provide really step by step instructions outside of the patch file though. So here goes:

  1. We will need to modify some source in order for this to work. Start by navigating to our previously created ~/ptoolsfix folder and into the kmods folder.
cd ~/ptoolsfix/kmods
  1. Next we need to extract the .tar.gz file then remove the .tar.gz
sudo tar -xzf prl_mod.tar.gz
sudo rm prl_mod.tar.gz
  1. Now that the files are extracted, navigate to the parent folder and create a copy of the kmods folder that our patch will work against. It must be named exactly as shown.
cd ~/ptoolsfix
sudo cp -r ./kmods ./kmods-original
  1. Download the patch file provided in this thread - you probably want the second file not the first as they each pertain to a specific parallels tools version.

    • This part is fun since we don't have copy/paste yet or file system so you need to access this from the OS itself. An easy way of finding the thread is to simply google parallels kernel 5.6 and it should be the top hit.
    • You will need to be logged into the parallels forums.
    • It will be named something like pt-15.1.4.47270-linux-5.6.txtdepending on the patch you need.
    • We will assume the file is downloaded to ~/Downloads/pt-15.1.4.47270-linux-5.6.txt
  2. Apply the patch, making sure you are still in the ~/ptoolsfix directory from step 3.

cd ~/ptoolsfix
sudo patch -s -p0 < ~/Downloads/pt-15.1.4.47270-linux-5.6.txt
  1. Once the patch is run, your kmods files should be successfully modified and can be packaged back up.
cd kmods
sudo tar -zcvf prl_mod.tar.gz . dkms.conf Makefile.kmods

Note: Notice that the . in the tar command above is important.


Complete the Parallels Tools Installation

Well, now that that is out of the way, we can proceed with the standard installation of Parallels Tools, with a few changes.

  1. Install the base dependencies
pacman -S linux-headers python2 base-devel dkms
  1. Prepare your environment in terminal by following the arch linux guide. We do not need to do all the steps outlined in the wiki post.
sudo ln -sf /usr/lib/systemd/scripts /etc/init.d
export def_sysconfdir=/etc/init.d
sudo touch /etc/X11/xorg.conf

Note: Keep this terminal window open as we will use it to run the install commands.

  1. Create a temporary link for python2, remember to rm this when we are done as it probably isn't something you'll want in the future.
sudo ln -sf /usr/bin/python2 /usr/local/bin/python
  1. In the console window where we ran step 2, navigate to our ptoolsfix folder and run our install script!
cd ~/ptoolsfix
sudo ./install

image|627x500, 50%

  1. After a few minutes it should succeed and prompt you to reboot.

  2. Remove the link to python that we created earlier as it will no longer be necessary.

sudo rm /usr/local/bin/python

CONGRAULATIONS

Once the system reboots you should notice that the wonky mouse and graphics issues are resolved and your shared folders are now available along with copy & paste and all the other fancy cross-os tooling that Parallels Tools provides!

Phew... that was fun, eh?

Hope this helps at least one other person cause it sure took forever to figure it all out and write up :-)


References / Links / Credits

These are the links/pages I encountered to piece these things together. Note that most of these are either outdated or no longer work exactly as mentioned so be careful. The above is basically the combining of all of these things into a final working solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment