you are viewing a single comment's thread
view the rest of the comments
[–] 1 point 2 years ago (1 child)

it was just an example of a compatibility layer

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).

if there's no viable way to translate those x86 legacy applications over to ARM

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.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 2 years ago

    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.

  • source
  • parent