Sketch in a Virtual Machine? Here’s a Workaround
Running Sketch in a virtual machine doesn’t work. There is an alternative route…
There are many reasons why you might want to run Sketch in a virtual machine. Perhaps you are a developer and wish to work in an isolated environment while you create plugins or assistants. Or maybe you want to check out the latest Sketch beta without messing with your current installation. Whatever your reasoning, you are in for a disappointment — Sketch does not run in a virtual machine.
You can enthusiastically create a virtual machine with VMware Fusion or Parallels Desktop and install Sketch in it. But try and run it, and you will get this disheartening error dialog:
Sketch requires the macOS Metal API to function (and, from version 68, must run on Mojave 10.14.4 or later). “But my Mac does support Metal”, I hear you cry. Yes, it most likely does. But neither VMware Fusion 11, nor Parallels Desktop 15, do. Neither provides metal-compatible virtual hardware (at least, at the time of writing, and I do not expect that to change any time soon).
To clear up any confusion arising from the VMware or Parallels websites, both claim Metal support. What this means is that both use Metal on the host to render graphics, which makes it faster in the virtual machine (guest). But they do not expose the Metal API to the guest. So any applications, including Sketch, that require Metal in order to run simply will not.
This is not a limitation of Sketch — it is for VMware and Parallels to clear the hurdles necessary to deliver this functionality to their customers. So how do we get around this problem? The solution I use is to create a bootable USB drive, install the desired macOS version on it, and then Sketch on top of that. It is pretty elegant and there is no noticeable performance overhead. So I shall show you how to:
- format a suitable USB drive;
- install macOS on it;
- install Sketch and, optionally, copy over all your plugins.
Creating a Bootable USB Drive
First of all, get yourself a USB drive. If you really want to install other apps and get seamless performance out of macOS, as if it was running on your internal HDD, then you really need a 128 GB drive running at the highest possible speed. Either Thunderbolt 3 or USB C, but a USB 3.0 flash drive will also do the trick. I use SanDisk Extreme PRO (128 GB) which provides more than enough storage space for whatever you are likely planning, and has read/write speeds in the order of 400 MB/s. Tons of space and performance is excellent.
Format the USB Drive
Connect the USB drive to your Mac and launch Disk Utility. If you are running High Sierra, or later, click on the View dropdown button and select Show All Devices (see the screen below). Now you can see the root drive and the external drive below it.
Select the external USB drive in the sidebar — that is, the drive and not the volume, as shown in the screen below. Click on the Erase icon button in the toolbar and give it a name of your choice. For the Format, select Mac OS Extended (Journaled) and select GUID Partition Map as the Scheme. To go ahead and format the USB drive, click the Erase button.
After a short while Disk Utility creates the partition and sets up the USB drive. Your external drive in the sidebar now has a volume with the name you chose earlier and is ready for you to install the macOS on it. When you see the screen below, click the Done button and close Disk Utility.
Installing macOS
You’ll need to get hold of the installer for the macOS version you want, if you don’t already have it. Apple maintains a downloads page, but you can also get installers from file sharing services.
Once the .dmg file has downloaded, double-click on it and a Finder window will open. You will see the installer app in the window, e.g. ‘Install macOS Catalina.app’. Double-click and the installation window is displayed, as shown below.
Click Continue and the screen below is displayed. Important: click the Show All Disks… button.
Once you have clicked the Show All Disks… button, you will see your newly-formatted USB drive as an available installation destination. Click on it to highlight it. Important: be absolutely sure you have highlighted your USB drive, or you will install over the OS on your Mac! With the USB drive highlighted, click on Install.
Installation will start, as shown in the screen below, and will ask you to restart after around 10 minutes. Just go ahead, and do nothing else. After a couple of automatic reboots (again, just let it do its thing) you will boot to your installed macOS version on your gleaming new USB drive. (Complete installation actually takes something in the order of 30 minutes.)
Selecting the Boot Disk
In future, you will obviously want to choose whether to boot from your Mac or from the bootable USB drive you just created. There are a couple of ways to go about this.
Open System Preferences and click on the Startup Disk icon. Click on the padlock and enter your password to unlock the window. You can then select which drive to book from, and click Restart.
Alternatively, hold down the Option key (⌥) when booting your Mac, before you hear the chimes. When prompted, choose the drive you want to boot from and continue. Simple as that.
Installing Sketch and Plugins
You can now install Sketch, or any other app, on your USB boot drive in the usual way. It may be that you install, say, a beta version of Sketch in trial mode. But if you want to continue to use it, you will need a licence, of course. You can purchase a new licence, or deactivate the one on your Mac (Sketch Preferences > Account tab > Unlink Device) and then activate it on your USB boot installation (and switch it back again as desired).
Transferring Your Plugins
If, as I do, you have a whole bunch of plugins installed on your Mac transferring all or some of them to your USB boot drive is easy. Your plugins are located in the folder:
~/Library/Application Support/com.bohemiancoding.sketch3/Plugins
Simply copy over the contents of that folder (or just those plugins you need) from your Mac’s internal HDD to the corresponding folder on the USB boot drive. When you restart Sketch on the USB drive it will scan that folder automatically and load the plugins accordingly. (This is also a good tip for backing up your plugins anyway.)
Summary
Obviously, it would probably be preferable to many to install Sketch in a VM. But until the like of VMware and Parallels emulate Metal as virtual hardware in their machines, it is simply not possible.
So although this workaround may be suggestive of sledgehammers and walnuts, it works a treat with no noticeable drop in performance (if you use a suitable USB device). On the upside, you have access to all your Mac’s resources, including memory. And if you have permanently connected external drives, as I do, they will also be mounted when you boot from the USB drive. And you can always update macOS on the USB boot drive in the usual way.
The drawback is that you cannot switch between the Mac internal boot and a virtual machine in separate desktops, as I do regularly.
But it is a solution. And it allows you to play to your heart’s content on your USB boot drive without worrying that you will mess up your installation on the Mac.
Colin Shanley has been a designer and author for more than 30 years. You can follow his Medium.com articles here, or view his published works on Amazon.