this post was submitted on 22 Aug 2024
488 points (99.0% liked)
Linux Gaming
16064 readers
59 users here now
Gaming on the GNU/Linux operating system.
Recommended news sources:
Related chat:
Related Communities:
Please be nice to other members. Anyone not being nice will be banned. Keep it fun, respectful and just be awesome to each other.
founded 4 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Sometimes i feel weird and impressed with Microsoft that allow third party to create windows emulation system that beat original windows in many ways
It is mostly a translation layer -- WINE is Not an Emulator (WINE). The reason Microsoft 'allows' this is because they have no choice. WINE hasn't broken any laws or violated any copyright or trademarks. Same goes for Proton with DXVK of course.
Although i never fully understand how wine works, how WINE doesn't break any lawsuit ? It's clearly mimicking windows itself with windows library (like VC Library, DotNet, DirectX, etc) as add-ons
Now i hope linux community can do the same with Nintendo Emulator or Sony PS emulator without triggering lawsuit
To add a more technical explanation, the main point is about the expectation on how it behaves and not what it really does. To get windows to do something, you read the specification (interface) and make a call against it. Windows interprets your request and does what you wanted. You do not care how it works but just that it works. As a developer, you can also switch to the other side and make your own program that interprets these calls and translates, them for linux.
Legally (I am not a lawyer), the specification is a fair game. The spicy part is how it is done and copying that gets you in trouble.
Of course, this is also extremely simplified since linux and windows differ wildly in many regards. Also a "specification" is often incomplete or the implementaion bleeds into the real world use. This makes it not reliable to look at it alone and so, often the "original" implementation has to be observed on how it behaves.
As a more relatable example, think about websites. On the one hand, it does not matter which browser you use. It "just" has to display the page and act accordingly. On the other side, it does not matter what server sends you the page. It could be a pre-computed static page, served via a proxy server or dynamically generated by any of the different programming languages.
Edit: grammar