• inzen@lemmy.world
    link
    fedilink
    English
    arrow-up
    33
    ·
    16 hours ago

    I wonder if at some point Wine on Linux will become better than Windows itself.

      • mech@feddit.org
        link
        fedilink
        English
        arrow-up
        4
        ·
        11 hours ago

        Once Microsoft has finished the transition of Windows into an Edge launcher with a Copilot backend…

      • mybuttnolie@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        3
        ·
        7 hours ago

        if proton is a few months behind wine in big updates, does proton-ge update faster? or is it a week or to behind proton

        • mlg@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          24 minutes ago

          Proton-GE is essentially bleeding edge with all of its dependencies and upstream set to latest, so it gets updated constantly as a rolling release.

          Valve waits until the next version has been well tested before bumping it in proton experimental, and then eventually the default release.

    • Buddahriffic@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      5 hours ago

      Running another uarch is a whole new level of complexity vs just running on a different OS but with the same uarch, especially if concurrency is involved because translating from one instruction set to another can break atomicity assumptions that concurrency depends on to maintain coherency. You’d need to do thorough analysis of the code to determine where special care is needed, and even then, it won’t be trivial setting it up in a way that avoids deadlock because you have to understand what the threads are doing before you can say if it’s safe for one thread to wait for another (since they could end up waiting for each other).

      Whereas running code meant for a different OS just requires implementing that OS’ API (and behaviour, possibly including undocumented behaviour some code relies on, which can vary from application to application, hence windows compatibility modes where they add a translation layer themselves). Not saying this is trivial, but compared to the above problem, it kinda is.

      Not that ARM support is impossible, just if they manage that, it will be proclaimed loudly, not something that requires digging. If they don’t say it supports ARM, just assume it doesn’t.

        • Buddahriffic@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 hour ago

          Yeah, when you’re compiling from source code, it’s much easier to add in ARM support. Kernels do need to handle more hardware-specific stuff, like interrupt handling, context switching, feature enablement and the like will likely need custom ASM code and might have different parameters/events to handle. But at the user level, you can often compile for ARM by just changing a few command line arguments and it’ll be fine as long as you don’t rely on inline ASM and have ARM versions of any libraries you need.

          You still might need to do some adjustments for specific behavior differences when it comes to concurrency and atomicity of operations. It didn’t surprise me to see that the previous attempt to make an ARM ReactOS didn’t support multi-threading, because trying to enable it was probably an unreliably buggy mess with race conditions all over the place.