The Wine Project has released Wine 4.0 for Linux, MacOS and Android. Wine provides non-Windows users with an emulated Windows API, allowing selected Windows applications (and games) to be run directly inside Linux or MacOS through Wine.
The main highlights in Wine 4.0 is support for Direct3D 12 and game controllers. Also added are support for the cross-platform Vulkan graphics API, while Android users gain support for high-DPI.
Wine 4.0 is released just over a year after Wine 3.0 made its bow, and in that time over 6,000 individual changes have been implemented, documented in full at WineHQ.
The first headline new feature is preliminary support for Direct3D 12, which in turn requires a Vulkan-capable graphics card and the vkd3d library. Its multi-threaded Command Stream feature has been enabled by default.
In addition, numerous Direct3D 10 and 11 features have also been implemented, which helps ensure games and applications using Direct3D can utilise more display features when run through Wine.
The Direct3D graphics card database has also been updated to recognise more graphics cards.
Vulkan support is driven by the implementation of a complete Vulkan driver, and Direct2D interfaces have been updated to version 1.2.
Game controller support has been added, with HID game controllers supported in the XInput and Raw Input APIs, and an SDL driver implemented to support SDL controllers through the HID interface.
One major change is that DOS binaries no longer run in Wine; instead, when a DOS binary is launched, it’ll be directed to an external instance of DOSBox. The only exception is 16-bit Windows binaries, which are still supported in Wine.
Other highlights include various tweaks to desktop integration, such as additional properties supported in the File dialog (such as size, attributes and time, plus the Places toolbar where utilised by Windows applications).
Wine 4.0 is rolling out now as an open-source download for most Linux distributions as well as MacOS. It’s also available for Android. Wine is best utilised through a front end, such as PlayOnLinux or CrossOver.