elementary OS in VMware Fusion

I recently purchased a new 16” MacBook Pro to replace the clunky PC that I’ve been using for several years now. In order to continue developing for elementary OS, I decided to give VMware Fusion a try.

The initial installation is straightforward and very easy, however getting Linux to play nice with a Retina display is a bit complicated.

1. Install VMware Tools

After completing the installation of elementary, install the VMware Tools on the guest OS (in this case, elementary). From the Virtual Machine menu in the VMware toolbar, select “Install VMware Tools”. This will mount the VMware Tools disk image, which should now be visible in Files.

From Terminal, navigate to the mounted image:

1
$ cd /media/<username>/VMware\ Tools/

Copy the tools archive to your downloads folder:

1
$ cp VMwareTools-10.3.10-13959562.tar.gz ~/Downloads

Now extract the tools archive:

1
2
$ cd ~/Downloads
$ tar -xvzf VMwareTools-10.3.10-13959562.tar.gz

Finally, run the Perl install script:

1
2
$ cd vmware-tools-distrib/
$ sudo ./vmware-install.pl

During the installation I selected all of the defaults, but you can configure as desired.

When installation is complete, poweroff the VM.

2. Configure the VM Display Settings

From the VMware settings, choose the Display settings and check the box to “Use full resolution for Retina display”.

Display settings

Now start the VM and login.

3. Configure elementary

After logging back in to elementary, open the display settings. Click the gear icon and adjust the resolution to the full resolution of your MacBook Pro Retina display (in the case of the 16” model, this should be 3584x2240). Also set the Scaling factor to “Pixel Doubled”.

elementary Display Settings

Finally, open up the terminal and run the following two commands1:

1
2
$ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "[{'Gdk/WindowScalingFactor', <2>}]"
$ gsettings set org.gnome.desktop.interface scaling-factor 2

If all went well, you should now see a beautiful, crisp elementary OS desktop (if not, you may need to either logout or reboot the VM).

elementary Desktop

Additional Tweaks

GTK File Chooser

I found that the Gtk file chooser dialog was not displaying the buttons2. The solution is to create a gsettings entry:

1
2
$ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides \
  "{'Gtk/DialogsUseHeader': <0>, 'Gtk/ShellShowsAppMenu': <0>, 'Gtk/DecorationLayout': <'close:menu,maximize'>}"

Updates

I delayed the service open-vm-tools to start after the display manager and it seems to work now. ~$ sudo vi /lib/systemd/system/open-vm-tools.service Add under [Unit] the following line: After=display-manager.service Save the file and reboot.

  • 9/22/2021: With the release of elementary OS 6, the only change that I apply to the display settings is setting the scaling factory to HiDPI (2x)

Some rights reserved

Up Next

Installing ESXi with a USB NIC

Creating a custom ISO for ESXi 7 with a USB NIC

Image Morphing

Make fun GIFs!

Review of the LinkedIn URL Detector

Related