Hacker News new | past | comments | ask | show | jobs | submit login

It's a shame that Apple's stated intent is to throw the project away after a while. Personally, I really hope it sticks around forever, though I'm not optimistic.



Rosetta 2 can't go away until Apple is ready to also retire Game Porting Toolkit. At most, they might drop support for running regular x86 macOS applications while keeping it around for Linux VMs and Windows applications, but that would be pretty weird.


In principle, the Linux Rosetta binaries should remain usable well into the future. Even if Apple discontinues support for Rosetta in their VMs, there's very little (beyond a simple, easily removed runtime check) preventing them from being used standalone.


AFAIK Linux Rosetta does not work standalone but uses some channels to exchange x86 and arm binary code between Linux guest and macOS host. Actual translation happens in the macOS.


You'd think so, but no. With a patch to remove the runtime check, Rosetta works on Asahi Linux, with no macOS kernel present at all.


The kernel could drop support.


> game porting toolkit

I don't understand why Apple even bothers these days, I wouldn't be surprised if Apple's gaming market is a quarter of what the Linux gaming market currently is (thanks to Valve and their work on proton and by extension wine)...


Because people want to use their fancy new hardware to play games? Linux market share wouldnt be increasing so fast if Valve didn’t do the work so why shouldn’t Apple do the same?


> so why shouldn't Apple do the same?

If Apple truly cared, they would stop blocking older games from being run on newer versions of OSX...


They don't really block games though. It's more like they don't want to maintain the roads the games need to run on. Transitioning to ARM wasn't possible if they had to support 2 x86 ABI's and an extra ARM 32 bits ABI. Throw in another migration and you have an untestable number of legacy combinations.


I suspect this was a project spearheaded by some clever geeks deep in the company and promoted upwards by management. Not a top-down initiative.


Where did Apple state that Rosetta 2 was to be deprecated?


I think they assuming from the past that this will happen. When Apple moved from powerPC to x86 there was Rosetta 1. It got deprecated as well.


I think it is different this time. A lot of developers use Rosetta 2 for Linux to run x86-64 Linux Docker containers under macOS (including me). They'll be upset if Apple discontinues Rosetta 2 for Linux. By contrast, once the PPC-to-Intel transition was under way, Rosetta was only used for running old software, and as time went by that software became increasingly outdated and use of it declined. While I think Rosetta 2 for macOS usage will likely decline over time too, I think Rosetta 2 for Linux usage is going to be much more stable and Apple will likely maintain it for a lot longer. Maybe if we eventually see a gradual migration of data centres from x86-64 to ARM, Rosetta 2 for Linux usage might begin to also decline, and then Apple may actually kill it. But, if such a migration happens, it is going to take a decade or more for us to get there.


I just pointed out what happened in the past. I have no clue if Apple will deprecate it and what reason they put forward doing so. I personally like the fact that I can run both arm and x86 binaries. But I think judging Apple that if they don’t have a personal reason to support Linux (they also use it for their services) they will remove it. But deprecated dons’t mean it will be removed anytime soon. Apple keeps APIs and frameworks as long as they don’t interfere with something else.


What's the advantage of running x86-64 Linux Docker containers over running ARM Linux Docker containers? Aren't most distributionss and packages available for both platforms?


Microsoft SQL Server is only available as an x86-64 docker container binary. They actually had a native(?) arm64 docker container under the name "azure-sql-edge", which was (and still is) super useful as you can run it "natively" in an arm64 qemu linux for example, but alas that version was not long lived, as Microsoft decided to stop developing it again, which feels like a huge step backwards.

https://techcommunity.microsoft.com/blog/sqlserver/azure-sql...

There's probably other closed-source linux software being distributed as amd64-only binaries (rosetta 2 for linux VMs isn't limited to docker containers).


The advantage is the fact that they exist. Not every Docker container is built for multiple platforms.


Lots and lots of Docker images are only linux/amd64 compatible. Without Rosetta 2 I wouldn't be able to do my job, especially in a team with a mix of Mac and Linux workstations and most images being build as amd64/linux only.


Some images are only available for amd64 still. Like oracle databases. Even if there is an arm64 of a recent version of the app, it may not exist for older versions that you want to test against.


The first Rosetta was based on licensed technology, used at a time when Apple was still pinching pennies.

It made financial sense to stop paying the licensing fee to include it in each new version of the OS as quickly as possible.

There is no financial incentive to remove the current version of Rosetta, since it was developed in-house.


Thanks didn’t know that.


It was interesting tech, licensed by Silicon Graphics, Apple, IBM, and Sun. IBM ended up buying out the company that brought it to market.

https://www.wikipedia.org/wiki/QuickTransit




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: