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

MisterMe

macrumors G4
Jul 17, 2002
10,709
69
USA
So... eventually, Rosetta 2 will be gone. What will be of Wine then?
WINE and Rosetta 2 have two complementary but different jobs. Rosetta 2 emulates Intel processors. Period. Full stop. WINE is a clone of Windows APIs. It allows Windows applications to run under other operating systems without using Microsoft software. On your Mac, a Windows application looks kinda sorta like a Mac application.
 
  • Like
Reactions: Homy

Wowfunhappy

macrumors 68000
Mar 12, 2019
1,747
2,090
Wine is already not really full functional on Catalina and Big Sur since it relies on 32-bit support. Should Wine lose all 32-bit dependencies and support just 64-bit Windows, it is perfectly possible that it could work, yes

This actually isn't true anymore, Codeweavers found a workaround for Crossover. You can do it in non-Crossover (free) editions of Wine as well (like https://github.com/Gcenx/WineskinServer/releases/tag/V1.8.4), but you have to disable SIP.
 

KPOM

macrumors P6
Oct 23, 2010
18,308
8,320
Wine is already not really full functional on Catalina and Big Sur since it relies on 32-bit support. Should Wine lose all 32-bit dependencies and support just 64-bit Windows, it is perfectly possible that it could work, yes
Codeweavers Crossover supports 32-bit applications on Catalina. They essentially added a Rosetta-like layer to translate 32-bit calls to 64-bit calls. Obviously adding another layer would hit performance, but it could be possible. The developer says they have the DTK, but won’t yet commit to a working version by the time the first Macs with Apple Silicon actually ship.
 

Wowfunhappy

macrumors 68000
Mar 12, 2019
1,747
2,090
Codeweavers Crossover supports 32-bit applications on Catalina. They essentially added a Rosetta-like layer to translate 32-bit calls to 64-bit calls.

Nitpick, you seem to be implying that Crossover is doing binary translation (ie "emulation"). I won't pretend I understand exactly what's going on, but my understanding is that this is absolutely not the case. The 32bit x86 code is getting natively executed as x86 code by the Intel processor, which means there's very little performance impact versus even a tightly-optimized emulator like Rosetta.
 
  • Like
Reactions: Janichsan

casperes1996

macrumors 604
Jan 26, 2014
7,597
5,769
Horsens, Denmark
For "regular" applications, transpiled code can be cached, enabling fast startup

More than just temporary caching; It'll write the ARM instructions into the binary, just like if it were a universal binary - For Mac App Store apps and apps using the Installer it'll happen at install time, for others on first launch. This should follow the .app bundle even. But the transpiled instructions might not be as optimised as if the compiler was given the full source code to create the instructions from the AST rather than from a series of x86 instructions, so there's still reason to compile for ARM yourself.

But excellent post you did; I'm doing my course on compilers now myself :)
 

BarbaricCo

macrumors member
May 7, 2012
76
203
More than just temporary caching; It'll write the ARM instructions into the binary, just like if it were a universal binary - For Mac App Store apps and apps using the Installer it'll happen at install time, for others on first launch. This should follow the .app bundle even. But the transpiled instructions might not be as optimised as if the compiler was given the full source code to create the instructions from the AST rather than from a series of x86 instructions, so there's still reason to compile for ARM yourself.

But excellent post you did; I'm doing my course on compilers now myself :)
For anyone interested in how Codeweavers make Wine run 32-bit Windows apps on Catalina here is the more technical info
 

KPOM

macrumors P6
Oct 23, 2010
18,308
8,320
For anyone interested in how Codeweavers make Wine run 32-bit Windows apps on Catalina here is the more technical info
Based on that, it appears they would need another workaround to get 32-bit code operating on Apple Silicon since Rosetta 2 doesn’t translate 32-bit instructions.
 
Last edited:
  • Like
Reactions: casperes1996

BarbaricCo

macrumors member
May 7, 2012
76
203
Based on that, it appears they would need another workaround to get 32-but code operating on Apple Silicon since Rosetta 2 doesn’t translate 32-bit instructions.
Yup. Intel chips still have 32bit instructions set even is MacOs is pure 64-bit.
We will see, those are creative people ?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.