DEV Community


Discussion on: Explain the different popular Linux distros

stereoplegic profile image
Mike Bybee • Edited

Others have given some great rundowns, so I'll instead give a specific warning. If you have a MacBook Pro with a Touch Bar, DO NOT choose the "Guided: Erase entire disk and install _____" option! This will format the EFI partition, which includes the firmware required to get the Touch Bar working AT ALL, and you'll have to reinstall MacOS before you can even initialize the Touch Bar for Linux.

You'll have to resort to manual partitioning, but it's not that scary if you just remember to leave the first partition (listed with a type of either "EFI" or "Fat32"), and your MacOS partition if you still want to boot to MacOS (likely APFS in 2020, but how it's labeled or recognized can vary between Linux installers). You'll need to create at minimum a Linux system partition (likely ext4 or BTRFS, with a mount point of /), and probably a swap partition (unlike other OSes, Linux typically uses a dedicated partition for swapping RAM to disk rather than a file) - you can do without this and only rely on RAM, but it's best to have it for stability. I also have a separate partition for /home (the Linux equivalent of MacOS's /Users folder), so I can keep my files and settings if I decide to wipe out the system partition and reinstall or install another Linux distro.

Once Linux is installed, you'll need some kernel modules for Touch Bar. There's an aur package for Arch and Arch-based distros, but it didn't activate the Touch Bar the last few times I tried installing it. Fortunately, there's a GitHub repo for that which makes it easy to install with DKMS support so it gets applied to every kernel update: Note that only esc, media keys and function keys are supported on the Touch Bar in Linux.

Some other things are needed as well, such as a text file to get better WiFi support (and to get 5GHz working at all).

For more information on getting Linux running on an MBP Touch Bar model, the following links are extremely helpful: