What would you recommend if I need to run both Linux and Windows alongside MacOS? Virtualisation? Or would I be better off using more than one machine?
What would you recommend if I need to run both Linux and Windows alongside MacOS? Virtualisation? Or would I be better off using more than one machine?
OTOH if you try to install Linux on any recent MacBook Pro, you are in for hours and hours of googling weird shit with like only 2 comments on forums you have never heard of, and you will still never get Wi-Fi, sound, and sleep/hibernation all working at the same time.
It's just not worth it. If you are so hardcore about software freedom that you demand to install Linux natively on the metal then you should absolutely not, now or ever, buy a Mac.
OTOH if you just need to like, build some shit that only builds and runs on Linux, and you have $200 — VMWare. I don't like VMWare in theory (the Monsanto of tech companies) but I sure like them a lot in practice.
I have needed a Mac/Windows/Linux laptop for my job for the past decade. In former times, I installed Windows and Mac OS X, and ran the latest Ubuttnu in either VMWare Workstation or VMWare Fusion.
But since 2016 I just use VMWare Fusion for both Windows and Linux. If you want to use a Mac, I am confident that's the "best" approach.
(For me, that means "runs all GUI and CLI programs reasonably well, with the minimum hours per year spend fucking with shit just to make it work. But if you actually need efficient GPU acceleration or real high performance (like not a web app or GUI app, but some kind of computationally expensive whatever) under Linux — well, then get something other than a Mac.)
So you don't need a MacBook or an iMac to run MacOS.
But it might be worth it, depending what you need to do.. I tend to do my actual work writing code and on the Mac side, even if the code is running on Linux, so for me it makes sense to keep the Mac experience the native one.
The small investment in VMWare Fusion was worth it but I still need some dedicated machines.
I just have a few issues:
Problem #1: Disk space requirements. I have a late 2013 MBP and windows gobbles up a min 60GB for the image, which is 1/4th my SDD. This is why I ended up buying cheap beige boxes for every other OS (or AWS).
Problem #2: Clipboard on VMWare is a trainwreck. Same goes for VNC and Microsoft Remote Desktop which I also use. My workaround is to use a text file on my router's USB drive so that I cut and paste through that in each OS.
----> I would pay someone $1,000 to come to my house and fix my clipboard problems.
Problem #3a: The magic mouse blows chunks on anything but macOS. And even running Excel on macOS is impossible with a magic mouse. The left-right slop makes it difficult to scroll vertically without drifting diagonally... I don't know how macOS apps solve that.
Problem #3b: I would kill for a mouse with a real middle button, not a scroll+button. Unix/X middle click paste is a feature I sorely miss on macOS and Windows.
> ... not a scroll+button. Unix/X middle click paste is a feature I sorely miss on macOS and Windows.
You phrased it in context like you thought using a Mac was preventing you from using a mouse with a middle button, especially when it was right after the section complaining about the Magic Mouse.
Command-C and Command-V are just so much better. Learn to love them.
This really depends on whether you prefer Apple hardware or not. If you want Macbook hardware, use virtualization. If you want any kind of desktop or a laptop where everything isn't soldered and epoxied together, get whatever PC you want and then put the cheapest available Mac Mini in a corner and access it with remote desktop or similar as necessary. Another good solution is to buy a used Macbook which is old enough to have a rundown battery but not so old it won't run a recent macos, and then you get a better price and the battery doesn't matter because you're not actually using it as a laptop.
WSL is just a linux syscall wrapper around the Windows kernel, so it isn't a perfect replica, but WSL2 runs a customised linux kernel alongside windows, so it should very close.
To triple-boot, you start with OSX, then install Windows via Boot Camp, then resize the Windows partition to make some empty space after it for your Linux install. Then you install refind, and follow up with installing Linux.
You need to do it that way because Boot Camp won't let you leave any empty space on the drive, and you can't put your Linux partition in front of the Windows partition, because the Hybrid MBR partition table that Windows needs can only count to 4 (or something like that).
On the bright side, I think triple-booting is more robust than it used to be. It's been a while since the last time I borked Windows.
A hybrid MBR by definition is not GPT compliant. And failure to comply does in fact routinely result in the loss of user data. It was always appalling incompetency by Apple that Boot Camp ever used hybrid MBR for even one day. To still be doing this in 2020 I consider bordering on malicious.
There's no legitimate technical reason for this.
Long running (and pausing) VMs behave better on fusion. I see better stability when pushed hard. Better use of the hardware. Been a long time since I ran benchmarks, but the same VM was about 4-10 seconds faster on a 2 minute process. Not enough to matter for most. The native disk access helps with things that are IO sensitive.
The UI drivers are better... so if you open up and run a Linux desktop, it feels much more native, if that is a thing.
I don't think I've even opened virtualbox in the last couple years... so my comparisons may be dated. YMMV
Vbox graphics performance also left much to be desired: e.g dragging a terminal window around was slow, produced insane tearing and huge performance impact, and no amount of tuning would help; I’m not even talking about 3D stuff, this is just some plain X lightweight WM without a compositor. No such issue on Fusion, where I just imported the same VM.
But it also depends if you using VMware Fusion on MacOS or VMWare Workstation on Windows and Linux.
But if you use Linux I would suggest using KVM/QEMU and on Windows, Hyper-V.
You can use Vagrant with both KVM and Hyper-V.
I can't use Windows boxes with Vagrant on Linux. It doesn't seem to work that great.
That particular functionality worked fine on Mojave.
It works fine as long as I keep my VDI files on my system drive, but that can be a pain since they're so large.
We're stuck in a situation where fixed-size disk images are too large to use if you care about your host's disk space (unless they're created with an "almost full" target usage), and dynamic sized images tend to grow to unwieldy sizes unless you regularly zero-out empty spaces from the guest (cat /dev/zero >somefile on Linux, sdelete -z C on Windows IIRC), then VBoxManage modifyhd --compact the image from the host once the VM is off.
But it shouldn't be this way. VirtualBox added support for TRIM years ago, and guest OSes could very well happily live inside dynamic images - if it worked at all.
In practice (AFAIK, for the few who ventured to use it) - it doesn't work:
That's what I would do.