Apple Will Allow Linux VMs To Run Intel Apps With Rosetta In macOS Ventura (arstechnica.com) 35
An anonymous reader quotes a report from Ars Technica: One of the few things that Intel Macs can do that Apple Silicon Macs can't is run operating systems written for Intel or AMD processors inside of virtual machines. Most notably, this has meant that there is currently no legal way to run Windows on an Apple Silicon Mac. Apple Silicon Macs can, however, run operating systems written for Arm processors inside of virtual machines, including other versions of macOS and Arm-compatible versions of Linux. And those Linux VMs are getting a new feature in macOS Ventura: the ability to run apps written for x86 processors using Rosetta, the same binary translation technology that allows Apple Silicon Macs to run apps written for Intel Macs.
Apple's documentation will walk you through the requirements for using Rosetta within a Linux guest operating system -- it requires creating a shared directory that both macOS and Linux can access and running some terminal commands in Linux to get it set up. But once you do those steps, you'll be able to enjoy the wider app compatibility that comes with being able to run x86 code as well as Arm code. Some developers, including Hector Martin of the Asahi Linux project and Twitter user @never_released, have already found that these steps can also enable Rosetta on non-Apple ARM CPUs as long as they're modern enough to support at least version 8.2 of the Arm instruction set. As Martin points out, this isn't strictly legal because of macOS's licensing restrictions, and there are some relatively minor Apple-specific hardware features needed to unlock Rosetta's full capabilities.
Apple's documentation will walk you through the requirements for using Rosetta within a Linux guest operating system -- it requires creating a shared directory that both macOS and Linux can access and running some terminal commands in Linux to get it set up. But once you do those steps, you'll be able to enjoy the wider app compatibility that comes with being able to run x86 code as well as Arm code. Some developers, including Hector Martin of the Asahi Linux project and Twitter user @never_released, have already found that these steps can also enable Rosetta on non-Apple ARM CPUs as long as they're modern enough to support at least version 8.2 of the Arm instruction set. As Martin points out, this isn't strictly legal because of macOS's licensing restrictions, and there are some relatively minor Apple-specific hardware features needed to unlock Rosetta's full capabilities.
Just use UTM (Score:2, Insightful)
Re: (Score:3)
UTM is either going to run the ARM version of Windows and rely on Microsoft's x86 emulation, which is limited and slow, or use QEMU to emulate x86, which is dramatically slower than that.
Re: Just use UTM (Score:2)
UTM uses QEMU which simply runs under Rosetta as an x86 app. I am able to run Windows 10 and even XP on it. Runs fine.
Re: (Score:3)
UTM is using QEMU as an ARM64 app. QEMU is performing the x86 emulation rather than Rosetta. The performance is significantly slower than Rosetta's emulation, in particular because AFAIK QEMU can't take advantage of the bits that Apple added to their CPU to accelerate x86 emulation, such as the Intel memory ordering mode. It may still run fine, but it won't run as fast as Rosetta running the same x86 code.
biendian (Score:2)
the bits that Apple added to their CPU to accelerate x86 emulation, such as the Intel memory ordering mode.
Wait, what? I though ARMs were bi-endian anyway, to begin with. Or did Apple add extra stuff to more closely map to the intel behaviour when switched in little endian more compared to standard designs by Arm Ltd?
Re: (Score:2)
The architecture is bi-endian. The vast majority of implementations are little-endian, including Apple's.
But memory ordering is not endianness. It is another thing entirely. Basically, it's about how to order the instructions to get best performance out of the CPU. This differs rather greatly between ARM and x86_64 (as implemented by Intel and AMD).
Re: (Score:2)
Re: (Score:2)
Thanks for the pointer... got UTM going for virtualization.
Where Rosetta 2 will come in handy would be virtualizing Windows + apps that only run under amd64, like Solidworks.
I'm running Windows for ARM under Parallels (Score:3)
Is that illegal? it works just fine. and Windows has it's own translation layer, so it can run intel apps... so... confused about what's new about this?
Re: (Score:2)
I believe the illegal part they're referring to is running Rosetta on non-Apple ARM hardware - since Apple only licenses their software for use on their hardware, you could argue that it's every bit as illegal as just pirating it outright. Either way you don't have a license to use the software in the manner you are.
As for what's new - firstly, did you miss the "On Linux" bit? There's a whole lot of 'nix folk that like Apple's polished BSD distro well enough, and a vast library of powerful Linux/x86 softw
Re: (Score:2)
It's illegal because ARM Windows' license does not permit this. The OS is not sold at retail like the x86 version.
Re: (Score:1)
Re: (Score:2)
Re: (Score:2)
What does Windows have to do with anything?
Re: (Score:2)
The post was literally "I'm running Windows for ARM under Parallels. Is that illegal?"
Re: (Score:2)
Ah, right - so it is. You probably should have replied to the original poster, since it has nothing to do with my own reply.
Why not using Linux/Aarch64 (Score:2)
As for what's new - firstly, did you miss the "On Linux" bit? There's a whole lot of 'nix folk that like Apple's polished BSD distro well enough, and a vast library of powerful Linux/x86 software they'd like to run.
But why run the Linux/x86 software? Why not just get the native Linux/Aarch64 packages instead?
The whole purpose of the Linux ecosystem is being opensource so most of the time a new arch is just one recompile away, which often boils down to enabling a checkbox on some automatic compile system (e.g. on SuSE's OBS) - see the large swaths of software that run on SBC such as Raspberry Pi and the likes.
Or you mean the corner case of needing to use a piece of software/libraries which relies heavily on hand-optimi
Re: (Score:2)
As far as I'm aware, it isn't illegal. People seem to love to state that it violates the EULA, but there doesn't appear to be anything in the EULA forbidding it. Additionally, a Microsoft employee has apparently stated that it's fine [getwired.com], albeit potentially unsupported.
Re: (Score:2)
I could be wrong, but I believe that running software without a license is generally regarded as copyright infringement (thanks to the fact that you can't run software without copying it into RAM)
And nobody has a license to run any part of MacOS on non-Apple hardware.
Re: (Score:2)
I feel like I'm missing something. OP said they're using Parallels, which is a VM host for MacOS. I presume this is on Apple hardware. And the VM guest is Windows ARM. If OP bought a Mac and has licenses for Parallels and Windows ARM, what's the problem?
GP comments on the only bit I'd be worried about: whether the Win license permits virtualization.
Re: (Score:2)
Nah, that'd be me. My brain was stuck on the illegal bit mentioned in the article summary.
Re: (Score:2)
If OP bought a Mac and has licenses for Parallels and Windows ARM, what's the problem?
I think the issue is that Microsoft has made a business decision not to make licenses for Windows ARM available at retail, only as an OEM preinstall.
MY HEAD JUST EXPLODED (Score:1)
Apple Will Allow Linux VMs to Run Intel Apps With Rosetta in macOS Ventura
Next time, just "Apple Will Allow You"
Spock... (Score:1)
It isn't that long ago (Score:1)
Triple emulation? (Score:2)
Binaries after three trips thru emulation
IF (AMD, x86)
IF (Linux, x86)
IF(ObjC,NOP)
Then
exe.MS compile -Basic
Performance cannot be good (Score:3)
Running an emulator inside a virtual machine in user space on real metal.
Asahilinux.org alpha (Score:2)
Related:
"Asahi Linux For Apple Silicon Reaches Alpha Status"
https://techlog360.com/asahi-l... [techlog360.com]
https://asahilinux.org/ [asahilinux.org]
Slight differences (Score:2)
Just to point out the differences:
- The purpose of Asahi Linux is to run on the exact hardware(*) present in Apple Silicon Macs:
i.e. also support all the specific peripheral present there, such as the GPU, various features of the embed controller, etc. and thus can run on bare metal, taking care of initialising the hardare(*)
- Aarch64 builds of other GNU/Linux distros (Debian, Manjaro, etc.) already exists and nothing prevents you from running those in a VM.
But they lack(*) the very specific drivers and dev
x86_64 on Aarch64 engine. (Score:2)
Why does Apple get to police what a VM does?
Because they are the one who wrote Rosetta. And Rosetta is proprietary. They get to decide their licensing term. They get to decide which platform they made it available to. They get to decide which binary Rosetta is able to translate.
The whole point of a VM is that it is behaves more or less like a native machine,
That yes. So you could run some generic Aarch64 Linux distro as a VM (say run Debian or Manjaro).
so why does a VM need the Host OS's permission to run any particular app inside an emulator running on the VM?
At some point one could want to run a x86_64 elf binary inside that Aarch64 Linux VM, and thus you need to translate. (don't ask me why a x86_64 elf instead of a native Aarch64 elf
parallels x86 port (Score:2)
The question for me is, does this allow parallels to drop a rosetta backed x86 instance of their product to speed things up even more.
Right now, M1>parallels>Win11 arm> Windows x86-64 emulator works, it actually works really well. But microsoft's x86-64 on ARM emulator is WAY slower than rosetta. Licensing on Win11-arm is an issue as well.
I still *need* windows for 3rd party software and my current parallels stack does work really well but it'd be great to have a 'cleaner' licensing option with
Re: parallels x86 port (Score:2)
I've been wondering about this as well, and hope that Apple allows Rosetta2 to be used by Parallels. What are the licensing issues on Win11-arm that you mention?
Re: (Score:2)
What are the licensing issues on Win11-arm that you mention?
Not being able to buy a Win11-arm license is the main thing. Running in something like a 'demo' mode. It works, but Microsoft could pull the rug out anytime.
Re: (Score:2)