The state of Linux on a MacBook Pro with Touchbar
Install Linux on your MacBook Pro with Touchbar is a bad idea. The hardware support is not satisfying. Especially not for a desktop system. Here is why...
tl;dr: Install Linux on your MacBook Pro with Touchbar is a bad idea. The hardware support is not satisfying. Especially not for a desktop system.
How it all started
I'm using Mac for ages - 7 or 8 years I guess. I still like Mac and macOS; that's not the issue. But I like the Open Source idea behind Linux a lot. My server is running on Linux. And Linux gives you more options to decide which hardware you want to buy.
A few months ago, I switched from iPhone to a OnePlus 7 Pro Android phone and didn't regret it. The Android OS is nice looking and pleasant to use. The main difference is within the ecosystem and the third-party apps I believe. The same can be true for Linux, so I tried to start the experiment to use Linux on my MacBook Pro.
First steps on a virtual machine
I'm not sure why, but running Linux on a virtual machine on my MacBook Pro is super slow. Especially as soon as I run Linux in fullscreen. There was even no remarkable difference between VirtualBox and Parallels Desktop. It looks like I have too many background things running on my Mac. But I convinced myself to continue my Linux experiment while using the virtual machines.
Beautiful desktops
What I learned using the virtual machines: Linux desktop environments have changed drastically. Elementary OS 5.0 is a lovely looking Ubuntu + Gnome based distribution which aims to be the macOS for Linux. Fedora Workstation 30 is also a beautiful Gnome based RedHat distribution, which looks not as much like macOS as Elementary. I got impressed by Linux Mint and the Cinnamon Desktop. It seems a bit like Windows but with a stunning dark theme. It felt awesome to use.
Installing Linux on a MacBook Pro with Touchbar
I felt in love with Linux Mint and the Cinnamon Desktop. So I installed it on my MacBook Pro. The installation process runs smoothly, but I guess you need a tutorial if you like to keep your macOS as well. This one helped me a lot.
There is even a boot manager available for EFI based systems like a MacBook. It's called rEFInd.
The first impression after the installation finished
After the installation, everything looked fine. Compared to the virtual machines, the system was snappy as expected. The onboarding of new users in Linux Mint was very helpful to start with backups and software updates. Perfect :)
In the taskbar, I even had a Bluetooth icon, and Wi-Fi indicating that wireless connections are also working well seemed to work as well. Yet I was connected via network cable.
What does not work
After playing around, I figured out that the built-in keyboard and touchpad didn't work at all. I used an external USB connected keyboard and mouse. So it took some time to figure out they aren't working at all. After a little research, I found out that there are SPI drivers available. These drivers should also enable the Touch Bar partially, but it didn't work for me. I could have spent more time on fixing the Touch Bar. But as I figured out the other issues with hardware support for Linux, I decided to stop putting more effort into this experiment.
Not working at all:
- Audio input and output, neither the internal speakers or the headphone jack
- Suspend and Hibernation (kind of expected)
- TouchID (ok, I assumed that)
Don't work out of the box or not that reliable:
- Cooling / fan management
- Bluetooth should work, but it didn't find any devices
- Wi-Fi was very buggy and found a lot fewer networks then macOS
- Touch Bar & keyboard + touchpad (as described above)
There is an excellent GitHub project collecting all the issues and solutions on how to run Linux on a MacBook Pro with Touch Bar, which helped me a lot.
My learning from the Linux on a MacBook Pro experiment
Hardware support for MacBook Pro with Touch Bar on Linux is very bad. A Desktop system without sound doesn't make any sense for me. Poorly working Wi-Fi and potential issues with the cooling system don't help either. I wish Apple would support Linux as they support Windows with Bootcamp and individual drivers. Especially as macOS and Linux are similar to each other than macOS and Windows.
Besides that poor hardware support, it looks like Linux desktop has evolved a lot. Many years ago KDE and Gnome felt pretty slow and lagged during standard desktop usage. Nowadays it's way more enjoyable to use a Linux desktop environment. Event the third-party software I use on my Mac has a good amount of Linux alternatives. As soon as I need to replace my MacBook Pro, there is a good chance I will replace it with a Linux laptop instead. Replacing iOS with Android was quite pleasant; the same could be true for macOS and Linux.
Update 29th of August
The next Linux Kernel release is close. Kernel 5.3 will bring SPI support for newer MacBook keyboards and trackpads. Let's see what the upcoming releases will have for MacBooks :)
Image source: by Linux Mint team - https://www.linuxmint.com/rel_tessa_cinnamon_whatsnew.php, GPLv2, Link