Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

EpictatusFan

macrumors newbie
Original poster
Dec 11, 2021
3
0
I have used Apple laptops for many years - writing, some video editing and photo work. I have some very useful legacy versions of Office and CS - 6. And was hoping Rosetta would enable me to utilize them, even if in a limited way. I missed the major demarcation of 32 and 64 bit until I pulled the trigger on a 16" Pro model. I'm psyched about the capabilities and promise. But wish Apple had been a bit more open about Rosetta's limitations. When speaking with Apple today, I mentioned that most of the promotional wording about Rosetta 2 does not mention the 64 bit native hurdle. I thought that perhaps the Rosetta function not only translated the x86 to native M1 but also - perhaps - upscaled from any 32bit to 64 bit information. Wishful thinking obviously, And perhaps technically a most difficult obstacle. But, I do wish Apple was more transparent about this limitation given the important transition to another chip species entirely. By now you'd think I'd be warned about the "insanely great" product promotion. But, in fact, some of us do like the ability to pick and choose versions of software and not be obsessed with "being up to date with every new version the developers feel obliged to develop - no matter how minor the improvements for most users. Well, I'm probably stuck with the less visually appealing Word look of today and a yearly anchor around my neck from Adobe. Time marches on.
 

leman

macrumors Core
Oct 14, 2008
19,521
19,678

jz0309

Contributor
Sep 25, 2018
11,390
30,057
SoCal
I have used Apple laptops for many years - writing, some video editing and photo work. I have some very useful legacy versions of Office and CS - 6. And was hoping Rosetta would enable me to utilize them, even if in a limited way. I missed the major demarcation of 32 and 64 bit until I pulled the trigger on a 16" Pro model. I'm psyched about the capabilities and promise. But wish Apple had been a bit more open about Rosetta's limitations. When speaking with Apple today, I mentioned that most of the promotional wording about Rosetta 2 does not mention the 64 bit native hurdle. I thought that perhaps the Rosetta function not only translated the x86 to native M1 but also - perhaps - upscaled from any 32bit to 64 bit information. Wishful thinking obviously, And perhaps technically a most difficult obstacle. But, I do wish Apple was more transparent about this limitation given the important transition to another chip species entirely. By now you'd think I'd be warned about the "insanely great" product promotion. But, in fact, some of us do like the ability to pick and choose versions of software and not be obsessed with "being up to date with every new version the developers feel obliged to develop - no matter how minor the improvements for most users. Well, I'm probably stuck with the less visually appealing Word look of today and a yearly anchor around my neck from Adobe. Time marches on.
32bit was disbanded with Big Sur, so assuming Rosetta2 would “magically” continue to support 32bit, well, sorry but that’s on you… or was it Catalina??
 

bill-p

macrumors 68030
Jul 23, 2011
2,929
1,589
When speaking with Apple today, I mentioned that most of the promotional wording about Rosetta 2 does not mention the 64 bit native hurdle.

This is because 64-bit limitation is not due to Rosetta 2. It's a general MacOS limitation. 32-bit applications have been deprecated ever since MacOS Catalina 10.15.

Even on an Intel Mac, you cannot run 32-bit applications in MacOS Catalina.

Granted, Apple should have communicated this limitation better to all users because there are those upgrading to Apple Silicon Mac devices from very old devices... but I think it's fair to mention that the 64-bit limitation is, again, not a problem with Rosetta 2. It is a general MacOS problem. You would not have been able to get your 32-bit apps to work on MacOS Catalina even with an Intel Mac.

As for why Apple did it, it's because legacy software halts progress. Sometimes painful decisions have to be made in order to move forward. Personally, a number of my apps also were not updated, and I was forced to spend hundreds of dollars (close to $1000) to update most of the apps that I was using on a regular basis. I was not interested in Adobe's new subscription model, so I chose to go with other apps that allowed non-subscription use. And the rest is history now.
 
  • Like
Reactions: MacCheetah3

cmaier

