Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
OS X Virtualization Apple Linux

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.

This discussion has been archived. No new comments can be posted.

Apple Will Allow Linux VMs To Run Intel Apps With Rosetta In macOS Ventura

Comments Filter:
  • Just use UTM (Score:2, Insightful)

    by wmelnick ( 411371 )
    Why is this such a big deal? UTM will let you run intel-based VMs right now. Just install it for free through brew, or pay $10 and get it through the app store.
    • by Guspaz ( 556486 )

      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.

      • 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.

        • by Guspaz ( 556486 )

          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.

          • 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?

            • 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).

    • by tw2k ( 4011579 )
      I’ve found the emulation in UTM great - I had memories of Virtual PC on my PowerPC Mac that I was glad not to recreate. There should be performance benefits of Rosetta 2 though, Apple Silicon can switch to an intel-like memory consistency model (total store ordering) which is one reason why Rosetta 2 works so well. No doubt the benchmarks will tell.
    • 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.

  • 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?

    • 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

      • by Guspaz ( 556486 )

        It's illegal because ARM Windows' license does not permit this. The OS is not sold at retail like the x86 version.

        • by ruurd ( 761243 )
          Funny though because it is possible to use a Windows 11 license to run Windows 11 ARM....
        • Against a license != illegal. Microsoft could sue you, but can not charge you with breaking a law. Just a contract.
        • What does Windows have to do with anything?

          • by Guspaz ( 556486 )

            The post was literally "I'm running Windows for ARM under Parallels. Is that illegal?"

            • Ah, right - so it is. You probably should have replied to the original poster, since it has nothing to do with my own reply.

      • 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

    • 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.

      • 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.

        • by q4Fry ( 1322209 )

          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.

          • Nah, that'd be me. My brain was stuck on the illegal bit mentioned in the article summary.

          • by tepples ( 727027 )

            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.

  • Apple Will Allow Linux VMs to Run Intel Apps With Rosetta in macOS Ventura

    Next time, just "Apple Will Allow You"

  • Useless. Unwise.
  • That Mac were running on different hardware and were losing marketshare because of the lack of compatibility... Maybe this move will take them down a bit...
  • Binaries after three trips thru emulation
      IF (AMD, x86)
      IF (Linux, x86)
      IF(ObjC,NOP)
    Then
    exe.MS compile -Basic

  • by xorbe ( 249648 ) on Tuesday June 07, 2022 @09:53PM (#62602154)

    Running an emulator inside a virtual machine in user space on real metal.

  • Related:
    "Asahi Linux For Apple Silicon Reaches Alpha Status"
    https://techlog360.com/asahi-l... [techlog360.com]

    https://asahilinux.org/ [asahilinux.org]

    • 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

  • 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

"Gravitation cannot be held responsible for people falling in love." -- Albert Einstein

Working...