Follow TV Tropes


Context UsefulNotes / WINE

Go To

1[[quoteright:350:]] ² [[caption-width-right:350:Trust me, it's ''not'' an emulator.]]²'''WINE''' is, simply put, a layer (specifically a compatibility layer) for UsefulNotes/MicrosoftWindows applications to run on Linux and other [[UsefulNotes/{{UNIX}} Unix-like]] or Unix-based operating systems. While the acronym initially stood for '''Win'''dows '''E'''mulator, the meaning was later shifted to the recursive acronym, '''W'''ine '''i'''s '''n'''ot '''a'''n '''e'''mulator, as the way Wine works doesn't actually involve any form of CPU or hardware emulation[[note]]though derivative projects like Darwine and Wine for Android rely on CPU emulation for x86 code to run on [=PowerPC=] and ARM, respectively[[/note]], instead providing an environment for existing Windows applications to run unmodified.²²!Architecture²Wine implements the Windows API and application binary interface (ABI) in userspace, i.e. the region where most applications run on a typical operating system on top of low-level code like the kernel. This is done for security reasons, no thanks to Windows being susceptible to malware, but it comes at a cost of not being able to run certain games or applications which rely on strong CopyProtection or anti-cheat middleware such as [=StarForce=], [=PunkBuster=] or [=GameGuard=]. Don't be surprised if the developers would deem a bug report as non-fixable, as they definitely wouldn't touch kernel-mode stuff with a ten-foot pole for the reasons mentioned above.²²!Compatibility²Wine is able to run most Windows applications properly, especially older titles which may either malfunction or crash on a regular Windows system, and even old-school 16-bit applications on 64-bit *nix distributions, even if support for them has been dropped on Windows. This isn't to say that Wine is perfect though: it still is playing catch-up with Microsoft due to changes in the API, and as such newer technologies receive preliminary support or are yet to be implemented. For instance it usually takes a few years at most for a newly-released game to be functional on Wine, though some such as ''VideoGame/{{RAGE}}'' were reportedly playable almost immediately after its release.²²!Derivatives²Owing to its open-source nature, Wine, or parts of it, has been used as the basis for numerous forks, such as Cider, a proprietary library/wrapper for developers to adapt existing Windows games to [[UsefulNotes/MacOS OS X]] with next to no changes in source code (as a matter of fact, this has been [[NotTheIntendedUse used]] by intrepid hackers to "port" various games and/or applications to Apple's operating system, simply by copying the game's installation folder to the Cider .app directory and tweak the configuration files if necessary), and [=CrossOver=], a premium version of Wine developed by the same team behind the project. Aside from Crossover, there used to be another paid version of Wine called [=WineX=] (later rechristened to Cedega, and lastly as Game Tree Linux before being laid to rest) from [=TransGaming=], the company who also developed Cider. The company eventually discontinued the product to focus on Cider. There is also a free Cider-like framework called Wineskin, allowing end-users and developers alike to do Windows-to-OS X conversions of software, without the legal issues associated with taking an existing Cider wrapper. ²²Creator/{{Valve}} has also come up with its own fork, named [[ Proton]] to allow Linux users to play Windows-exclusive titles via the UsefulNotes/{{Steam}} service (though it isn't restricted to Steam games), all without having to maintain a separate Windows partition or a virtual machine. Proton also includes libraries from other Open Source projects, such as DXVK, [=D9VK and VKD3D=], which are, respectively, [=DirectX=] 10/ 11, 9, and 12 translation layers that convert calls from those [=APIs=] to Vulkan, which '''greatly''' improves the performance of games running under Proton. F-Audio is also included, which is a drop-in replacement for Microsoft's "X-audio" software. ²²One team even took Windows compatibility UpToEleven by developing a free software alternative to Windows called [=ReactOS=], which aims to be a drop-in replacement while still providing a familiar application and user experience to an average end user without having to resort to any *nix-style OS. [=ReactOS=] shares much of its userspace code with Wine, [[AlreadyDoneForYou saving them the trouble]] of having to redo everything from scratch. However unlike Wine, which is more or less feature-complete despite being in PerpetualBeta, [=ReactOS=] is still too unstable for daily use, either lacking crucial functionality or hanging up in certain scenarios. This is due to [=ReactOS=]' goal being more than just running Windows apps, but to become a complete drop-in solution for Windows XP/Server 2003 R2, including supporting all Windows drivers, and having a fully custom kernel that is compatible with Windows system calls instead of just using the Linux kernel with a translation layer[[note]]The project has also been hit by [[MovingTheGoalposts perpetually moving goalposts - at this point, the developers have agreed to lock on to getting Windows XP/2003 support stable first before starting with Windows 7 support - but they were pushed by the financial backers to add Windows 7 support anyway due to Microsoft dropping support for Windows 7, and obliging]], as well as all sorts of delays and setbacks[[/note]]. Additionally, certain Wine userspace libraries are not used by [=ReactOS=] either due to licensing, or due to incompatibilities with the way the other parts of [=ReactOS=] are implemented.[[note]]There is however an experimental branch called Arwinss which use slightly-modified versions of Wine's [=GDI32=] and [=USER32=] libraries in order to take better advantage of Wine's existing software compatibility.[[/note]] Unlike the developers of Wine, [=ReactOS=] developers considers low-level kernel issues a must-fix. ²²!Frontends²Unfortunately, Wine can be a headache to set up for a program, and even more so if said program requires additional libraries or other fixes in order to work. Because of this, many frontends have been developed to automate these tasks, being primarily focused on gaming. One of the original popular frontends was [=PlayOnLinux=], which handled running executables and installing extra dependencies. However, due to development stalling, [=PlayOnLinux=] quickly fell out of popularity. Another frontend used today, even with other frontends, is Winetricks, which helps install other libraries. As of 2019, the most popular frontend is Lutris, which relies on community scripts to automatically install games with the proper Wine versions, libraries, and other fixes. Additionally, Cedega and [=CrossOver=] come with their own proprietary frontend.


How well does it match the trope?

Example of:


Media sources: