I tried a bunch of different options and landed on multipass. I'm curious whether someone has found a good option for running x86 images on m1 chips. I'm generally happy with the multipass VMs I'm creating but they are arm architecture so then if i use docker images inside them I'm limited to arm images. Maybe I just haven't explored how to run x86 correctly within multipass? I'm finding that usually arm images are a…
I've had the best experience using Parallels. Not sure what exactly goes on under the hood but x86 performance on my M1 Mac is snappier than what I've experienced in VirtualBox (have never tried Multipass).
Regardless, performance on my beefy M1 Max MacBook Pro is pitiful compared to running natively on an x86 system.
I tried a bunch of different options and landed on multipass. I'm curious whether someone has found a good option for running x86 images on m1 chips. I'm generally happy with the multipass VMs I'm creating but they are arm architecture so then if i use docker images inside them I'm limited to arm images. Maybe I just haven't explored how to run x86 correctly within multipass? I'm finding that usually arm images are a…
I've had the best experience using Parallels. Not sure what exactly goes on under the hood but x86 performance on my M1 Mac is snappier than what I've experienced in VirtualBox (have never tried Multipass). Regardless, performance on my beefy M1 Max MacBook Pro is pitiful compared to running natively on an x86 system.
You pay for parallels, right? I always try to find something that's fully open so I'm able to control my destiny fully. That's a bit ironic trying to run on apple hardware, but if the entire stack above the bottom layer is open then I can easily switch hardware of course.
UTM also have their own docs on it: https://docs.getutm.app/advanced/rosetta/ And FYI, this is also available in Docker Desktop for macOS, which allows better performance when running x86_64 containers compared to the older solution where Docker was using qemu.
Do you have any sources for that? I basically gave up on Docker for M1 since the qemu performance is terrible. Last time I checked, Rosetta only worked for one-off binaries, wouldn’t really allow docker to run more x86 code inside.
It is used for individual binaries. The Linux kernel is arm, but the binaries running on it can be x86 running on Rosetta. This works particularly well with containers, which come with their own libc.
I tried a bunch of different options and landed on multipass. I'm curious whether someone has found a good option for running x86 images on m1 chips. I'm generally happy with the multipass VMs I'm creating but they are arm architecture so then if i use docker images inside them I'm limited to arm images. Maybe I just haven't explored how to run x86 correctly within multipass? I'm finding that usually arm images are a…
The key is to ensure your x86 code is run with Rosetta instead of being emulated (with qemu for instance). By upgrading to Ventura and using the latest Docker Desktop which allows Rosetta translation, I was able to run x86 containers 6 times faster than before. Last time I checked, Multipass had no options for Rosetta translation yet (it's planned though).
Keep in mind Rosetta has a few limitations like it can't translate AVX instructions.
I've had the best experience using Parallels. Not sure what exactly goes on under the hood but x86 performance on my M1 Mac is snappier than what I've experienced in VirtualBox (have never tried Multipass). Regardless, performance on my beefy M1 Max MacBook Pro is pitiful compared to running natively on an x86 system.
You pay for parallels, right? I always try to find something that's fully open so I'm able to control my destiny fully. That's a bit ironic trying to run on apple hardware, but if the entire stack above the bottom layer is open then I can easily switch hardware of course.
That’s noble, but open source doesn’t always deliver the same benefits of COTS products, such as stability and support. That trumps ideology for many people and businesses.