Suspended
Jul 25, 2007
25,405
33,474
California
I have used Apple laptops for many years - writing, some video editing and photo work. I have some very useful legacy versions of Office and CS - 6. And was hoping Rosetta would enable me to utilize them, even if in a limited way. I missed the major demarcation of 32 and 64 bit until I pulled the trigger on a 16" Pro model. I'm psyched about the capabilities and promise. But wish Apple had been a bit more open about Rosetta's limitations. When speaking with Apple today, I mentioned that most of the promotional wording about Rosetta 2 does not mention the 64 bit native hurdle. I thought that perhaps the Rosetta function not only translated the x86 to native M1 but also - perhaps - upscaled from any 32bit to 64 bit information. Wishful thinking obviously, And perhaps technically a most difficult obstacle. But, I do wish Apple was more transparent about this limitation given the important transition to another chip species entirely. By now you'd think I'd be warned about the "insanely great" product promotion. But, in fact, some of us do like the ability to pick and choose versions of software and not be obsessed with "being up to date with every new version the developers feel obliged to develop - no matter how minor the improvements for most users. Well, I'm probably stuck with the less visually appealing Word look of today and a yearly anchor around my neck from Adobe. Time marches on.
As others have noted, this has nothing to do with Rosetta. Nor could you buy any Intel mac in the last couple of years and run 32-bit software on it (unless you booted an old os).
 

lcubed

macrumors 6502a
Nov 19, 2020
540
326
this was addressed in another thread here, but 32 bit programs were deprecated back in 10.15,
when apple removed support for 32 bit. has nothing to do with rosetta.
 
  • Like
Reactions: gank41 and Jochheim

mr_roboto

macrumors 6502a
Sep 30, 2020
856
1,866
This is because 64-bit limitation is not due to Rosetta 2. It's a general MacOS limitation. 32-bit applications have been deprecated ever since MacOS Catalina 10.15.
Apple uses "deprecate" to communicate to developers that something's going away soon-ish, not that it has gone away. In this case, 32-bit was placed on deprecated status as of Mojave, while Catalina was the first release which didn't support 32-bit.

I described it as "soon-ish" because sometimes the process of actually removing deprecated features drags on a bit. OpenGL is probably the most prominent example, it's been deprecated for years and years but they keep shipping it anyways.
 
  • Like
Reactions: benwiggy

leman

macrumors Core
Oct 14, 2008
19,521
19,678
Apple uses "deprecate" to communicate to developers that something's going away soon-ish, not that it has gone away. In this case, 32-bit was placed on deprecated status as of Mojave, while Catalina was the first release which didn't support 32-bit.

If my memory serves me right, the communication on this was unambiguous: something along the lines of „future OSes will not support 32bit“

I described it as "soon-ish" because sometimes the process of actually removing deprecated features drags on a bit. OpenGL is probably the most prominent example, it's been deprecated for years and years but they keep shipping it anyways.
Yes, OpenGL is a prime case of „don’t use it in new software but we’ll keep it around so your legacy stuff runs“. I doubt they will ever remove it, supporting OpenGL is low effort now, especially since they made it clear that there won’t be any bug fixes.
 

grrrz

macrumors regular
Jan 31, 2012
173
43
32 bit support has nothing to do with Rosetta. It has been dropped since the 10.15 (catalina) version of MacOS; which was released in 2019, so you CAN'T run in on any intel machine with a recent OS either. since Mojave (10.14) there was a warning each time you'd launch a 32 bit app that support would be dropped. People who've been regularly updating have been warned; for five years now. Generally speaking you can't expect a software from which support has been dropped for 4 years to be compatible with the latest version of your system. I mean it's not like the software you need to use has not be replaced with newer versions that you could use instead. If you absolutely need software that's been abandonned (I know I can relate for audio plug-ins which entire support has been dropped); you need to use legacy hardware with legacy software. That's how it is; that's how it's always been.
 

gank41

macrumors 601
Mar 25, 2008
4,350
5,022
Apple does support Microsoft’s Office Suite and Adobe’s applications. Just not the older versions you’d prefer to use. Does Microsoft even support Office 2011 anymore even? Your problem definitely isn’t Apple’s fault, and you even point out your own “workaround” as using those same brand’s updated/current software. And if relying on this older software was such a need when purchasing new equipment, I’d assume one would look further into compatibility before dropping a large amount of money on a new laptop.
 

deconstruct60

macrumors G5
Mar 10, 2009
12,493
4,053
As others have noted, this has nothing to do with Rosetta. Nor could you buy any Intel mac in the last couple of years and run 32-bit software on it (unless you booted an old os).

