Jump to content

Apple will allow Linux VMs to run Intel apps with Rosetta in macOS Ventura

Spindel

 

Summary

Ventura still doesn't enable the installation of x86 operating systems on Apple Silicon Macs—only running x86 apps within Arm operating systems. 

 

Quotes

Quote

 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.

 

My thoughts

Bye bye x86…

 

…on a more serious note, this is great, the article also states that this might work on other ARM CPUs (but with some limitations) too not just AS

 

Sources

https://arstechnica.com/gadgets/2022/06/macos-ventura-will-extend-rosetta-support-to-linux-virtual-machines/

Link to comment
Share on other sites

Link to post
Share on other sites

Great news! With that, Apple Silicon (maybe) just got viable for my work - as lots of software I use is closed source Linux x86 software supplied by Intel and AMD. (FPGA development in VHDL)

 

Maybe. Hopefully. Needs to be tested. My boss wants to buy an M2... maybe I can nudge him towards testing that on his machine. 

Link to comment
Share on other sites

Link to post
Share on other sites

The Virtualization framework in macOS is absurdly easy to use, although at this point is lacking in features. They’re adding shared folders to Mac guests in this release (Linux guests already had it), in addition to adding the Rosetta stuff to Linux guests, but as of now there’s no sign of snapshotting yet. I’m hoping they’ll do something for that next year (I was hoping for it this year but oh well)

 

As for Installing x86 guest operating systems, that would no longer be visualization, but emulation. I haven’t tried it yet so no idea how well it performs, but you can use UTM (free download from website, or £9 in the App Store if you want to support the project) to do emulation of other platforms (it uses qemu under the hood) in addition to using the native hypervisor for Virtualization
 

I was thinking the Rosetta in Linux guest would most likely be useful for being able to run docker containers in a fast virtualized environment rather than a presumably a comparatively sluggish emulated one.

 

I don’t think UTM has been updated yet to support the new features (you need to compile it with a beta version of Xcode after all), but since UTM is open source I’m sure someone will make a branch and/or build available to test the new stuff out.

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, Spindel said:

 

Summary

Ventura still doesn't enable the installation of x86 operating systems on Apple Silicon Macs—only running x86 apps within Arm operating systems. 

 

Can you give an easy(ish) explanation fo the difference between these? You seem pleased with the solution available while the other option would seem to be better?

🖥️ Motherboard: MSI A320M PRO-VH PLUS  ** Processor: AMD Ryzen 2600 3.4 GHz ** Video Card: Nvidia GeForce 1070 TI 8GB Zotac 1070ti 🖥️
🖥️ Memory: 32GB DDR4 2400  ** Power Supply: 650 Watts Power Supply Thermaltake +80 Bronze Thermaltake PSU 🖥️

🍎 2012 iMac i7 27";  2007 MBP 2.2 GHZ; Power Mac G5 Dual 2GHZ; B&W G3; Quadra 650; Mac SE 🍎

🍎 iPad Air2; iPhone SE 2020; iPhone 5s; AppleTV 4k 🍎

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Paul Thexton said:

I was thinking the Rosetta in Linux guest would most likely be useful for being able to run docker containers in a fast virtualized environment rather than a presumably a comparatively sluggish emulated one.

 

This is exactly what it was made for, but it has also been made and licensed in such a way that it will be useful for the Linux on M1 bare metal project as well (if they want to use it).  Apples devs have in the last few years shown that were they can (without breaching NDA) they are all for helping this project, changes to the boot loader that are just for the linux project, and the most recent changes to Metal3 were Xcode will now compile shaders all the way to binary before yo ship the app will make it a lot simpler to reverse engineer the more complex instructions that are yet to be deciphered. (like all other platforms until now gpu sanders were just in time compiled so intercepting them required putting macOS inside a VM like hypervisor that could sniff the bytes being sent to the gpu). 

Link to comment
Share on other sites

Link to post
Share on other sites

53 minutes ago, hishnash said:

it will be useful for the Linux on M1 bare metal project as well (if they want to use it).

Yeah. I did wonder if that was an avenue the Asahi folks would go down, but I hadn't yet looked in to whether Apple would get upset about fishing the Rosetta implementation out of their Hypervisor to run on Linux bare metal.

Link to comment
Share on other sites

Link to post
Share on other sites

8 minutes ago, Paul Thexton said:

but I hadn't yet looked in to whether Apple would get upset about fishing the Rosetta implementation out of their Hypervisor to run on Linux bare metal.

Som people looked into the license terms and it seems that as long as your running it on apple hardware its all good. (same as macOS itself) 
 

8 minutes ago, Paul Thexton said:

I did wonder if that was an avenue the Asahi folks would go down,

They seem quite happy to take the binary blobs of firmware apple provide and let you opt to have these used (not on m1 Macs when firmware is setup for a co-prosssor the main cpu that only runs the linux os is in complete controle of the MMU so can fully isolate that firmware, eg its impossible for Appels GPU/SSD etc binary firmware to talk to the networking co-prosssor without linux giving it access).  
 

Since rosseta is a user-space application I don't see much concern in using it its just the same as any other close source app you might install. 

