After a macOS update caused havoc with my external monitors, I started looking into replacing my 2018 i5 Mac mini. It’s only two years old, but driving 4k displays was a real challenge for it, and a stark contrast compared to my Windows PC in performance.
I briefly thought about making my temporary switch back to Windows more permanent, but soon all my old nitpicks came back, and some new ones, too. Windows is not a bad platform, but I’ve spoiled myself by using macOS, in spite of the recent software update issues.
I’ve also been wanting a new laptop lately, I don’t like being tied down to my desk and it’s nice to be able to move to another part of the house to work, or even potentially venture out into The Great Big World, and be that guy1 in the coffee shop.
For reference, this is my old laptop, a 2012 ThinkPad X230 Tablet running Fedora.
The screen isn’t broken, it’s from that weird phase in 2012 when every PC laptop maker was trying to do tablet hybrids.
And while not fair but funny, here it is stacked on top of my 2021 MacBook Pro:
The screen real estate is a tiny 1366x768, and both pointing devices are acting up (trackpad and pointing stick).
It will still make a decent Linux server though.
Purchase and arrival #
Initially I looked at the MacBook Air, but the small screen and the current model being 2 years old wasn’t selling me, although the next model is expected later this year.
I think 16" is too big, so I went with the 14" 2021 MacBook Pro, with the M1 Pro CPU and 16 GB of RAM.
It has 512GB of storage on the base configuration, which I thought about future-proofing, but I had only filled the 512GB Mac mini to about 50%. And upgraded storage was going to add two weeks to shipping time.
It took about a week to arrive, and I had a chat with the delivery driver, whose wife apparently got an M1 MacBook Air and had to buy a “dangle” to hook it up to her screens. I guess the plain cardboard box shape and next day air is a giveaway for Apple shipments.
If you haven’t used macOS’s Migration Assistant before, it’s really smooth. You just hook up both computers to either the network, USB-C, or Thunderbolt, fire up Migration Assistant, and let it rip.
Migration was almost completely painless, I just had a couple of issues related to my atypical situation that I’ll elaborate on below.
Use Thunderbolt #
Initially I started migration using a USB-C cable, but it was slow - transfer speed was 26.4 MB/s, barely faster than over my network.
So I plugged in my Thunderbolt cable in the middle of the migration process, which was a mistake - progress came to a halt and I watched as the estimated time remaining climbed, eventually reaching 34hrs before I cancelled and restarted the process.
After restarting the process though, I hit speeds of 600 MB/s over my Thunderbolt 3 cable from an old external GPU, and the whole process was done in less than 10 minutes.
Homebrew and Git issues #
Since my previous Mac had an Intel CPU, and the new Mac has an ARM CPU, I ran into some issues with Homebrew and Git not working.
Ideally, you’d install Git by using Xcode, but I had no luck with either installing full Xcode (32.5GB) or just the Xcode command line tools. Git commands did work, but for some reason, Sublime Merge and VS Code could not use Git.
I ultimately resolved these issues by installing Homebrew and updating my path, and then running
brew install git. You’ll also need
.zprofile, I had to re-add Sublime Text too for the handy
eval "$(/opt/homebrew/bin/brew shellenv)" export PATH="/Applications/Sublime Text.app/Contents/SharedSupport/bin:$PATH"
The ARM version of Homebrew stores packages in a different folder (
/opt/homebrew/bin/) than the Intel version, so I think I need to go through
/usr/local/bin/ and clean things out. I think that’s the default installation directory for other binaries though, because there’s a lot of stuff in there that I don’t remember installing with Homebrew - for example,
pip packages like Pelican.
That said, the only binary that came up on my scan for Intel-only apps was Python.
Tony Smith has a guide on Homebrew Intel to M1 migration I loosely followed.
Notes on Intel apps #
I tried to avoid installing Rosetta 2 for as long as possible, but I ended up needing it for some Intel-only utilities I use every day, such as ImageOptim and Glyphfinder.
I used the handy Silicon utility to find all the Intel apps installed on my system, and then removed ones I didn’t use anymore. The majority of them were already Universal apps, some of them updated themselves to the ARM version automatically, and others, like VS Code and Zoom, I had to delete and install the ARM version manually.
Now I’m left with just 4 apps that are Intel-only:
It’s fast #
For the price, it better be. I did the thing most new M1 owners do - I launched every app in my dock as quickly as I could. There was next to no delay for each app launch. I’m absolutely floored at how fast this thing is even though I’ve been reading about how fast M1 chips are for almost two years now.
I wish I had the previous numbers for my site’s Hugo build times on my i5 Mac mini, but clean cache builds of my site with image generation are noticeably faster.
The GPU is fast, too. While driving one 4k monitor at default scaling was sometimes a struggle for my Mac mini, let alone two, the MacBook Pro handles them both with ease. And it supports variable refresh rate natively:
I tested one game, Eve Online, and was getting 50-60 FPS at 4k with anti-aliasing turned off (not noticeable at 4k). And that’s running on Rosetta 2. I imagine a large battle might tank FPS, but I’ve stopped playing the game so it doesn’t matter.
The faster GPU has made my external Magic Trackpad my preferred mouse again over the MX Master 3. I think it’s the reduced latency. I will still switch between the two as my wrist dictates.
I had no issues hooking up two displays via USB-C to DisplayPort cables, but apparently that’s the limit on how many displays M1 Pro supports. Which is fine, I don’t have a third monitor to hook up to it and the two that I have are more than enough space.
And reconnecting my displays is flawless, all my windows go back to where they were before.
The screen is incredible #
While the majority of my usage has the laptop is closed and hooked up to dual 27" 4k IPS displays, the built-in screen is very good. It’s Apple’s fancy XDR tech with mini-LED backlighting and ProMotion, which is their branding for variable refresh rate, a feature I was already used to on my PC. This screen’s refresh rate, I was surprised to learn, goes up to 120Hz, and anything involving animations or scrolling is incredibly smooth.
If you want to save battery, you can enable “Low power mode” in Battery settings, which will limit how high the refresh rate goes.
The notch is not noticeable #
I haven’t changed my wallpaper, so I’m still using the default one with the dark area in the middle which hides the notch very well. I have to really look for it.
Adding a notch for the webcam and light sensors allowed for a larger screen than the previous 14" model, and I like the thin bezels and rounded top corners.
The webcam is a lot better #
The only webcam I have for comparison is a garbage 720p one from 2012 though.
The keyboard is good #
Despite being a big fan of mechanical keyboards, I love typing on this thing. Apple isn’t using the problem-prone butterfly switches and went with the older design instead. It’s good.
I do wonder why caps lock is still included on modern keyboards though. It’s incredibly useless, and annoying, because the caps lock key on my HHKB Pro 2 is the Control key. I’ll find a way to remap it.
Touch ID is great - it’s a small key at the top right of the keyboard, where the power button used to be on older models. Unlocking is instant, and it’s much more convenient than typing in your password for things.
Battery life is good #
I can go about a day and a half before I need to charge it. That’s by itself with no peripherals hooked up, and low power mode not turned on. Really good.
It sounds good #
The speakers are surprisingly serviceable. If you’re used to good speakers or headphones like me, they’re not going to blow you away, but they do handle low frequencies much better than most laptop speakers.
I haven’t tested the mic setup but I read it’s good, with 3 mics and whatever “beamforming” is.
High-impedance headphone support #
The headphone jack supports high-impedance headphones up to 1k ohms.
According to the Apple support page linked above, impedances of less than 150 ohms get up to 1.25 volts RMS2, and 150-1000 ohms can get 3 volts RMS.
My highest-impedance pairs are only 250 ohms. I tested3 both my Beyerdynamic DT 770 Pros and DT 990 Pros, and can confirm the new MBP drives them very well.
I’m curious how well the automatic impedance detection would work with my daily drivers, the Fostex TH-X00 Purplehearts. Their impedance is 25 ohms but I’ve noticed a big difference between weaker amps and stronger amps with this set, like my Schiit Magni vs. my Little Dot Mk. III.
Sadly, I don’t have a TRS 1/4" female to male 3.5mm adapter to test them out with (the Beyers are 3.5mm with screw-on 1/4" adapters).
It has 3 USB-C ports, and all of them support Thunderbolt 4. Then an HDMI port, headphone jack, and SDXC card slot, and finally, the MagSafe charging port, which I’m thrilled about.
Right now all 3 USB-C ports are filled, with two monitors and my USB hub that I plug all my USB-A stuff into. I’ll probably get a dock at some point, I was looking at the ones Caldigit makes. They’re $250-400 though.
I initially thought the lack of an RJ45 Ethernet port was going to be an issue, but the WiFi antenna in the MBP is much better than the one in the Mac mini, and I assume they’re in the lid and therefore larger.
I’m thrilled with this speedy new machine, and I love the portability of the 14" size.
Here’s a pic of my new battlestation setup, don’t mind the cables:
I used to have a third monitor on that unused wall-mount arm, but it was 1440p and didn’t look good next to my 4k monitors. Maybe I can get a VESA mount for the MBP.
I moved the noisy gaming rig off my desk and onto the shelf, which looks neat and it’s not right next to my ear.
When I rearranged my desk, I pulled it 12" away from the wall, which made my setup more comfortable to use. I can see both monitors while hardly turning my head.
The two 27" 4k LG monitors run at the default and largest scaling, which gives me 1080p of real estate without integer scaling (Nikita has a great post on this). The large setting is also necessary because I sit about 24" away from my screens.
If you use a resolution without integer scaling, remember to turn off font smoothing! Apple removed the toggle from Preferences, so I used this app to turn it off.