While this isn't solely driven by Rosetta , it probably isn't totally true to say it is entirely decoupled from Rosetta. Rosetta was in development while Apple made the "64 only" transition. It is huge simplification for Rosetta's implementation (essentially a x86_64 to apple ARM binary to binary compiler ) to dump the 32 bit opcodes. Even 64 bit AVX is also skipped by Rosetta. (ditto with virtualization opcodes ) . So opcode trimming is part of the design constraints.

Similarly, Apple dumping 32-bit is also coupled to Apple dumping 32-bit from their ARM implementation also. Again Rosetta is only going to compile to the Apple ARM 64 only binary anyway. If there is no 32bit target to generation code for then again it is dumped from Rosetta. A simpler and less costly to implement Rosetta makes Apple happier.

If Rosetta had been some x86 "emulator" it possibly could have covered both, but it isn't. Primarily, It just soaks up binary apps and rewrites them saves them as a new ARM app. ( pragmatically, "on demand" construction of a Universal App.) There is ability to deal with an x86_64 app that has some "just in time" (JIT) compiling tasks to do, but primarily Rosetta is just static, pre application launch, translation.


Also didn't have to boot an 2019-2020 Mac on an old OS. Just put the old OS into a virtual Machine on the system (and yes technically booted on that virtual machine). If Rosetta was more of a virtual emulation "container" then older macOS instances and apps could be tossed into that and run. ( the original Transitive technology based Rosetta wasn't a complete virtualized emulation container , but it was closer than what Apple is doing now. )


Rosetta wasn't driving the 32-bit app drop , but it was a contributing factor to the "plan" on tossing 32-bit from all of macOS (intel and ARM).
 
  • Like
Reactions: jdb8167

deconstruct60

macrumors G5
Mar 10, 2009
12,493
4,053
I have used Apple laptops for many years - writing, some video editing and photo work. I have some very useful legacy versions of Office and CS - 6. And was hoping Rosetta would enable me to utilize them, even if in a limited way. I missed the major demarcation of 32 and 64 bit until I pulled the trigger on a 16" Pro model.

Not sure how you could have missed this if you have been updating macOS over the last several years. Or even just regularly reading Macrumors or the tech web sites on Mac.


January 2018
macOS High Sierra 10.13.4 Displays Warnings When Opening 32-Bit Apps as Part of Apple's Phase Out Plan - MacRumors

June 2018
Apple Confirms Mojave is the Last macOS Release to Support 32-Bit Apps - MacRumors
"... however, since Apple previously said it would include "aggressive" warnings about 32-bit apps in the next version of macOS after High Sierra before they are phased out entirely. ..."

By 10.14 they had turned 32-bit apps into "nagware" .

October 2019
32-Bit Apps 'Not Optimized for Your Mac' No Longer Working on macOS Catalina - MacRumors
"...
A similar message was available in macOS Mojave, and if you opened up a 32-bit app while running Mojave, you saw an alert letting you know a specific app wouldn't work with future versions of macOS unless it was updated.

Alerts re-appeared every 30 days when launching an app, with Apple aiming to make sure customers would not be caught unaware when a 32-bit app stopped working in the future, so you should already know if one of your frequently used apps hasn't been upgraded to 64-bit. ..."


The warnings here were not tightly constricted to following the most technical of release notes from WWDC. macOS was "complaining" about running 32 bit apps for over a year. The only way to miss this was to be stalled on some previous ( < 10.13 ) version of macOS until trying to jump to a new system. Or off on Windows.


[ Apple also dumped 32-bit apps from the iOS space also.

Sept 2017
32-Bit Apps Represented Less Than 1% of Apple's App Store Revenue Last Quarter - MacRumors

If Apple dump 32 bit apps from the far more profitable iOS space ... that freight train was coming down the tunnel for Macs also. At an even faster speed as Macs transitioned on top of the same ARM implementation that was dumping 32 bit altogether.

Apple effectively had several bright neon signs pointing where they were going by the 2020's .

]

But, I do wish Apple was more transparent about this limitation given the important transition to another chip species entirely.

More transparent than opening a dialog box that said ".. this app will not work with future versions of macOS ..." ?

