4 ms·
> The second approach is to instead emulate just the x86 instruction set, and use Wine as described above as an implementation of the massive Windows API backin
by chungy 4y ago
> The second approach is to instead emulate just the x86 instruction set, and use Wine as described above as an implementation of the massive Windows API backing onto something more tractable to then emulate, such as the Linux kernel API.
This is also the approach of qemu user-space, which went unmentioned in the article. It can emulate another ISA and translate the syscalls to your host version of Linux. This way you can run x86 Wine on, say, ARM or RISC-V systems. From a user perspective, if everything is set up so, Windows applications for x86 will run just as well as ARM Linux applications.
- zozbot234 4y agoAh, but can you emulate calls to a shared library, translating ABI's and binary structure definitions seamlessly across architectures? I suppose that this may well be impossible in the general case.
- saagarjha 4y agoIf shared libraries are the level at which your OS exposes its interfaces, then yes.