Link to comment
Share on other sites

Link to post
Share on other sites

"apple will allow"????

 

Does this mean they were doing something to prevent it? 

 

Imagine if Intel decided what software you were and weren't allowed to run on their IP?

 

 

Grammar and spelling is not indicative of intelligence/knowledge.  Not having the same opinion does not always mean lack of understanding.  

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, mr moose said:

Does this mean they were doing something to prevent it? 

 

Apple is not doing anything to stop you other than a license agreement.

People have already (illegally) run this on AWS graviton cpus.  

The main apple dose mentions this for linux VMs so the question was if the license terms restrict the linux VMs or to Apple Hardware as it turns out they are using the same license terms as macOS so any apple hardware. 

 

 

6 minutes ago, mr moose said:

Imagine if Intel decided what software you were and weren't allowed to run on their IP?

 

They do, (or did until they switched to LLVM) you had to buy a license for the intel optimised compiler and this license was very strict about how you could use it, you needed a different license if you wanted to use it in a VM to if you wanted to use it on your direct machine bare metal. In fact in the enterprise space the idea of having different licenses based on VM vs bare metal is extremely common most paid Database software over the years has had this.  

Link to comment
Share on other sites

Link to post
Share on other sites

20 minutes ago, mr moose said:

"apple will allow"????

 

Does this mean they were doing something to prevent it? 

 

Probably a better title would have been "Apple have made Rosetta 2 available to Linux"

 

Basically in the VM configuration you can attach a VirtIO device which has the blob inside it to allow you to install Rosetta2 as the binary format handler for x86_64 ELF binaries.

 

https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Video Beagle said:

Can you give an easy(ish) explanation fo the difference between these? You seem pleased with the solution available while the other option would seem to be better?

The OS is the framework, it is native to utilize the architecture (in theory) as efficiently as possible. Also this is needed to make an efficient translation of apps that are non native. 
 

Best option would still be to have apps native, but by enabling rosetta for Linux too you can use an ARM Linux dist but still have the option to run your must have app that has not been ported to ARM. 
 

In my opinion your question comes from the wrong direction. It’s not that x86 OS:es should be able to run on ARM. It’s that x86 apps, in the best of worlds, should be recompiled for ARM. The latter is the best option, but if said apps are orphaned or have stubborn devs, this is a good option for people that need Linux and some x86 apps. 

Link to comment
Share on other sites

Link to post
Share on other sites

39 minutes ago, hishnash said:

Apple is not doing anything to stop you other than a license agreement.

People have already (illegally) run this on AWS graviton cpus.  

The main apple dose mentions this for linux VMs so the question was if the license terms restrict the linux VMs or to Apple Hardware as it turns out they are using the same license terms as macOS so any apple hardware. 

 

 

They do, (or did until they switched to LLVM) you had to buy a license for the intel optimised compiler and this license was very strict about how you could use it, you needed a different license if you wanted to use it in a VM to if you wanted to use it on your direct machine bare metal. In fact in the enterprise space the idea of having different licenses based on VM vs bare metal is extremely common most paid Database software over the years has had this.  

I need a license to run software I own on a CPU I have purchased?  Sad sad world indeed.

 

 

Grammar and spelling is not indicative of intelligence/knowledge.  Not having the same opinion does not always mean lack of understanding.  

Link to comment
Share on other sites

Link to post
Share on other sites

34 minutes ago, mr moose said:

I need a license to run software I own on a CPU I have purchased?  Sad sad world indeed.

 

that is literally every bit of software out there, well not open source software (well even that has licenses attached, and you could write a valid open source license that restricts its use to given hardware open source is about the code being readable not about other restrictions). All software has licenses attached of some form or other. 

Link to comment
Share on other sites

Link to post
Share on other sites

9 minutes ago, hishnash said:

that is literally every bit of software out there, well not open source software (well even that has licenses attached, and you could write a valid open source license that restricts its use to given hardware open source is about the code being readable not about other restrictions). All software has licenses attached of some form or other. 

There is a big difference between buying a license to use software from the software developer and hardware makers actively preventing people from running software they already own.

 

 

Grammar and spelling is not indicative of intelligence/knowledge.  Not having the same opinion does not always mean lack of understanding.  

Link to comment
Share on other sites

Link to post
Share on other sites

48 minutes ago, mr moose said:

I need a license to run software I own on a CPU I have purchased?  Sad sad world indeed.

 

 

Yes. Exactly how right now it’s technically illegal to run Windows ARM on anything other than Microsoft’s own hardware. 
 

Sad for sure, but software licensing restrictions (even if they’re not enforced by hardware) are the norm in the world we live in. 

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, mr moose said:

There is a big difference between buying a license to use software from the software developer and hardware makers actively preventing people from running software they already own.

 

 

Mountain. Molehill. 
 

The latter isn’t even what’s happening? Apple have compiled an implementation of their Rosetta 2 translation tech and made it available to run on Linux. That’s literally all that’s happened here. The debate was whether Apple intended for that software to be run inside their own hypervisor only (which while stupid they would be legally entitled to do) or if it’s fine to also use it when running Asahi Linux on bare metal. 

Link to comment
Share on other sites

Link to post
Share on other sites

16 minutes ago, mr moose said:

There is a big difference between buying a license to use software from the software developer and hardware makers actively preventing people from running software they already own.

I Don't understand what your talking about... your saying the software licensing you buy when buying a Mac should not be able to have the same restrictions on them than other software licenses. MacOS is not shareware it is has a license (just like windows) you buy that license by buying an apple Mac (that is the only way you can buy the license). 
 

 

Link to comment
Share on other sites

Link to post
Share on other sites

22 hours ago, hishnash said:
22 hours ago, mr moose said:

 

I Don't understand what your talking about

I don't understand why you're engaging in this... Moose is never in an apple thread for constructive discussion, commentary, or questions. 

🖥️ Motherboard: MSI A320M PRO-VH PLUS  ** Processor: AMD Ryzen 2600 3.4 GHz ** Video Card: Nvidia GeForce 1070 TI 8GB Zotac 1070ti 🖥️
🖥️ Memory: 32GB DDR4 2400  ** Power Supply: 650 Watts Power Supply Thermaltake +80 Bronze Thermaltake PSU 🖥️

🍎 2012 iMac i7 27";  2007 MBP 2.2 GHZ; Power Mac G5 Dual 2GHZ; B&W G3; Quadra 650; Mac SE 🍎

🍎 iPad Air2; iPhone SE 2020; iPhone 5s; AppleTV 4k 🍎

Link to comment
Share on other sites

Link to post
Share on other sites

22 hours ago, hishnash said:

I Don't understand what your talking about... your saying the software licensing you buy when buying a Mac should not be able to have the same restrictions on them than other software licenses. MacOS is not shareware it is has a license (just like windows) you buy that license by buying an apple Mac (that is the only way you can buy the license). 
 

 

I'm saying the concept that  a hardware maker can and does restrict what software you run on it is anti consumer.  You don;t seem to care, good for you,  but this sort of practice is not going any place good. 

 

It's an artificial barrier. 

Grammar and spelling is not indicative of intelligence/knowledge.  Not having the same opinion does not always mean lack of understanding.  

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Video Beagle said:

I don't understand why you're engaging in this... Moose is never in an apple thread for constructive discussion, commentary, or questions. 

Pointless post is pointless.

 

 

Grammar and spelling is not indicative of intelligence/knowledge.  Not having the same opinion does not always mean lack of understanding.  

Link to comment
Share on other sites

Link to post
Share on other sites

22 hours ago, Paul Thexton said:

Yes. Exactly how right now it’s technically illegal to run Windows ARM on anything other than Microsoft’s own hardware. 
 

Sad for sure, but software licensing restrictions (even if they’re not enforced by hardware) are the norm in the world we live in. 

 

And just as corrosive to consumers when MS do it.  

Grammar and spelling is not indicative of intelligence/knowledge.  Not having the same opinion does not always mean lack of understanding.  

Link to comment
Share on other sites

Link to post
Share on other sites

10 minutes ago, mr moose said:

 

And just as corrosive to consumers when MS do it.  

MS doing it being Windows 10S, it got heavily criticized, yet people will defend a multi trillion dollar company for not being able to run software you may have previously been able to use.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Blademaster91 said:

MS doing it being Windows 10S, it got heavily criticized, yet people will defend a multi trillion dollar company for not being able to run software you may have previously been able to use.

And people heavily criticized 10s when using it was completely voluntary,   it could be freely upgraded to full windows on any consumer bought machine without restrictions.  So it's not like any other company else gets treated better.

 

 

 

 

Grammar and spelling is not indicative of intelligence/knowledge.  Not having the same opinion does not always mean lack of understanding.  

Link to comment
Share on other sites

Link to post
Share on other sites

10 minutes ago, Blademaster91 said:

MS doing it being Windows 10S

Different thing entirely. I was actually referring to the fact you can't run Windows for ARM on anything other than officially licensed (with a Qualcomm SoC) hardware, which is way more analogous to Apple licensing Rosetta2 for use on their own hardware only, than Windows 10S which was basically "Windows but you can only install apps from the App Store" IIRC?

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, Paul Thexton said:

Different thing entirely. I was actually referring to the fact you can't run Windows for ARM on anything other than officially licensed (with a Qualcomm SoC) hardware, which is way more analogous to Apple licensing Rosetta2 for use on their own hardware only, than Windows 10S which was basically "Windows but you can only install apps from the App Store" IIRC?

 

 

Which was not quite what my complaint was,  if it was qualcomm saying you could only run windows arm on their socs then it would be more in line with my concerns.  Because if I write a program for x86,  and I want to run it on arm with an emulator (just an example we don't need to discuss why this is stupid), then as I am not breaking any licensing agreements why should ARM have any power to stop me? 

 

In my opinion the concept any hardware company allowing me to run a program I own (meaning I have permission from the developer to run it on any device) should not be considered a great move, it should be something we already have and always had, it should not even be news let alone a headline.

 

 

 

 

 

 

Grammar and spelling is not indicative of intelligence/knowledge.  Not having the same opinion does not always mean lack of understanding.  

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×