Follow TV Tropes

Following

Media Notes / Wine

Go To

https://static.tvtropes.org/pmwiki/pub/images/wine1_8_configuration.jpg
Trust me, it's not an emulator.

Wine is, simply put, a layer (specifically a compatibility layer) for Microsoft Windows applications to run on Linux and other Unix-like or Unix-based operating systems. While the acronym initially stood for Windows Emulator, the meaning was later shifted to the recursive acronym, Wine is not an emulator, as the way Wine works doesn't actually involve any form of CPU or hardware emulationnote , 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 Copy Protection or anti-cheat middleware such as StarForce, PunkBuster, GameGuard or Vanguard as used on Valorant. Don't be surprised if the developers would deem a bug report as non-fixable, as they definitely wouldn't touch kernel-mode stuff, or in the case of PunkBuster, strict API checks,note  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 Rage (2011) 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 OS X with next to no changes in source code (as a matter of fact, this has been 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.

There are also several free variants of Wine, the most popular of these being Wine-TKG and Wine-GE. These versions of Wine deviates from the original Libre-only implementation by adding proprietary Microsoft and other third party libraries that aren't Libre and thus aren't shipped with vanilla Wine, improving compatibility tremendously at the expense of the legality of the fork. They may also implement certain patches that are in Proton but not in Wine due to the developers of Wine thinking that the patches would be detrimental to compatibility, improving performance at the cost of stability.

Valve has also come up with its own fork, named Proton to allow Linux users to play Windows-exclusive titles via the 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. Similarly, Apple, of all people, came up with their own fork of Wine as part of the Game Porting Toolkit. Unlike Proton however, GPTK is not meant for end-users but rather for developers to quickly test their Windows games on macOS and evaluate if it's worth porting to the platform.

One team even took Windows compatibility up to eleven 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, saving them the trouble of having to redo everything from scratch. However unlike Wine, which is more or less feature-complete despite being in Perpetual Beta, 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 layernote . 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  Unlike the developers of Wine, ReactOS developers considers low-level kernel issues a must-fix.

There's also a derivative of Wine for Windows itself. WineVDM (formerly OTVDM) was created with the intent of restoring 16-bit Windows support to 64-bit versions of Windows, implementing a subset of Wine alongside MAME's 80386 CPU core and the MS-DOS Player. So far it has had success with productivity programs (like Atlus PageMaker and Brøderbund's Print Shop series), simpler games like the Windows Entertainment Pack libraries of games, and even some more advanced titles like Full Tilt! Pinballnote .

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, as well as Bottles, an open-source implementation of the former two.

Top