Apple "killed off" 32 bit apps the year before they introduced the new Rosetta. Nagware isn't transparent intent? That is a huge reach.


If looking to run an old version of macOS " in a bottle" then you'll need something like QEMU ( or some MacGUI friendly wrapper around QEMU) as the modern rough equivalent to "Sheepshaver" role to run old Mac OS9 apps on Mac OSX. The typical virtual machine ( VMWare, Parallels , etc.) aren't going to help here either. Apple isn't going to provide one.


Apple hasn't run macOS development evolution like Windows. In Windows, can get a virtual DOS box to run something in. And Microsoft has "WoW" ( Windows on Windows Windows on Windows - Wikipedia ). Microsoft is busying trying to enable running software from a couple of decades back. Apple tends to walk away from 10 year old code that isn't convenient (and super cheap) to keep around. ( Especially in the 2nd Steve Jobs era after his return )
 
Last edited:

leman

macrumors Core
Oct 14, 2008
19,521
19,678
Similarly, Apple dumping 32-bit is also coupled to Apple dumping 32-bit from their ARM implementation also. Again Rosetta is only going to compile to the Apple ARM 64 only binary anyway.

I think this was the primary driver. Apple dropped 32-bit x86 support in a preparation to move to ARM, to make sure that the majority of relevant codebase is ready for the transition. Both 64-bit ARM and 64-bit x86 share the same basic data sizes and layouts, which vastly simplifies porting. All this really shows that Apple had been following the Apple Silicon roadmap for a while. And dropping 32bit in 2019 ensured that the ecosystem was ready to move to ARM in 2020.
 

ADGrant

macrumors 68000
Mar 26, 2018
1,689
1,059
I think this was the primary driver. Apple dropped 32-bit x86 support in a preparation to move to ARM, to make sure that the majority of relevant codebase is ready for the transition. Both 64-bit ARM and 64-bit x86 share the same basic data sizes and layouts, which vastly simplifies porting. All this really shows that Apple had been following the Apple Silicon roadmap for a while. And dropping 32bit in 2019 ensured that the ecosystem was ready to move to ARM in 2020.
I think they have been planning the migration to Apple Silicon since they developed their first ARM64 SoC for the iPhone 5s which launched in 2013. 32bit support on iOS was dropped much earlier than for MacOS.

It has been suggested that the migration to Intel was already planned while the first version of OS-X was under development.
 

jeanlain

macrumors 68020
Mar 14, 2009
2,462
955
It has been suggested that the migration to Intel was already planned while the first version of OS-X was under development.
I don't think so. For me, it was the disappointment of the G5 and the promise of the intel Core 2 series that pushed Apple to the transition.

Not saying that Apple didn't have a plan B from the beginning.
 

ADGrant

macrumors 68000
Mar 26, 2018
1,689
1,059
I don't think so. For me, it was the disappointment of the G5 and the promise of the intel Core 2 series that pushed Apple to the transition.

Not saying that Apple didn't have a plan B from the beginning.
But OS-X is based on the NeXTSTEP operating system which had already been ported to X86 back in 1993. It is very likely that OS-X always ran on Intel hardware.
 
  • Like
Reactions: wyrdness

mr_roboto

macrumors 6502a
Sep 30, 2020
856
1,866
While this isn't solely driven by Rosetta , it probably isn't totally true to say it is entirely decoupled from Rosetta. Rosetta was in development while Apple made the "64 only" transition. It is huge simplification for Rosetta's implementation (essentially a x86_64 to apple ARM binary to binary compiler ) to dump the 32 bit opcodes. Even 64 bit AVX is also skipped by Rosetta. (ditto with virtualization opcodes ) . So opcode trimming is part of the design constraints.
Dropping 64-bit wouldn't simplify Rosetta 2 much. x86-64 was designed as an extension rather than a new ISA, which means most x86-32 opcodes are still legal in x86-64 mode.

In fact, Rosetta 2 can run 32-bit x86 code. It's a continuation of the minimal level of support for 32-bit x86 still present in 10.15 onwards. You aren't allowed to initialize a new process from a 32-bit x86 Mach-O binary, but once you have a 64-bit x86 process running, it is allowed to create 32-bit code segments for itself. It's on that process to handle all 'thunks' (32-to-64 library ABI translations), as Apple ships no 32-bit libraries on 10.15+.

