← Back to context

Comment by arcfour

7 hours ago

Uh, no, a Win32 binary will run in Wine because of the concerted effort of thousands of talented developers for more than a decade, painstakingly reimplemting Win32 into a a compatibility layer for it to run on Linux.

There has been little to no interest in doing the reverse, at least until WSL, which is just containers anyways. (WSfU barely counts as an "attempt.")

I would hardly consider anything relying on a compatibility shim "compatible." Especially since Wine is not a perfect shim!

glibc is the main reason linux on the desktop has such a low adoption rate.

you cant just go and download a precompiled blob from a website and run it everywhere, like you can with macOS and Windows.

glibc only targets one audience, one which can recompile its apps when needed.

What linux badly needs is a stable ABI for Userspace Apps, and Win32 is just that sadly.

  • > you cant just go and download a precompiled blob from a website and run it everywhere, like you can with macOS and Windows.

    Sure you can! It's called AppImage or Flatpak or Snap!

    I'm also not sure why compiling is treated as some taboo? It's not like Windows where it's actually impossible to set up a toolchain. Your distro comes with one installed! So that means you can run a single installer file, just like in Windows, except this is a shell script or anything else—and it can just compile and link everything for you, quite easily! The user doesn't have to know or understand how this works at all.

    Why is that bad? It's bad to run binary blobs...! It's good to tailor your software to your specific environment and hardware!

    • they don't run without a runtime, and that runtime is backed by glibc, they just moved the issue one more layer.

      Virtually all software for the desktop is compiled once and then shipped to users and they never see the source.

      This works for Windows and macOS because their ABI allows it. For Linux you have to target each and every distro like a whole OS and keep up with it or your app won't run anymore after a few years.

      This is also the reason why Linux has package managers and windows didn't have a official one for nearly 40 years. So its not all bad.

      2 replies →