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

 



Forgot your password?
typodupeerror
×
IOS Intel Operating Systems Software Apple

Apple Will Let You Emulate Old Apps, Run iOS Apps on ARM Macs (techcrunch.com) 213

At the WWDC 2020 keynote today, Apple announced that the company is going to switch from Intel chips to Apple's own silicon, based on ARM architecture. They also announced that iPad and iPhone apps will be able to run natively on ARM-powered Macs. TechCrunch reports: First, you'll be able to compile your app to run both on Intel-based Macs and ARM-based Macs. You can ship those apps with both executables using a new format called Universal 2. If you've been using a Mac for a while, you know that Apple used the same process when it switched from PowerPC CPUs to Intel CPUs -- one app, two executables. As for unoptimized software, you'll still be able to run those apps. But its performances won't be as good as what you'd get from a native ARM-ready app. Apple is going to ship Rosetta 2, an emulation layer that lets you run old apps on new Macs.

When you install an old app, your Mac will examine the app and try to optimize it for your ARM processor. This way, there will be some level of optimization even before you open the app. But what if it's a web browser or a complicated app with just-in-time code? Rosetta 2 can also translate instructions from x86 to ARM on the fly, while you're running the app. And if you're a developer working on code that is going to run on servers, Apple is also working on a set of virtualization tools. You'll be able to run Linux and Docker on an ARM Mac.

As a bonus, users will also be able to access a much larger library of apps. "Mac users can for the first time run iOS and iPadOS apps on the Mac," Apple CEO Tim Cook said. While the company didn't share a lot of details, Apple isn't talking about Catalyst, its own framework that makes it easier to port iOS apps to macOS. You should be able to download and run apps even if the developer never optimized those apps for macOS.

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

Apple Will Let You Emulate Old Apps, Run iOS Apps on ARM Macs

