It's coming up on 3+ years that I've been working on a MacBook Pro, so earlier this year I was due for a computer refresh. I was extremely critical of the hardware of the 13" 2018 MacBook Pro that I received last time around, so I was very much looking forward to a replacement that would hopefully be better.
This timed well with Apple's migration from Intel chips to their own 'Apple silicon', but I was pretty sceptical of the architecture change. I worked in support when Apple migrated architectures from IBM PowerPC to Intel way back in the mid-2000s, and I remember compatibility issues, even with Rosetta, back then.
Because I'm now almost exclusively working from home in this COVID-era world, I chose a 2021 16" MacBook Pro rather than the 14". Work still provides a very high spec for the machine: Apple M1 Max CPU, 64GB RAM, 1TB SSD. With the latest technology prices, this is an expensive machine; speccing it out on Apple's Australian website yields a price > AUD$5000 😱.
Last time around, I was pretty savage in my assessment of the hardware, especially in terms of the IO, keyboard, and thermal management. With this new machine, all of those issues have been addressed in significant fashion.
- IO: Apple has finally started to listen that people actually want to have usable ports on their machines. Magsafe, HDMI, and an SD card reader are back, in addition to the three Thunderbolt ports. I think this is a fantastic balance.
- Keyboard: Thank goodness that terrible butterfly keyboard is gone. The new keyboard is totally fine, and although I didn't hate the previous touchbar, I much prefer the 'new' full-height function row.
- Thermal management: I said that the previous machine's thermals were 'unforgivable'. This new machine is night-and-day better. Firstly, Apple isn't going for a thinness-at-all-costs approach to the hardware, so the extra thickness and heatsink space does make a difference, but the real kingmaker here is the new Apple silicon M1 Max chip. It's amazing how cool this thing is.
With the exact same setup as before (running with two external screens: one 4K, and the other 1080, with the laptop-lid closed, even with Zoom, Slack, VS Code, etc. running), the fans rarely even turn on, let alone get loud enough for me to hear them. The CPU package rarely exceeds 60°C during my 'normal' use.
Other than the significant architecture change, I think the big difference here are the CPU's efficiency cores. They handle things like the Slack GIFs and YouTube etc. without having to draw much power (or produce much heat). Using iStat Menus, you can see the efficiency cores regularly being used, while the performance cores wait for something more intense to come along.
It's just so nice having a silent machine while I'm writing and in meetings.
My one hardware criticism of the device would be the notch in the screen. The screen itself is great, but when using the laptop open, the notch (and the macOS software handling of that space) is annoying, mainly because I tend to have a lot of menubar items that just disappear behind it.
I'm still mostly using the same software setup as last time, although I did migrate from Atom to VS Code as my editor of choice.
The biggest worry I had about the new computer was software compatibility with the new CPU architecture. I'm not sure if I missed the initial teething issues with the new architecture, but it's been an almost flawless experience.
Most of the common apps that I use had already produced native builds for Apple silicon, and any other Intel-based apps seem to be working totally fine via the Rosetta 2 translation layer. I haven't had any compatibility issues at all, even with stuff that I might expect to have issues, like with hardware-management software and drivers that are still running Intel-based binaries, such as Elgato's software for the Stream Deck and Key Light, or Logitech's for my mouse. Very impressive.
The single thing that I am missing as a result of the architecture change is not being able to natively run x86/x64 virtual machines on this computer. In the past few months that I've had this machine I haven't needed to use any VMs yet, but when I do, it looks like using something like UTM to do emulation via QEMU would be the way to go.
As always, most of my current config for this work MacBook (including my shell and VS Code setup), can be seen in my mac-config repo on GitHub.
Overall, I've been extremely happy with this machine so far. All of my gripes with the previous machine have been addressed, and the migration to the Apple Silicon hardware has been almost flawless.
I do have one big issue of not being able to use my Thunderbolt dock's ethernet port because macOS craps itself when any decent throughput is pushed through it, but that existed on the old machine too, and neither Apple nor Realtek seem remotely interested in fixing the macOS drivers for that very-common RTL8153 ethernet controller.