this post was submitted on 11 Oct 2023
171 points (97.8% liked)
Technology
59742 readers
3927 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
It's a different problem under the same name. You're comparing apples to oranges by comparing WINE and Rosetta.
WINE (as I understand it) explicitly does its best to maintain the instructions and basically just implements functions that are missing.
Rosetta actually changes out every instruction (and presumably has to do a WINE-like thing as well to handle dynamically linked code, though in theory this is more of a 1-to-1 mapping since you're not swapping OSes).
For a properly written application that doesn't have a lot of third party binary dependents... This really shouldn't be that big of a job. You just recompile the code on ARM, test, and fix any bugs.
I'd speculate that most of the time this stuff comes up like: "this was written for Windows with some very specific Microsoft libraries/tech in mind and we want to run it on Linux and ARM as cost cutting measures."
Granted, it's not unusual for a large enough code base to contain some code that wasn't written in an architecture neutral way/does some shady stuff.
I'm not comparing Rosetta and proton...I'm just using them as examples of compatibility layers that make their products viable. I frankly don't give a shit about the inner workings of Rosetta or proton, but thanks for clarifying I guess.