Comments Filter:
  • Fool me once. (Score:4, Insightful)

    by rlwinm ( 6158720 ) on Monday June 22, 2020 @04:55PM (#60214532)
    At one point when I enjoyed using Apple hardware I had PPC software. The switch to x86 was supposed to be seamless. Emulation was eventually taken away, however.

    I'm not up for trusting Apple through another CPU change. Thankfully I've switched to a Thinkpad running Linux. Even more rugged and honestly works a bit better than MacOS these days for me.
    • Emulation was eventually taken away, however.

      In the 2020's, though, they only need to support it until they stop providing security updates for the x86 hardware. Some of the exploits are so bad you shouldn't plug un-minded Apple hardware into the Internet. I know, 0.0003% of machines don't connect to the Internet.

      honestly works a bit better than MacOS these days for me.

      True. I had to setup nfs4 on a Catalina machine the other day. SO clunky. Back when Apple went PPC to x86 you could at least be sure yo

      • "Back when Apple went PPC to x86 you could at least be sure you had the best desktop on the market"

        Yes, I could be, because I was running Linux. I had all the interface benefits of both Windows and Mac, plus an OS that doesn't shit the bed constantly.

    • Re:Fool me once. (Score:4, Interesting)

      by jythie ( 914043 ) on Monday June 22, 2020 @05:22PM (#60214708)
      I am actually ok with this for a similar reason. I've been using apple computers since the IIe days, so this will be what,.. the 4th CPU change?

      There are advantages to the intel's 'compatible back to 8088 and same chip from cheap desktop up to server' approach, but compared to other architecture transitions I've gone through over the years, Apple has handled them pretty smoothly.
      • You're OK with purchasing all your software yet again?

        A lot of people I know swore off Apple after the last cpu change forced them to re-buy software. Apple taking it's cut in the Apple store is rubbing salt in the wound.
        • You're OK with purchasing all your software yet again?

          There is no repurchase.

          When an app for macOS is recompiled it will contain both the Intel and ARM native binaries. Such an app will not care if you have an Intel or ARM Mac.

          If it is a legacy app with only native Intel binary and no ARM then Apple will translate the Intel binary code into ARM binary code. This is not as efficient as the previous scenario where the developer recompiles it but we end up in the same place. The resulting app will now run natively on ARM.

          • by xjerky ( 128399 ) on Monday June 22, 2020 @06:38PM (#60215006)

            But eventually said app will stop working once you upgrade to a future version of the OS, unless as OP said you purchase a newer version. See: PowerPC Photoshop, and more recently tons of 32-bit-only games on Steam.

            • But eventually said app will stop working once you upgrade to a future version of the OS, unless as OP said you purchase a newer version. See: PowerPC Photoshop, and more recently tons of 32-bit-only games on Steam.

              You are comparing pre-App Store to App Store. Look at the 32-bit to 64-bit transition on the App Store. Once the vendor updated their 32-bit app to 32/64-bit you could continue to run on 32-bit macOS, later update to 64-bit macOS and the app continued to work as it quietly switched from the 32-bit code in the software bundle to the 64-bit code.

            • by ag0ny ( 59629 )

              But eventually said app will stop working once you upgrade to a future version of the OS...

              There are exceptions, but nowadays most of the critical business software (that includes Adobe) works on a subscription model. You pay a periodic subscription fee and get software updates whenever they're available.

              Whether this model is worse or better is another question, but the argument you presented is a non-issue for businesses and for most users.

          • Not everything comes from the App store. E.g. Local tax software for various countries.

            If it is a legacy app with only native Intel binary and no ARM then Apple will translate the Intel binary code into ARM binary code. This is not as efficient as the previous scenario where the developer recompiles it but we end up in the same place. The resulting app will now run natively on ARM.

            Yeah - I'll believe this works seamlessly when I see it. I'll take any bet that there is a significant percentage of legacy software where this simply won't work, especially after Apple invariably upgrades various API library calls.

          • Comment removed based on user account deletion
            • Just like you can run your old PowerPC applications on modern Intel Macs

              They were not purchased on the Apple App Store.

            • by AmiMoJo ( 196126 )

              Meanwhile you can still run DOS Lotus 123 on Windows 10...

              Not natively, they dropped 16 bit support years ago and the 64 bit versions never even had it. You can run it in DOSBox but you can do that on any OS.

              Anything 32 bit, so back to 1995, will run on Windows 10 though.

              • Comment removed based on user account deletion
            • "Meanwhile you can still run DOS Lotus 123 on Windows 10..."

              You can, but no one wants to. Meanwhile, the majority of older directx games (from the windows XP era even, let alone win9x) don't work on Windows 10, and I do want to play those. Why would I want to run lotus? I have libreoffice. These games used the provided APIs and STILL don't work because let's face it, Microsoft is also terrible at backwards compatibility. They are more willing to claim to support it, and offer compatibility modes that don't

              • Games are in a funny situation where Microsoft doesn't 100% control the API as such. They design DirectX and the various windows APIs that games use, but ultimately behaviour was determined by the driver. As a game programmer in 2000, would you care that the D3D docs say to do X when clearly X doesn't work on 2 out of the 10 cards you tested it with? Or do you do Y which is working on all 10? Probably Y is only working because 5 of the cards have a driver that corrects this incorrect application behaviour w

          • If it is a legacy app with only native Intel binary and no ARM then Apple will translate the Intel binary code into ARM binary code.

            It seems you missed the OP's comment. This exact promise was made in the last architecture change, and yet here we are today unable to run old legacy code.

          • Oh, so I should expect my license of VMware Fusion to just work, even though there is no Intel-VT support anymore? Just how is Apple's translation compiler going to handle that?

        • Well, we all subscribe to software now, so it's just the same monthly fee for a complete architecture recompile, right?

          This is the one place where compulsory subscription (I'm looking at you, Adobe, Microsoft) actually pays off. The rest of the time it completely sucks.

      • Arguable 5, as the Apple IIgs had a 65816 CPU, but that was mostly compatible to 6502, so not really a big switch.

    • At one point when I enjoyed using Apple hardware I had PPC software. The switch to x86 was supposed to be seamless. Emulation was eventually taken away, however. .

      The transition was brilliant, and Rosetta functioned for many years. What were you expecting? That they still be running on Power PC chips today?

    • Emulation was eventually taken away, however.

      This is not emulation the way the old Rosetta was emulation.

      This is re-compilation of the application code into ARM from Intel.

      Remember the old Roestta had to adapt not just the binary architecture but also system calls themselves. This time the system calls are all the same, all it needs to do is to handle proper re-compilation, and it seems like what they have done works extremely well, and there would be no reason they would need to drop it for a very long ti

      • Comment removed based on user account deletion
        • by rmav ( 1149097 )
          Nope. Apple explicitly said that binaries are translated at the moment of the installation. So when you copy an app on your hard drive, if the ARM code is missing, it will just be translated. The first Rosetta has also the problem that all structures and data had to be converted from big endian to little endian. So every system call had a horrible additional penalty, and this basically meant that flash recompilation was out of the question. However now the endianness is the same. Also, what the system i
          • by dfghjk ( 711126 )

            " Apple explicitly said that binaries are translated at the moment of the installation. "

            Not sure what you're arguing with here, but Apple said it did this...among other things. Also, it's a translation and not a re-compilation. Finally, Rosetta 2 must be present during execution (in case it also needs to do runtime translation).

            "Also, what the system is now doing is basically using the intel binary as the source code for a new recompilation."

            And here is this bullshit again. I wonder what Apple presentat

            • by rmav ( 1149097 )

              " Apple explicitly said that binaries are translated at the moment of the installation. "

              Not sure what you're arguing with here, but Apple said it did this...among other things.

              They said that they have that (when you install the app, it is automatically translated), AND that they also provided patches to various JITs to allow them to output the new native code in place of x86.

              Also, it's a translation and not a re-compilation. Finally, Rosetta 2 must be present during execution (in case it also needs to do runtime translation).

              Translation and compilation are the same thing, to the point that in German they are the same word "Übersetzung". Translation just by replacing some instructions with other ones and not applying further optimisations is just a very simple for of compilation. A more usual "C" compiler translates human rea

      • by dfghjk ( 711126 )

        "This is re-compilation of the application code into ARM from Intel."

        No it is not, as has been said a thousand times here over the last 24 hours. I know you have a need to push Apple propaganda, SuperKendall, but try to keep up.

        Rosetta 2 is emulation just like Rosetta was emulation. Just because to may do things differently is irrelevant. Rosetta 2 is not a compiler.

        "This time the system calls are all the same, all it needs to do is to handle proper re-compilation, and it seems like what they have done w

    • I've long advocated that Apple move its Macs to its A-series, just like the iPhones and iPads. And finally, it'll happen.

      It makes sense that iPadOS and iOS ads would run on those Macs, so that there ain't an app shortage while other Intel Mac apps are migrated

    • by Ed Avis ( 5917 )

      What do you mean "once"? This is the third time it has happened. The move from m68k to PowerPC included emulation for old applications, but m68k compatibility was discontinued with the switch to Intel.

      For a fair comparison, try installing some binary application of twenty years ago on your Linux box...

    • I run both and wonâ(TM)t pretend that Linux has the same support yet. I canâ(TM)t get Bluetooth headsets to universally work worth a darn yet. I have my beats studio 3 wireless plugged in to my System76 because the hands free profile wonâ(TM)t work not matter how I tweak it.

  • by AlanObject ( 3603453 ) on Monday June 22, 2020 @05:01PM (#60214564)

    I use my 2019 MacBook Pro for all my development these days. For things like Node.js or Java or Python and other high-level language and IDE stuff the switch to ARM probably won't make much difference.

    But I also rely on a Parallels VM environment to run Windows and Linux VMs. My development target is sometimes those platforms and I need to bench test. Sometimes I have Windows-only applications like Solidworks. (Come to think of it what about the Microsoft Office suite? Are they on-board with migrating?) If I switched to an ARM processor what then?

    I can imagine an emulation mode working but I can't imagine it would be very fast. I wouldn't buy a new system to go backwards in performance.

    I get why they are doing this but I can't help feeling I am left at the side of the road.

    • by EvilSS ( 557649 )
      Microsoft already has Office ready to go, they showed it off at the event. They also showed it running a linux VM but I don't have the details on it. As for emulation, at least for Mac software, it looks impressive performance wise. They demoed Tomb Raider and Maya both running the intel binaries, and they ran really well. And that's on the dev kit processor, which is the SOC from the current iPad Pro (although I'm sure it's been clocked up to take advantage of the additional cooling in the dev kit Mac mini
    • by Old97 ( 1341297 ) on Monday June 22, 2020 @05:18PM (#60214674)
      Part of the announcement is that both Microsoft and Adobe have their flagship products running on ARM. That includes the Office suite.
      • Which should come as no surprise to anyone who remembers that Windows RT was a thing. Also Adobe is now very much in a different place then it used to be. It got bitten hard by the previous transition with several versions of it's suite not available on Mac kind of forever tarnishing Mac as the creator's platform of choice. But people were equally pissed at Adobe at the time, so they learnt a bit from the last transition.

    • We all felt the same way when we purchased G5 mac-pro's and they switched to intel a couple of years later. The nice thing is that it took a solid 2-3 years before powerpc was no longer viable after the switch. If you can get 4-5 years out of your current macbook pro before 'having' to switch, that is a pretty solid investment; especially since you can still run windows/linux/etc on the current hardware. I can see the 'switch' to ARM taking a bit longer this time around mainly because there are a lot of
      • Apple said they will be selling Intel Macs for years to come. Also I think the transition to ARM won't be like the transition to Intel. There was little reason for PowerPC once Intel was available. The places where a G5 had an advantage were too highly specialized. In contrast an Intel Mac has the advantage of a single machine that can natively boot macOS or Windows. Mac market shared doubled once people no longer had to choose Mac or PC, once they could have one machine with both. I think this will give I
    • I can imagine an emulation mode working but I can't imagine it would be very fast. I wouldn't buy a new system to go backwards in performance.

      While they obviously would pick something that works well for the announcement - the demo of an x86 Tomb Raider game running on their A12Z-based Mac was quite impressive. As was the similar demo of x86 Maya.

    • by samkass ( 174571 )

      I can imagine an emulation mode working but I can't imagine it would be very fast. I wouldn't buy a new system to go backwards in performance.

      Apple has been putting a lot into LLVM over the last decade. Except for dynamic code execution, where a VM is running on top of the OS and generating the wrong instruction set on the fly, it will precompile the x86-64 into ARM64. My guess is the x86 is essentially treated like the source code of a particularly pedantic programming language, turned into an intermediate LLVM representation, then re-compiled down into ARM. It will be interesting to see how fast it is, but there's no particular reason why it wo

    • I work on cross-platform SDKs, and the MAC has been a brilliant platform for this. Windows and Linux inside VMWare don't exactly have stellar performance, although mostly that seems to be an I/O issue, but I can't image this will work anywhere near as well if at all on an ARM-based Mac. It remains to be seen.

      Microsoft already have a lot of experience porting Office to ARM, be it for Windows ARM or for mobile devices, so I can't imagine it would take them too long. Apps that will suffer are those with ass

    • by tero ( 39203 )

      Also if you're working in docker environment, the target deploy environment is not going to be ARM docker. So you'll need additional steps for build/testing - the docker you develop is not the docker you deploy anymore.

      I'm sort of feeling like you are at the moment. I doubt my next laptop is from Apple.

  • Back when Apple stopped paying attention to the Macintosh I was expecting a KVM mode for an iPhone to appear quickly. I am surprised the iPhone 12 won't have the oomph to run in Mac Mode. Maybe next year.

  • by spaceyhackerlady ( 462530 ) on Monday June 22, 2020 @05:16PM (#60214666)

    I did development when Apple were moving from 68k to PPC. Our PPC compiler didn't generate fat binaries. I figured out how to do so with the 68k compiler, the PPC compiler and some creativity with ResEdit.

    In my current employment we've ditched legacy 68k and PPC applications for x86 and ARM.

    ...laura

  • Allowing iOS applications as a general thing; rather than just for debugging/dev purposes, seems like an interesting move.

    Apple has, at least historically, been motivated by concerns over UI consistency and adherence to design guides and such. While programs targeted at resource constrained ARM systems will, obviously enough, run on less resource constrained variants of the same ARM designs; the differences in UI/UX and interface design are going to be pretty stark. iOS applications are, in very large pa
  • iOS apps? No thanks. (Score:4, Informative)

    by nicolaiplum ( 169077 ) on Monday June 22, 2020 @05:44PM (#60214802)

    When I want to run the poor interface and crippled single-tasking single-pane applications of iOS I take out my iPad and use it.

    I'm using a Mac because it's UNIX on an x86 CPU with a decent visual interface on decent hardware with working suspend and resume (without regular fights with the software like Linux).

    I don't want iOS. I don't want some lame emulation to run existing binaries or the VM with my production Linux apps in it, or portable Docker images.

    I'm a developer and an engineer that makes things for your users, Apple - and I don't want your shitty control freakery ideas about having your own CPU.

    • by SuperKendall ( 25149 ) on Monday June 22, 2020 @07:52PM (#60215216)

      When I want to run the poor interface and crippled single-tasking single-pane applications of iOS I take out my iPad and use it.

      What about if you could use iOS photo editing extension on a Mac... that was also demoed and looked rather useful.

      I don't want iOS.

      But why, you don't have to use it. And there may be some app that could be useful to run. They show up in the Mac App Store so you could check them out or not.

      I don't want some lame emulation

      Luckily it's not emulation, much less lame - it re-compiles the code into native binary that is run on the "Apple Silicon" (surely there is a better name incoming). You might question how well that would work, but they demoed a few modern games (like Rise of the Tomb Raider), and very complex apps like Maya running very large datasets to show it worked just fine... along with a lot of other apps that are almost done with native support, like Photoshop or the Microsoft products.

      to run existing binaries or the VM with my production Linux apps in it, or portable Docker images.

      Funny you should mention that because a fair amount of the demo today was explicitly showing how new virtualization support added would work with VMs for Linux instances, and Docker as well - who Apple is working closely with to run extremely well on the new ARM systems....

      If you are running Linux it sure seems like there is much less need to care about what the underlying architecture really is.

      I'm a developer and an engineer that makes things for your users, Apple - and I don't want your shitty control freakery ideas about having your own CPU

      I am a developer an engineer, very much into the idea of a much better performing system with way better power management, that has expanded choices as to what I can run on it. Apple was really showing to the engineers today, that the Arm system could be a really compelling choice.

      • very much into the idea of a much better performing system with way better power management

        To be fair it sounds like you're into the idea that this may one day happen. If however this was your concern now you'd have no interest in ARM anywhere outside of your tablet or phone. The performance is not yet there.

      • by dfghjk ( 711126 )

        "I am a developer an engineer..."

        Oh you're an engineer now too! What you are is delusional.

        What is truly informative about your post is what is says about everyone who's posted similar comments throughout yesterday. After all, we know that you will spew whatever dogma you've learned from Apple marketing.

        Now we know that all that insist that Rosetta is a compiler and not an emulator are just dutiful soldiers who don't understand what these terms even mean. Not that it isn't obvious, but when SuperKendall

    • Of course no one wants this. This is another attempt at "fixing" the Mac App Store. They keep trying to figure out ways to get people to use it, and one of the problems is you go and search for an app and don't find anything. So now they're adding a million iOS apps, which will guarantee search results. My suspicion is this will actually make the Mac App Store worse because youâ(TM)ll have more garbage to wade through, but at least it'll bump of the MAS numbers a bit so it doesn't look as terrible by t
      • by dfghjk ( 711126 )

        I think it's even worse. Developers are losing interest in the Mac platform and likely desktop platforms more generally. There are examples of apps on iOS that don't exist on Mac at all (and won't going forward).

  • by ASCIIxTended ( 4777373 ) on Monday June 22, 2020 @06:53PM (#60215056)

    They should have switched to thrird-gen Ryzen for notebooks and threadrippers for high end desktops. They will never be able to compete now.

    • by drhamad ( 868567 )
      That would make no sense. That does nothing for them. It still leaves a 3rd party in charge of their silicon, it doesn't do anything to merge their iOS and macOS development.
  • Is this actually a good idea? Isn't the instruction set rather limited?
  • Will I be able to run my 12-year-old version of Quicken and Photoshop CS6 without running it in a VM?

    • by drhamad ( 868567 )
      I can only assume this is sarcasm, yes? Since you can't do that now.
      • by RogueWarrior65 ( 678876 ) on Monday June 22, 2020 @08:49PM (#60215360)

        That's only because the OS took that away.
        Losing 32-bit app support is what keeps me from using Catalina and what keeps me from dropping a huge chunk of cash on a new 16" MBP. Hopefully, this will have turned out to be a good choice.

        • Will this new fangled horseless carriage still let me use my buddy whip?
          • by gTsiros ( 205624 )

            the difference between x86 and amd64 is not nearly as dramatic as you are presenting it

            hell, a subset of x86 executables are valid as amd64 executables by flipping one bit in the header

            with PAE, x86 can also address more memory

            amd64 is an extension, not some kind of ISA reinvention

          • Will this new fangled horseless carriage still let me use my buddy whip?

            Interesting comparison, especially since the difference between x86 and x64 is about the same as the difference between a car and a horse back in 1890. Unless you have a need to address >4GB of RAM then that buggy whip is likely a better option for you.

        • Losing 32-bit app support is what keeps me from using Catalina

          Don't worry, the year 2038 will give you another reason to switch over. If you want to keep pure 32bit just effing run it in a VM. Purism is a dumb thing. There's no shame running a VM, you just got to get over yourself.

          • by Tom ( 822 )

            Many of the 32bit-only apps don't run well in VMs - games, for example.

            And yes, games are a use case. Just because it's not business doesn't mean it's not serious. I know that after a day of crypto stuff or business process integration, I need a game or two just to stay sane.

        • That's only because the OS took that away.

          Apple did not take that away. Quicken and Adobe took that away by not providing upgrades that included 64-bit binaries in the application bundle.

          For things that Apple sold via the App Store they provided such a free upgrade path. Years in advance of a 64-bit only macOS Apple required 3rd party developers to provide 64-bit support. So that in the future when someone purchased new 64-bit hardware, or upgraded from a 32-bit to a 64-bit OS, their software would just work.

          They are doing the same thing now.

    • As soon as Quicken and Adobe release ARM versions of those applications, yes.

      What, they won't expend that kind of effort on 12 year old applications that are no longer making them any money? They expect you to actually pay money for support of new hardware?

      The outrage!

      • by dfghjk ( 711126 )

        Other platforms don't require any "kind of effort" to be expended nor anyone to pay for such an effort. That's the entire point and the outrage is understandable.

  • Will Rosetta 2 let me run 32 bit apps?

    Because right now the reason I'm not upgrading to Catalina is that so many of the apps I use don't support it.

    Yes, they should, the devs should wake up, we're not in the 20th century anymore, etc. etc. - I'm with you, but that doesn't change the fact.

  • I think they will get users to buy Macs based on the availability of a large iOS library that can now be used on a desktop. I think their is the possibility that they suffer the same fate as OS/2, why make Mac apps when people like the iOS app and it runs on the Mac?

No spitting on the Bus! Thank you, The Mgt.

Working...