Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

These userspace runners seem pretty revolutionary, especially their ability to catch syscalls. As I understand it, this is what WINE is trying to add to Linux (so that they can correctly emulate Windows calls for some DRM/anti-cheat).

This is very, very, cool stuff. It positions Fuschia as approximate to a lingua franca OS.



They already merged that in Linux, available in upcoming 5.11 Kernel release.

https://www.kernel.org/doc/html/latest/admin-guide/syscall-u...


Nice. Does anyone know how this differs from using KVM for this like gVisor does?


So far as WINE is concerned:

At the end of the day, x86 is x86. Different operating systems use different loaders/dynamic linkers, different filesystem layouts, different APIs, but still the same machine code and still the same calling conventions. WINE, in a nutshell, merely presents the Windows environment (by wrapping Linux calls in Windows calls) to an executable that is running otherwise natively, there isn't a virtual machine or an emulator involved. There is no sandbox or security (as that is a non-goal).

The problem is that various DRM and anti-cheat products use undocumented Windows syscalls to do their job, and syscalls are something that you can't just wrap with a function. This extension will allow WINE to ask Linux to send it unhandled syscalls (via SIGSYS), so that it can emulate them (making it a misnomer for the first time).


> but still the same machine code and still the same calling conventions.

The Linux and Windows calling conventions are pretty different.


Oof, you're right. Still, it's merely a transition from one convention to another.


It's an old technique. Similar runners exist for Solaris and Minix


Windows NT?


Unfortunately you can no longer create syscalls in NT subsystems (XP was the last time that was possible). I assume you have to be Microsoft, or a specially privileged partner with source access, in order to do that.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: