Wine 5.0 is available for download after being in development for a year. This release includes over 7400 changes, the main highlights being proper multi-monitor support, Vulkan 1.1 support, the reimplementation of XAudio2, and built-in modules in the PE format.
New to Wine? This is a Windows compatibility layer for Unix-like systems (runs on Linux, macOS and there’s also experimental Android support); using it, you can run Windows applications and games on Linux, macOS and Android. For example Valve’s Steam Play compatibility layer, called Proton, is based on Wine, allowing users to easily run Windows games on Linux.
Important Wine 5.0 changes include:
- Multiple display adapters and monitors are now properly supported, including dynamic configuration changes
- The XAudio2 libraries are reimplemented to use the external FAudio library, for better compatibility
- Most modules are now built in the PE (Portable Executable) format instead of ELF when the MinGW compiler is available, helping with various copy protection schemes that check that the on-disk and in-memory contents of system modules are identical. Not all modules have been converted to PE – the process will continue during the Wine 5.x development series
- The Vulkan driver supports up to version 1.1.126 of the Vulkan spec
- Added support for compressing textures using S3TC-compression (the patent for this has expired in March 2018)
- Plug and Play (PnP) device drivers can be installed and loaded on startup
And a few not so important changes but which I thought are worth mentioning:
- Fullscreen Direct3D applications now inhibit the screensaver
- DXGI swapchain presents inform the application when the corresponding window is minimized, which usually allows applications to reduce the CPU usage while minimized, and is in some cases required to allow the application window to be restored again
- Switching between fullscreen and windowed modes using the standard Alt+Enter combination is implemented for DXGI applications
- Libraries of the wrong 32/64-bitness are ignored when found in the search path, to enable loading the correct one if it’s found further in the path
- Microsoft Installer (MSI) Patch Files are now directly supported
- The Gecko and Mono add-ons now support shared installation, where the files are used directly from a global location under
/usr/share/wineinstead of being copied into every new prefix
Visit the Wine 5.0 release announcement for the complete list of changes added in this stable release.
As usual, most of these changes / features were already available in the Wine staging and development builds maintained by WineHQ, which are also used by Lutris, PlayOnLinux or Valve’s Proton for example.
The Wine 5.0 binaries provided by WineHQ have not yet been built at the time I’m writing this article, but they should be available very soon. That’s why in the screenshot above I’m using Wine 5.0-rc6 (development build). The source is already available for download though.
It’s worth noting that Wine 5.0 (this started with Wine 4.5 development / staging) is the first stable Wine release that requires the
libfaudio0 dependency, which is not available in the Ubuntu 19.04 / Debian 10.1 / Linux Mint 19.* and older repositories, or in the official Wine repository. The following article explains how to properly install Wine this case: How To Install Wine Staging, Development Or Stable On Ubuntu, Linux Mint Or Debian 10 (Avoiding Dependency Issues)