Skip to main content

Ubuntu 20.04 on a 2015 15" MacBook Pro

I decided to give Ubuntu 20.04 a try on my 2015 15" MacBook Pro. I didn't actually install it; I just live booted from a USB thumb drive which was enough to try out everything I wanted. In summary, it's not perfect, and issues with my camera would prevent me from switching, but given the right hardware, I think it's a really viable option.

The first thing I wanted to try was what would happen if I plugged in a non-HiDPI screen given that my laptop has a HiDPI screen. Without sub-pixel scaling, whatever scale rate I picked for one screen would apply to the other. However, once I turned on sub-pixel scaling, I was able to pick different scale rates for the internal and external displays. That looked ok. I tried plugging in and unplugging multiple times, and it didn't crash. I doubt it'd work with my Thunderbolt display at work, but it worked fine for my HDMI displays at home. I even plugged it into my TV, and it stuck to the 100% scaling I picked for the other monitor, so it looked ok.

The next thing I did was install Zoom, since I'm using that a lot during this COVID-19 quarantine. Trying to download and install the .deb from the website didn't work because of unmet dependencies. However, installing the snap package using Ubuntu Software worked just fine.

At this point, I should note that WiFi and sound worked out of the box. That was a relief!

The microphone worked in Zoom for the first meeting, but not for subsequent meetings. Restarting Zoom fixed the problem.

My screen brightness keeps changing based on changes to the ambient lighting. This happens in macOS too, but somehow there it's a lot less noticeable and disruptive.

The camera did not work by default. By following these instructions, I was able to get the camera working, even in Zoom, but the picture quality was grainy / pixelated. The picture quality was similarly bad in Cheese, suggesting a driver problem. Observe:

On this page, it says, "The driver will complain about 1871_01XX.dat (or similarly named) files missing. This error can be ignored. The .dat files contains sensor calibration settings that will improve image quality. The error looks something like this: Direct firmware load for facetimehd/1871_01XX.dat failed with error -2. Ignore it." I'm guessing that's the problem. I found a guide here in order to install those files. I reloaded the driver. I think I did everything I was supposed to do, but it didn't seem to fix the issue. The documentation for the driver says that it's experimental :-/

Along the way, I had to "enable the multiverse" in order to install unrar. I told my kids about it, but they told me that that doesn't mean I'm an Avenger. Hmm, maybe I have to switch to Arch :-/

I'm guessing I wouldn't have this problem if I were using hardware with better support. On the other hand, my son said he was having the same problem with his 2007 Thinkpad.

Just to check that everything else was sort of behaving, I tried YouTube. No problems.

Next up, because my wife and I have been watching "Once Upon a Time" on Netflix together, I decided to give Netflix a try using the builtin browser, Firefox. It asked for permission to enable DRM. I said yes. But, then Netflix didn't actually work:

Switching to Chrome fixed the problem.

I guess now is the time I cop to the fact that I actually prefer the hotkeys in macOS. The way the command key works is generally more consistent, even in the terminal, and I really like the built-in Emacs hotkeys that work pretty much everywhere--I have those built into my fingers even though I'm not an Emacs guy.

The last few times I've used Linux on the desktop, I ran into other problems such as the following:

There's no Linux version of Backup and Sync from Google. The last time I tried it, the built in support for Google Drive was not very good. In the past, I tried Insync which worked pretty well, minus the fact that it didn't know how to deal with my HiDPI screen.

Chrome Canary isn't available for Linux. That's not that big of a deal most of the time, but usually the coolest DevTools toys come to Canary first and might not make it to the stable version for a long time.

I'm guessing that the magic that is iTerm2 + tmux -CC doesn't work in Linux. If you don't know what I'm talking about, Google for it. It's amazing.

Dropbox works pretty well on Ubuntu; not so much for other distros.

IntelliJ just doesn't look as good on Linux as it does on a Mac. But, it does work.

If you have an iPhone, it's really nice to be able to type normal text messages on macOS. Yeah, I know, Apple is just being Apple, and things are nice, but it's still a walled garden. Whatever--it's still nice, and I would miss it in Linux.

Thankfully things like Slack, VS Code, Signal, and Typora just work these days because they're Electron apps. It sucks to think of how much this is eating up in terms of system resources, but it's nice that they at least work.

Anyway, I wanted to figure out if it was viable for me to switch to Ubuntu. I think the answer is yes, but not with this Facetime camera. I'll stick to using macOS and running Linux in a VM using VMware Fusion. By the way, I really like VMware Fusion, and things like Kali Linux should be run in a VM anyway.

See also PCMag's Windows vs. MacOS vs. Chrome OS vs. Ubuntu Linux: Which Operating System Reigns Supreme? Don't worry about the click-baity title. It's actually pretty good. Perhaps it might not tell you anything revolutionary or new, but it's a solid, well-balanced look at the four OSs.


jjinux said…
I'm really enjoying Things 3. It's Mac only. I knew what I was getting into when I picked it, but the review I read said that it's just really, really well done--and it is. If I switched to Linux, I'd need to switch to Todoist and either use their web app directly or their web app embedded in a third-party Electron app :-/ It's kind of a bummer if I think about switching to Linux.

Popular posts from this blog

Drawing Sierpinski's Triangle in Minecraft Using Python

In his keynote at PyCon, Eben Upton, the Executive Director of the Rasberry Pi Foundation, mentioned that not only has Minecraft been ported to the Rasberry Pi, but you can even control it with Python . Since four of my kids are avid Minecraft fans, I figured this might be a good time to teach them to program using Python. So I started yesterday with the goal of programming something cool for Minecraft and then showing it off at the San Francisco Python Meetup in the evening. The first problem that I faced was that I didn't have a Rasberry Pi. You can't hack Minecraft by just installing the Minecraft client. Speaking of which, I didn't have the Minecraft client installed either ;) My kids always play it on their Nexus 7s. I found an open source Minecraft server called Bukkit that "provides the means to extend the popular Minecraft multiplayer server." Then I found a plugin called RaspberryJuice that implements a subset of the Minecraft Pi modding API for B

Creating Windows 10 Boot Media for a Lenovo Thinkpad T410 Using Only a Mac and a Linux Machine

TL;DR: Giovanni and I struggled trying to get Windows 10 installed on the Lenovo Thinkpad T410. We struggled a lot trying to create the installation media because we only had a Mac and a Linux machine to work with. Everytime we tried to boot the USB thumb drive, it just showed us a blinking cursor. At the end, we finally realized that Windows 10 wasn't supported on this laptop :-/ I've heard that it took Thomas Edison 100 tries to figure out the right material to use as a lightbulb filament. Well, I'm no Thomas Edison, but I thought it might be noteworthy to document our attempts at getting it to boot off a USB thumb drive: Download the ISO. Attempt 1: Use Etcher. Etcher says it doesn't work for Windows. Attempt 2: Use Boot Camp Assistant. It doesn't have that feature anymore. Attempt 3: Use Disk Utility on a Mac. Erase a USB thumb drive: Format: ExFAT Scheme: GUID Partition Map Mount the ISO. Copy everything from