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

ERNOS: Erlang Networked Operating System

I've been reading Dreaming in Code lately, and I really like it. If you're not a dreamer, you may safely skip the rest of this post ;) In Chapter 10, "Engineers and Artists", Alan Kay, John Backus, and Jaron Lanier really got me thinking. I've also been thinking a lot about Minix 3 , Erlang , and the original Lisp machine . The ideas are beginning to synthesize into something cohesive--more than just the sum of their parts. Now, I'm sure that many of these ideas have already been envisioned within , LLVM , Microsoft's Singularity project, or in some other place that I haven't managed to discover or fully read, but I'm going to blog them anyway. Rather than wax philosophical, let me just dump out some ideas: Start with Minix 3. It's a new microkernel, and it's meant for real use, unlike the original Minix. "This new OS is extremely small, with the part that runs in kernel mode under 4000 lines of executable code.&quo

Haskell or Erlang?

I've coded in both Erlang and Haskell. Erlang is practical, efficient, and useful. It's got a wonderful niche in the distributed world, and it has some real success stories such as CouchDB and Haskell is elegant and beautiful. It's been successful in various programming language competitions. I have some experience in both, but I'm thinking it's time to really commit to learning one of them on a professional level. They both have good books out now, and it's probably time I read one of those books cover to cover. My question is which? Back in 2000, Perl had established a real niche for systems administration, CGI, and text processing. The syntax wasn't exactly beautiful (unless you're into that sort of thing), but it was popular and mature. Python hadn't really become popular, nor did it really have a strong niche (at least as far as I could see). I went with Python because of its elegance, but since then, I've coded both p