3 ms·
I wouldn't try to make macOS into Arch, if Arch is what works for you. Just run Arch in a VM on the mac, using Apple's virtualization framework [1]. (No need
by w10-1 1y ago
I wouldn't try to make macOS into Arch, if Arch is what works for you.
Just run Arch in a VM on the mac, using Apple's virtualization framework [1]. (No need for other wrappers; the framework is often easier to use directly.) I find no significant performance issues; a lot of software actually runs faster in a Linux VM than when I compile and run it on the mac.
The limitations are that the Linux VM's don't support save/restore of state (i.e., you have to shut down to stop the VM) and the graphics and device support is limited.
You might get more performance if you compile your own Arch distribution with all the flags necessary to enjoy modern CPU features in M-series (particularly M4+ with SME extensions). With M4-Pro memory should run 273GB/second for JAX and PyTorch.
However, AFAICT, PyTorch supports vectorization on Apple silicon by delegating to Apple's Metal API's, and that wouldn't be available from the Linux VM, so you might prefer running those on macOS directly.
To me the biggest draw of the M4 processor is that it supports CPU tracing (at least for Xcode-run code): actual, direct (not sampled) data about CPU internals like branching, cache misses, etc. If you're into performance, this will take you from working with a black box to seeing exactly what's up.
[1] https://developer.apple.com/documentation/Virtualization/running-gui-linux-in-a-virtual-machine-on-a-mac https://developer.apple.com/documentation/Virtualization/run...
- c-hendricks 1y agoI would love to use Arch in a VM on macOS, but Arch ARM is pretty bad. From the installation experience, the frequent stops in updates because something is compiling, to Chromium being broken for months.
- WhyNotHugo 1y agoConsider Alpine, if it fits your needs. The ARM support if first class.
- lrvick 1y agoBut Alpine does not even attempt reproducible builds, maintainer signing, etc. Running Alpine means anyone with access to the git repo or build server can push any code they want to your system. Alpine is a musl research/hobby distro at best.
- minton 1y agoInsane that their official docs suggest running some Xcode project to start your VM. It seems like such a powerful feature might have a better UI.
- w10-1 1y agoYou build your VM app in Xcode, but you can run the app headless. The UI is your VM, with a menu to start and stop the VM.
- JimDabell 1y agoThey are the official docs for a developer API, not an end-user feature. Of course they are going to describe it in Xcode terms. That’s how you use the API. If you want an app, then pick an app that uses that API.
- gloxkiqcza 1y agoMore and more I feel like Apple’s SW division is dropping the ball. It’s starting to show more and more that the software is lagging behind the hardware, especially with macOS. macOS is their power user friendly OS. For once they could do a release that actually improves on that front. The list of things to improve is so long and endlessly repeated. Just imagine what an amazing OS macOS could be if Apple actually cared.
- rollcat 1y agoIs it also insane to have access to a CLI in a graphical user interface? It just gives you a different level of abstraction to work with. If you want a simple GUI, just grab UTM <https://mac.getutm.app https://mac.getutm.app>. Also: check out their gallery.
- trueismywork 1y agoWhat do you mean by direct data on branch prediction (as opposed to sampled one, presumably you mean from perf)? An example?
- w10-1 1y agoWWDC 2025, "Optimize CPU performance with Instruments" 14:05+ https://developer.apple.com/videos/play/wwdc2025/308/ https://developer.apple.com/videos/play/wwdc2025/308/