but the E literally stands for emulator
(I’m kidding)
Comment on Linux vs Windows tested in 10 games - Linux 17% faster on Average
IntrepidIceIgloo@lemmy.world 1 year agoWine is not an emulator
but the E literally stands for emulator
(I’m kidding)
Just in case someone sees this and doesn’t understand all this, WINE is an acronym that literally means “WINE Is Not an Emulator.”
And it is an emulator these days. Their own website says it and it’s obviously one just thinking about it for a second. The reason it started with that acronym was because originally you could take Windows source code, compile it against winelib and run it natively. It is an emulator when actual Windows binaries are executed against it.
It is an emulator when actual Windows binaries are executed against it.
I suppose I am not sure entirely what constitutes an emulator and what doesn’t, but I always thought an emulator mimics (emulates) a certain systems architecture, i.e. has to be slower by design than the real thing. In wine, however, windows system calls are replaced / re-routed to the underlying linux system calls which are often much faster, which is why wine often exceeds windows in performance executing windows binaries (assuming you can get them to run at all :)
I suppose I am not sure entirely what constitutes an emulator and what doesn’t, but I always thought an emulator mimics (emulates) a certain systems architecture, i.e. has to be slower by design than the real thing. In wine, however, windows system calls are replaced / re-routed to the underlying linux system calls which are often much faster, which is why wine often exceeds windows in performance executing windows binaries (assuming you can get them to run at all :)
WINE has a FAQ on the matter - wiki.winehq.org/FAQ#Is_Wine_an_emulator.3F_There_…
Short story, it depends what you use WINE from and the perspective you’re looking from. I think from a binary’s POV that thinks it is calling Windows OS it is emulation.
arc@lemm.ee 1 year ago
Wine is an emulator. It might not have started as such when it was winelib but it is now, especially when running binaries. If in doubt read their own FAQ.
jabjoe@feddit.uk 1 year ago
Go read the code. It’s a reimplementation of core Windows DLLs. Quite a clean one. There is also a daemon that fakes a NT kernel. It’s worth a read.
arc@lemm.ee 1 year ago
I know what it is thanks. I even contributed code a long time back to it.
jabjoe@feddit.uk 1 year ago
Then why are you saying it’s going to pay any kind of emulation cost? It’s not really much different to what MS do. NT has it’s own sys calls that MS call in their Win32 implementation. WINE calls POSIX calls in their’s.
Well done contributing anyway. I haven’t, but I crawled all over the source when I developed on Windows as it was better than MSDN for the semi-documented stuff (that was only documented at all because EU forced them).