This 32-bit code segment feature is most prominently used by Wine/Crossover (it was added for them); it's how they are able to run 32-bit Windows executables even on Catalina or M1:


Similarly, Apple dumping 32-bit is also coupled to Apple dumping 32-bit from their ARM implementation also. Again Rosetta is only going to compile to the Apple ARM 64 only binary anyway. If there is no 32bit target to generation code for then again it is dumped from Rosetta. A simpler and less costly to implement Rosetta makes Apple happier.
The fact that the target ISA for translation is 64-bit doesn't matter. 64-bit Arm has comprehensive support for reduced width data - not just 32-bit but also 16- and 8-bit. It should be straightforward to emulate x86-32 instruction semantics, and that's what they did in Rosetta 2.

Rosetta wasn't driving the 32-bit app drop , but it was a contributing factor to the "plan" on tossing 32-bit from all of macOS (intel and ARM).
After what I've written I hope you can see Rosetta wasn't a factor at all.

The main issue was ABIs and runtimes. The 32-bit PowerPC and x86 Cocoa runtime environments were designed all the way back in the early 1990s by NeXT. (Yes, PPC. NeXT had a dual-CPU PowerPC system mostly done before finances forced them to give up on building their own hardware.) Unfortunately both suffered from a fragile base class problem. While method dispatch was dynamic, ivar (instance variable) layout was not. Even minor changes to a base class could force recompilation of all subclasses. Here's a 2010 blog post with a more detailed explanation:


Since Cocoa includes many base classes which application developers are expected to subclass, this was a giant maintenance pain for Apple. They partially worked around it by trying to design placeholder data elements into base classes for future expansion, but it was ugly and limiting.

All the runtimes designed at Apple in the mid-00s or later (Arm32, Arm64, PPC64, and x86-64) solved this with dynamic ivar layout. Once they introduced this and other features in the newer ABIs, it was obvious to some that in the long term they'd drop support for the old ones. Not to me, I wasn't aware of these issues, but I first saw someone use these problems to predict that x86-32 would go away years before Apple actually made that announcement.
 

Internaut

macrumors 65816
It didn’t stop me from buying a second Apple Silicon laptop (the 14” base, to complement my base M1 Air), but there are all manner of little limitations* of the move to ARM that are always going to affect someone. Unless you’re aware of these at the really quite technical level, there is a risk you will get caught out no matter what research you do.

* Mine is very nerdy: Nested virtualisation, so far more niche than the OP’s.
 
  • Like
Reactions: gank41

leman

macrumors Core
Oct 14, 2008
19,521
19,678
In fact, Rosetta 2 can run 32-bit x86 code. It's a continuation of the minimal level of support for 32-bit x86 still present in 10.15 onwards. You aren't allowed to initialize a new process from a 32-bit x86 Mach-O binary, but once you have a 64-bit x86 process running, it is allowed to create 32-bit code segments for itself. It's on that process to handle all 'thunks' (32-to-64 library ABI translations), as Apple ships no 32-bit libraries on 10.15+.

Oh wow, I had no idea! So actually 32-bit support is stilll there? Do you know which API is used to create these 32-bit thunks?

Edit: found it! It’s i386_set_ldt. So Apple actually did something much more nuanced and refined than just dropping 32 bit. And Rosetta actually supports 32bit. Now that’s something ?
 
Last edited:

EpictatusFan

macrumors newbie
Original poster
Dec 11, 2021
3
0
This is because 64-bit limitation is not due to Rosetta 2. It's a general MacOS limitation. 32-bit applications have been deprecated ever since MacOS Catalina 10.15.

Even on an Intel Mac, you cannot run 32-bit applications in MacOS Catalina.

Granted, Apple should have communicated this limitation better to all users because there are those upgrading to Apple Silicon Mac devices from very old devices... but I think it's fair to mention that the 64-bit limitation is, again, not a problem with Rosetta 2. It is a general MacOS problem. You would not have been able to get your 32-bit apps to work on MacOS Catalina even with an Intel Mac.

