4 ms·
> and even lets you link to native libraries. I'd be interested to learn more about this. My experience with qemu's usermode emulation is it only wraps syscall
by spijdar 5y ago
> and even lets you link to native libraries.
I'd be interested to learn more about this. My experience with qemu's usermode emulation is it only wraps syscalls and some ioctls. So you need a complete userland in the target arch.
In particular, it doesn't really wrap any DRM interfaces very well/thoroughly (as of when I tried), so you couldn't get 3D hardware acceleration working.
box64 bypasses this problem by just wrapping the native mesa libraries, avoiding opening that can of ioctl worms.
(To my knowledge WoW is the same in that it doesn't emulate the entire userland stack up to the syscall layer but can wrap calls to DLLs to native ones, not unlime the Hangover project does for x86 wine on Aarch64/ppc64le Linux)
- zozbot234 5y ago> My experience with qemu's usermode emulation is it only wraps syscalls and some ioctls. So you need a complete userland in the target arch. Yes, but that's required because the native userland would have a totally different ABI, so it's just not going to work with the target code even in emulated form. The best you can do is have the "target" userland marshal calls to the native userland, translating across native and target ABI. But even that is likely unfeasible in the general case.
- comex 5y ago> The best you can do is have the "target" userland marshal calls to the native userland, translating across native and target ABI. Which is what Box64 does.