Rosetta 2 lacks support for x86 virtualization, Boot Camp not an Apple Silicon option [u]

Posted:
in macOS edited August 2020
Mac users who rely on Windows virtualization software might be left in the lurch when Apple transitions to its own custom ARM processors later this year, as the company's Rosetta Intel-to-ARM translator does not support virtual machine apps.




Apple outlined the limitations of Rosetta (technically Rosetta 2) in a developer document posted to its website this week, noting that while it can translate "most" Intel-based apps, it is unable to do the same for virtual machine apps that handle x86_64 computer platforms. Popular x86_64 virtualization apps include products from Parallels and VMWare that virtualize Windows environments.

Rosetta is also unable to translate kernel extensions.

Unveiled during Monday's WWDC keynote, Rosetta is a key feature that will help Apple and developers transition from Intel-based Macs to hardware running ARM-based chips. The software layer translates apps that contain x86_64 instructions for Apple silicon, which uses an arm64 instruction set. Rolling out the feature now gives developers time to create a universal binary for their apps, but as Apple notes, Rosetta can run slow and is not a substitute for native apps.

In addition to Rosetta's x86 restrictions, Boot Camp will no longer be available for use on Macs powered by Apple silicon. For now, the macOS utility that enabled booting of both Windows and Mac operating systems, will remain in macOS Big Sur as an Intel-only feature. ARM Macs will not be able to access the feature and the company has not announced a replacement.

The transition to Apple silicon is expected to take about two years. Whether virtualization companies are working on a solution for ARM chips remains unknown, though VMWare on Tuesday said a Big Sur-compatible "tech preview" of Fusion will arrive in July.

Apple this week opened the Universal App Quick Start Program to get Developer Transition Kits in developer hands. The kits, which include a Mac mini running an A12Z Bionic SoC, will allow developers to build and test their wares prior to the release of the first ARM Macs later this year.

Update 6/24: Microsoft commented on the development in a statement to The Verge.

"Microsoft only licenses Windows 10 on ARM to OEMs," a company spokesperson said. When asked whether Microsoft plans to update the policy to account for Boot Camp's incompatibility with Apple silicon, the company said, "We have nothing further to share at this time."
«13456

Comments

  • Reply 1 of 110
    tjwolftjwolf Posts: 424member
    Ok, I don’t get it.  I watched the keynote and could have sworn that I saw Parallels Desktop being run on their ARM Mac to show Linux running...or did I imagine that?
  • Reply 2 of 110
    canukstormcanukstorm Posts: 2,700member
    tjwolf said:
    Ok, I don’t get it.  I watched the keynote and could have sworn that I saw Parallels Desktop being run on their ARM Mac to show Linux running...or did I imagine that?
    It was a version of LInux compiled for ARM
    dewmedoozydozenmagman1979maltzjdb8167caladanianwatto_cobra
  • Reply 3 of 110
    sflocalsflocal Posts: 6,093member
    tjwolf said:
    Ok, I don’t get it.  I watched the keynote and could have sworn that I saw Parallels Desktop being run on their ARM Mac to show Linux running...or did I imagine that?
    They were using Linux compiled for ARM architecture.  

    I don't think this news really surprises anyone running Windows on MacOS.  I use VMWare to run several versions of Windows when MacOS goes all ARM exclusively way down the road, I may have to buy a Wintel PC for those times I need it.  

    I was planning on buying an iMac this year, I still might... it might be the last Intel Mac machine I'll get, and it's primarily because I still need Windows compatibility for my non-Mac development tools.
    doozydozenright_said_fredprismaticsjdb8167caladanianmadanwatto_cobra
  • Reply 4 of 110
    Finally they put this matter to rest, as expected since the keynote was vague on it.

    I'm sure Parallels and VMware are having meeting after meeting now (or maybe they were aware previously?) to plan out a similar emulation technique so they don't lose the majority of their Mac sales.

    Apple could open source their Rosetta technology so Parallels and VMware could extend it to work with virtualized apps. I don't expect them to be that helpful though.
    caladanianwatto_cobra
  • Reply 5 of 110
    godriflegodrifle Posts: 267member
    Disappointing. Mac on intel was the greatest dev machine ever invented. I have recommended Macs based primarily on this feature itself in my software development classes, for years. Looks like those days are over. ☹️
    blurpbleepbloopelijahgdarkvaderprismaticsmaltzcaladanianmadan
  • Reply 6 of 110
    mjtomlinmjtomlin Posts: 2,673member
    So we’ll be back to WIntel emulation. Will be interesting to see what types of performance these types of applications can pull off.


    tjwolf said:
    Ok, I don’t get it.  I watched the keynote and could have sworn that I saw Parallels Desktop being run on their ARM Mac to show Linux running...or did I imagine that?

    That was a beta version of Parallels recompiled for Apple Silicon, runnning an ARM-based version of Linux.






    fastasleepmdriftmeyerdoozydozenwatto_cobra
  • Reply 7 of 110
    anomeanome Posts: 1,533member
    Looking at the wording, I can't tell if it's saying it can't translate x86_64 virtualisation apps passing through x86_64 code, or if it can't even translate x86_64 code for virtualisation apps written for ARM. It looks like it might be possible to write a virtual x86_64 environment as long as it doesn't use Rosetta, and runs entirely in ARM, but I could be missing something.

    I fully accept I may be clutching at straws, but Windows virtualisation isn't that big a deal for me. At worst I run my current Windows apps on my current MacBook Pro until I get tired of them.
    watto_cobra
  • Reply 8 of 110
    firelockfirelock Posts: 238member
    I’m not sure that everyone understands the difference between virtualization and emulation. It was never likely that x86 virtualization software would run on ARM Macs even with Rosetta. But it is a virtual certainty that Windows emulators will be available. They won’t be as good as a virtual machine but they will probably suffice more most needs.
    fastasleepdoozydozency_starkmanGG1magman1979watto_cobra
  • Reply 9 of 110
    titantigertitantiger Posts: 300member
    mjtomlin said:
    So we’ll be back to WIntel emulation. Will be interesting to see what types of performance these types of applications can pull off.


    tjwolf said:
    Ok, I don’t get it.  I watched the keynote and could have sworn that I saw Parallels Desktop being run on their ARM Mac to show Linux running...or did I imagine that?

    That was a beta version of Parallels recompiled for Apple Silicon, runnning an ARM-based version of Linux.

    Right, so if Parallels has been recompiled for Apple Silicon, couldn't it then run Windows in a VM?
  • Reply 10 of 110
    djames4242djames4242 Posts: 651member

    Right, so if Parallels has been recompiled for Apple Silicon, couldn't it then run Windows in a VM?
    Parallels would run, yes, and it could run virtual machines running operating systems compiled to run on ARM as well as any software that will compile, but it will not run x86-based operating systems such as Windows (or Linux compiled for x86).
    caladanianwatto_cobra
  • Reply 11 of 110
    firelock said:
    I’m not sure that everyone understands the difference between virtualization and emulation. It was never likely that x86 virtualization software would run on ARM Macs even with Rosetta. But it is a virtual certainty that Windows emulators will be available. They won’t be as good as a virtual machine but they will probably suffice more most needs.
    Parallels and VMWare have a lot of time to figure this out over the next two years.
    doozydozenwatto_cobra
  • Reply 12 of 110
    titantigertitantiger Posts: 300member

    Right, so if Parallels has been recompiled for Apple Silicon, couldn't it then run Windows in a VM?
    Parallels would run, yes, and it could run virtual machines running operating systems compiled to run on ARM as well as any software that will compile, but it will not run x86-based operating systems such as Windows (or Linux compiled for x86).
    Ah.  I guess I thought the virtualization software could emulate the underlying processor needed as well.
    watto_cobra
  • Reply 13 of 110
    dewmedewme Posts: 5,362member
    I’m thinking that some enterprising company could build a full stack x86 Windows PC into a dock or compute-stick form factor that connects to an Apple Silicon Mac via a TB or USB-C port. The host machine could then run a Remote Desktop session into the Windows PC over a virtual network between itself and the Windows PC “dongle.” Yeah, it doesn’t sound very elegant but architecturally it’s not much of a stretch at all. Everyone loves dongles, don’t they?
    StrangeDayswatto_cobracgWerks
  • Reply 14 of 110
    tundraboytundraboy Posts: 1,885member
    I hope the Win emulation is good enough to run Quicken for Windows.  Or that Quicken for Mac sheds the title of shittiest piece of software on the planet and attains feature parity with QfW.  I won't hold my breath for the latter, though.  The Mac and Windows versions of MS Office can work on the same files, why not Quicken?
    inTIMidatorwatto_cobra
  • Reply 15 of 110
    Rayz2016Rayz2016 Posts: 6,957member
    I suppose you could run Windows in the Cloud

    https://docs.microsoft.com/en-us/azure/virtual-desktop/overview

    mikeincadoozydozentommy65caladanianwatto_cobra
  • Reply 16 of 110
    Or the obvious question is why cant they just load up the windows on arm through the EFI? Then just windows handle visualization for win32......
    Also, it probably won't kill hackingtosh because there is a BSD for arm build, so I dont think Darwin is that far off
    watto_cobra
  • Reply 17 of 110
    Disappointing but predictable. Given the ubiquity of “cloud” or platform agnostic apps - maybe not a big deal.

    Still, I see a big impact on development for Microsoft Office AddIns that were previously cross-platform. Not to mention the AI accelerators just now being natively integrated in Excel. I don’t see how that gets ported to Apples hardware.

    Native apps are still a huge and important market. Some things just cannot be ported to a web interface economically or with appropriate security (see: Autodesk and every other engineering design platform)

    As massive and powerful as Apple is - it simply cannot compete with the wintel software world and that has always been its achilles heal. The only exception being Adobe.
    elijahgdarkvadercaladanianwatto_cobra
  • Reply 18 of 110
    anomeanome Posts: 1,533member
    Rayz2016 said:
    I suppose you could run Windows in the Cloud

    https://docs.microsoft.com/en-us/azure/virtual-desktop/overview

    That can get pricy, to the point where it's probably cheaper to just buy a Windows box and be done with it.

    There is an opportunity to start a business selling cloud computing to consumers. Anyone got a few million and an empty warehouse with good internet?
    watto_cobra
  • Reply 19 of 110
    zimmiezimmie Posts: 651member
    mjtomlin said:
    So we’ll be back to WIntel emulation. Will be interesting to see what types of performance these types of applications can pull off.


    tjwolf said:
    Ok, I don’t get it.  I watched the keynote and could have sworn that I saw Parallels Desktop being run on their ARM Mac to show Linux running...or did I imagine that?

    That was a beta version of Parallels recompiled for Apple Silicon, runnning an ARM-based version of Linux.

    Right, so if Parallels has been recompiled for Apple Silicon, couldn't it then run Windows in a VM?
    To expand on what has been said, there is a bit of confusion regarding processor ISAs (instruction set architectures) and just what virtualization is.

    Think of processor ISAs like languages. Intel's processors speak what is called x86, x86_64, or amd64. Apple's processors speak what is called AArch64, or ARMv8-A. Valid commands for one are just gibberish for the other.

    Operating systems are like supervisors in a company (in fact, "supervisor" is the technical term for a core part of an operating system). Processes within the operating system are the employees.

    In a small company, everybody has to speak the same language.

    Now, emulation is like a translator who speaks two languages. Let's say you have an office in the US, and hire a freelancer in Brazil who doesn't speak English. You need a translator who speaks English and Brazilian Portuguese to let you work effectively with this freelancer.

    Rosetta 2 will let you run x86 processes (our Brazilian freelancer) with a supervisor who speaks AArch64 in the US.



    Virtualization is upper management. It lets you have one supervisor-of-supervisors (called a hypervisor), which lets you run multiple supervisors all doing different things. They all still have to speak the same language, though.

    Now, let's say you have five offices in the US and want to open a whole branch office in Brazil (again, let's say nobody at the proposed office speaks English). A translator could potentially sit between the supervisor in the Brazil office and the upper manager over all the offices. This is sort of what VirtualPC (and a few other, similar programs) did back before Apple moved to Intel processors.

    Apple's clarification here is that Rosetta 2 won't translate between a supervisor in Brazil (x86) and upper management in the US (AArch64).
    rbnetengrrundhvidGG1MacPromaltzwatto_cobra
  • Reply 20 of 110
    Rayz2016Rayz2016 Posts: 6,957member
    anome said:
    Rayz2016 said:
    I suppose you could run Windows in the Cloud

    https://docs.microsoft.com/en-us/azure/virtual-desktop/overview

    That can get pricy, to the point where it's probably cheaper to just buy a Windows box and be done with it.

    There is an opportunity to start a business selling cloud computing to consumers. Anyone got a few million and an empty warehouse with good internet?
    Fair point. And of course you need an internet connection. 
    caladanianwatto_cobra
Sign In or Register to comment.