Note, this article is about a Macbook Pro 2017 13,1 | Check for compatibility here

Intro

Arriving at this page, you might be thinking, why?

What is wrong with MacOS to warrant such an unholy union between hardware and software?

Well for me it was simply down to several reasons:

  • Resource usage; MacOS 10.14 Mojave loves to hog memory and CPU. Which in conjunction with development tools and other applications means you are running out of resources (especially if you are on an 8gb version).
  • With the aforementioned comes overheating, and MacOS power management is ok but not great, meaning you can be draining your battery well below the marketed charge time.
  • I am used to developing on Linux and switching keybindings is painful, especially when your muscle memory has been honed over many years.

So how did I go about this?

  1. Research
  2. Prepping the Macbook Pro
  3. Prepping the Linux Install
  4. Installation
  5. Tweaks and Configurations

All in all, this was around three hours work in total for me, however if you are much more confident then it can be done in less time.

Caveat Emptor!

These instructions could result in a failed installation or a broken Macbook, so make sure you are comfortable before proceeding.

Research

First of all you need to ascertain whether your model and year of Macbook can indeed handle an installation of Linux.

Head over to this useful repository to find out. It details all compatibilities and quirks you might find.

In my case I had a 2017 Macbook Pro 13,1, which is compatbile for the majority of the hardware, minus the sound.

Check out this YouTube video as well.

Required items checklist:

  • USB with minimum 4Gb storage
  • MacBook Thunderbolt adapter, to allow you to plugin a USB drive

Prepwork

The next stage is to make space on the MacBook for a Linux installation. Using the Disk Utility application, you can create a new partition with a suitable label e.g. ("Ubuntu").

More info can be found here.

Once you have created the partition, the most crucial step now, is to take a backup of your MacOS paritition, to allow you to recover in any eventuality of a failed installation.

More info on creating a backup disk image here.

Prepare Linux

Now its time to prepare a distro of Linux for installation via USB, I would recommend Ubuntu as it is the bread and butter of Linux distros with the most support.

Download your Linux distro: Ubuntu

Download and install UNetbootin to create your Linux installation

Once you have created a bootable USB drive, then its time to rock and roll.

Install Linux

To trigger a Linux install you will need to keep the USB drive inserted, restart the MacBook and then press the Option button when the screen goes black.

This will force the EFI bootloader screen to display, showing the various drives you can boot from.

Select the USB drive that you have Linux installed on.

In my case, the Ubuntu install screen displays, allowing you to "Try" or "Install" Ubuntu, choose the installation option and follow the instructions.

Make sure you select the correct partition to install Linux on, otherwise you will have just wiped out your MacOS partition and all your files.

The installation process is fairly quick.

Tweaking

Congratulations, you have Ubuntu installed on your MacBook Pro. However the journey is not over yet!

Wi-Fi, Bluetooth, Touchpad and Keyboard will not be functioning and will require some configuration.

Wi-Fi

Refer to this section : https://github.com/Dunedan/mbp-2016-linux#wi-fi

In my case for Wi-Fi I had to install the Broadcom drivers.

Sound

Unfortunately the soundcard is still not working natively with Ubuntu, however you can get sound through HDMI which is a viable workaround.

X11 / Display

X11 cannot handle high DPI screens, so you find that the icons etc. are very small on the laptop screen, however on a multi monitor setup its fine.

Conclusion

It might not be ideal for some, but my productivity has not suffered at all from running Ubuntu on my MacBook Pro, plus I've had the benefits of more system resources, cooler temps and longer battery life.

  MacOS 10.14 Ubuntu 18.10
Temperature Idle 63C 54C
Temperature Load 74C 69C
Memory usage no apps 2.3gb 1.3gb

 

Happy as Larry!

My MBp 13,1 with Ubuntu 18.10 :)