>>
|
No. 2470
[Edit]
>>2469
>Wine both tries to reverse engineer how windows programs interact with the os, AND translate those calls into something the linux kernel can understan
Fair point, and I guess Microsoft actually arrived at a similar conclusion since they abandoned the WSL1 approach in favor of just hyper-v for WSL2. But I don't see why you think the second step (translating those calls into a linux equivalent) is the bottleneck for wine. Granted I don't use wine that much but from my impression command-line programs, basic win32 apps, etc. work perfectly fine – the only real "bottleneck" from a technical standpoint is in the graphics emulation (directx -> vulkan or whatever, I haven't followed this too much). There are separate issues around optimizations to avoid slowdowns from trying to shoehorn windows behavior onto linux (futex2 syscall), as well as issues around applications that call into NT directly instead of going through the DLLs, but these are edge-cases.
I'm also not sure what you're suggesting as the alternative? If you want VMs, you can use vmware, virtualbox or qemu coupled with a stripped down windows (e.g. one of the windows distros meant for POS applications, or there are 3rd party redistributions that strip out as much as possible). Or as you mentioned there's reactOS but I think there's little to no graphics acceleration there.
>A ui shouldn't even be necessary outside of an initial set-up. No client, no manager. Nothing like that. It should just be right clicking a folder you downloaded, pressing "run in windows container", and then that windows program would run.
That's how codeweeaver's crossover or wineskin wrappers on osx work. It essentially does exactly what you suggest – I can download an arbitrary exe, and either open it in an existing environment (what crossover calls "bottles", somewhat hand-wavily analogous to a docker container) or create a new environment to run it in. I'd imagine playonlinux is similar, but I haven't tried that.
|