The M2 Pro Mac mini

A , emboldened by finally having put into my server closet and realizing I was not enjoying being in my home office anymore, I decided to switch things up and go back to using a Mac all the time–or at least as much as I can.

My is still very much on tap–I use it to take calls on , do focus work with it (and it alone) on the that I use for hardware projects and, of course, occasional late night stints in the to catch up on mail, but all of those are now exceptions rather than the rule.

Rationale

I wanted to go back to a Mac desktop for a number of practical reasons:

  • I felt like I was slowly killing my Lenovo and my MacBook’s battery by having them constantly plugged in. Plus the logic board actually died and had to be repaired a couple of months ago, which was another thing that made me realize power management isn’t its forte.
  • Swapping laptops at the beginning and end of the day as I switched from work to personal stuff was annoying and fiddly–I would find myself putting it off and leaving the office at dinner time not having completed any personal goals at all, or finding myself frustrated by not being able to quickly deal with personal stuff in the mornings.
  • Having the and both laptops on my desk was too much clutter, too many cables and (thanks to the ) too much fan noise.
  • I really wanted more physical screen real estate connected to a single machine. Using my with a relatively small laptop screen was just not ideal–using a laptop display set aside, even my MacBook’s, felt like a fifth wheel. Plus given the overall layout of my desk the ergonomics were just bad (even with a repurposed monitor arm).
  • With all the hardware atop it, my desk was a major chore to keep clean and tidy. Dusting was a pain, and I was constantly having to move things around to get to the cables behind the monitors.

So getting one and rewiring everything to get it and (practically) zero wires in the way was pretty much a no-brainer.

Then there was the software side of things. I have been using for a while now, and although I have been enjoying it, I have to acknowledge a few things:

  • I am still a Mac user first and foremost. Oh, I am 100% positive that I can use instead of a Mac now, but I still prefer using a macOS desktop (and macOS native applications like ).
  • My music hobby has been lagging, and although I can run on the , I really wanted a setup that had better low latency audio and less friction–having upgrades break yabridge every now and then got old really fast.
  • Even though the I tried to use was excellent for a setup, Windows Virtual Desktop doesn’t have a native Linux client, and the couldn’t drive my monitors at full resolution.

That last point is subtle, but important. I’ve been using WVD for all of my e-mail and work-related writing ever since my , and it has been a great distraction-free environment that generates zero fan noise on any machine I use it on. If I had gotten that to work on the (and if it could drive all my displays at full resolution), I’d probably have been able to stick with it for a while longer.

Hardware

So, in short, I wanted one machine. One quiet, unobtrusive, invisible machine I could use for work and personal stuff. Getting a and switching full-time to an ARM desktop were just icing on the cake.

Specs-wise, I got the off-the-shelf model with an M2 Pro, 16GB of RAM and 512GB of SSD. And no, I will never be able to upgrade the RAM, etc., etc.–I don’t care. This is the kind of minimal, quiet desktop I’ve been wanting to go back to for, and although I am somewhat annoyed that Apple keeps gimping storage tiers across their product lines, I hope I’l be able to live with 512GB of storage for a fairly long time.

There was also a very specific reason I went with the Pro–I wanted the extra cores so I could run comfortably, since my over the past couple of years made it plain that it is ready for prime time–at least for my use cases.

Software (yes, it does Windows on ARM)

Besides my personal stuff (which is still Mail, Safari, VS Code and a bunch of MIDI and CAD/3D printing software) I’ve been running a Windows 11 ARM VM for work, and it has been working great.

Literally everything works, it is fully compliant with corporate policy (I have it completely isolated from my Mac other than webcam and audio device pass-through), and it is fast. There are ARM versions of all I use for work, and I even have VS Code and running (I can’t use since there’s no support for nested virtualization yet, but for the prototypes I hammer out that’s fine, and I work mostly on Azure VMs anyway).

I have had zero issues with Office, Teams, PowerToys, paint.net etc. It is a fully working, native ARM environment. I do have and a couple of Intel-only apps installed, and the Windows on ARM translation layer works so well that I can’t even tell they’re not native.