As for why Apple did it, it's because legacy software halts progress. Sometimes painful decisions have to be made in order to move forward. Personally, a number of my apps also were not updated, and I was forced to spend hundreds of dollars (close to $1000) to update most of the apps that I was using on a regular basis. I was not interested in Adobe's new subscription model, so I chose to go with other apps that allowed non-subscription use. And the rest is history now.
I appreciate everyone's comments about how Apple noted the move to 64bit in tech columns and probably on a tech sheet and that Rosetta is "not the problem." And yes, I do have an older OS (Yosemite) on a laptop that runs older CS apps as well as 2011 Office. First, not every user of MacBookPros is technically as plugged in as many on this forum. I know, it's hard to believe, but true. And while we may be great in our creative fields, we may lag in tech "saviness." Many of us do creative work and some of us didn't quite catch the digital transition to 64 bit - as a limit, not just a perceived optimum option. She may consider it naive, but nonetheless some of us missed it. My key point was that nowhere on the Apple website selling the new laptop is there a mention of this. Instead it says: "Over 10,000 apps and plug-ins are already optimized for Apple silicon. And Rosetta 2 seamlessly translates apps designed for Intel processors for use on your new MacBook Pro." Look up "Apple Rosetta II" as I did, I find no mention of a 64 bit limit. "Instead it says: "Rosetta is not an app that you need to open. Rosetta works automatically in the background whenever you use an app built only for Mac computers with an Intel processor. It translates the app for use with Apple silicon. In most cases, you won't notice any difference in the performance of an app that needs Rosetta. But you should contact the app developer to inquire about a version that can natively use the full power and performance of Apple silicon." Sure, sure. Who cares? But I still think Apple - as a 23 year consumer of their products - could be a bit more clear about an emulation product. Despite the fact that they are concerned about a fall off in new product purchases with a new chip architecture/. Or, is that perhaps the reason for the lack of an up front mention?
 

jerryk

macrumors 604
Nov 3, 2011
7,421
4,208
SF Bay Area
I appreciate everyone's comments about how Apple noted the move to 64bit in tech columns and probably on a tech sheet and that Rosetta is "not the problem." And yes, I do have an older OS (Yosemite) on a laptop that runs older CS apps as well as 2011 Office. First, not every user of MacBookPros is technically as plugged in as many on this forum. I know, it's hard to believe, but true. And while we may be great in our creative fields, we may lag in tech "saviness." Many of us do creative work and some of us didn't quite catch the digital transition to 64 bit - as a limit, not just a perceived optimum option. She may consider it naive, but nonetheless some of us missed it. My key point was that nowhere on the Apple website selling the new laptop is there a mention of this. Instead it says: "Over 10,000 apps and plug-ins are already optimized for Apple silicon. And Rosetta 2 seamlessly translates apps designed for Intel processors for use on your new MacBook Pro." Look up "Apple Rosetta II" as I did, I find no mention of a 64 bit limit. "Instead it says: "Rosetta is not an app that you need to open. Rosetta works automatically in the background whenever you use an app built only for Mac computers with an Intel processor. It translates the app for use with Apple silicon. In most cases, you won't notice any difference in the performance of an app that needs Rosetta. But you should contact the app developer to inquire about a version that can natively use the full power and performance of Apple silicon." Sure, sure. Who cares? But I still think Apple - as a 23 year consumer of their products - could be a bit more clear about an emulation product. Despite the fact that they are concerned about a fall off in new product purchases with a new chip architecture/. Or, is that perhaps the reason for the lack of an up front mention?
Sorry, 2011 Office for Mac is not even supported by Microsoft. It has not been since 2017 or so. So I don't see blaming the computer vendor. See https://support.microsoft.com/en-us...mac-2011-559b72b1-e045-4c73-bad3-d7f1841b9e8c for guidance from Microsoft.
 

EpictatusFan

macrumors newbie
Original poster
Dec 11, 2021
3
0
Oh wow, I had no idea! So actually 32-bit support is stilll there? Do you know which API is used to create these 32-bit thunks?

Edit: found it! It’s i386_set_ldt. So Apple actually did something much more nuanced and refined than just dropping 32 bit. And Rosetta actually supports 32bit. Now that’s something ?
Interesting. Is that a technical curiosity noted above about or an applicable "limited use or adjustment" to the existing Rosetta software or a hybrid solution that can allow Rosetta II to truly emulate 32 bit apps?

Just curious. I'm learning a lot here.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.