So, quite ironically, my switching back to a Mac desktop is also a Windows on ARM success story.

And yes, part of me wishes I could have flipped this somehow–I have wanted to get my hands on a Windows ARM desktop for a while, but hardware still isn’t available in Portugal, and besides likely hindrances with music software (I don’t think there are any Windows on ARM DAWs right now), I am not sure I would have been able to get it to drive my monitors at full resolution…

But I digress–there are many more highlights to go through, and a few hindrances as well.

Performance

The power efficiency of the M2 Pro is just insane. I don’t care that it’s not the fastest machine out there–it is fast enough for my use cases, and, again, it is quiet.

In personal use, driving both my monitors and juggling Mail, Safari, Slack, VS Code, and a few other apps, it just sips power–even with a bunch of applications running I see 6W-8W ticking by, which is lower than the did.

When I’m doing corporate work and calls/presentations on my Windows VM, it still only uses about 20W on average, although it does peak past that–here’s the power chart for the past month:

The bit in early June was when I left a secondary VM running alongside. I fired it up, forgot about it, never noticed it was pinning a couple of cores.

As to the rest, I have very little to complain about:

  • The machine has never felt sluggish or less than snappy (well, at least without a VM running).
  • All the ML stuff I’ve had the time to try (at least the ones supporting the Apple-backed tensor libraries) runs great.
  • My (infamous) runs wonderfully on it (much better inside Edge than Safari, but that’s a whole other story).
  • I can a Wii U (and a Switch) at very nice speeds (Breath of the Wild looks amazing on widescreen).
  • Windows games (such as I’ve tried, both inside Parallels and the new Game Porting Toolkit) run great.
  • I can run all the Linux VMs I might need (if I didn’t have all , of course).

Stability

It’s been rock-solid. Right now, as I draft this and am prompted to install the Ventura 13.4.1 upgrade, the machine has 34 days of uptime. I leave it on 24/7, and it hasn’t (yet) crashed or hung on me.

In comparison, I’ve had to reboot the Parallels VM at least once every couple of weeks due to various updates and at least one occasion where it was unaccountably slow.

Teething Issues

There’s something that annoys me a lot, though: TouchID with a Bluetooth keyboard has been completely hit and miss for me.

Sometimes it doesn’t work to unlock my Mac (and my watch unlocks it instead), most often it just plain doesn’t work with Safari, Secrets, the App Store or anything else–and requires a manual login.

I get that I will need to re-authenticate every now and then, but Touch ID just plain not working less than five minutes after it did once is infuriating.

Another thing: like a few other people, I’ve found that my keep waking up during sleep for no good reason. I tried all the usual tricks (disabling Power Nap, disabling Wake for Network Access, etc.) but this seems to be a Ventura issue–so when I walk away from my desk I just turn the monitors off (which is arguably better anyway).

Finally, something that annoys me a fair bit is that the Microsoft Remote Desktop app renders much slower than when connecting to my Linux virtual desktops, and even to some Windows VMs I’ve hand-tuned for RDP performance.

I suspect this is because it negotiates a slower encoding by default, and since the application has effectively zero tunable performance settings and I cannot find any way to force it to use GFX/RFX, I just worked around that by using X11.app and freerdp (which is what uses under the hood anyway).

Conclusion

So far, this was probably the best desktop computer I’ve ever had, and I never see it. Or hear it. Or even worry about performance (yet) and as such, I’m really curious to see how it would compare to three kinds of machines (besides project Volterra, of course):

  • The new crop of Ryzen 7000 mini-PCs, which are still undergoing a sort of Cambrian explosion right now as the PC desktop market moves away from DIY GPU-toting monsters and into pre-built machines with souped-up mobile chipsets.
  • Something like an Ampere Altra development workstation, which I think has a lot of potential.
  • A Mac Studio with an M2 Ultra–I’m not sure I’d want to pay the premium for it, but I’d love to see what it can do.

Maybe some day. Right now, I’m going to enjoy the quiet.

This page is referenced in: