Wine 8.0 Compatibility Layer Is Out Now for Running Windows Apps on Linux

Highlights include finalized PE format conversion, a new "Windows-like" WoW64 mode, and better Vulkan support.
Wine 8.0

After more than a year in development, the Wine 8.0 open-source and cross-platform compatibility layer for running Windows applications and video games on GNU/Linux, FreeBSD, Solaris, or macOS systems is now available for download.

The biggest change in the Wine 8.0 is the completion of the conversion to PE format, which took more than four years. This allows the developers to build all of Wine’s modules in the PE format, which offers many great features like copy protection, support for 32-bit apps on 64-bit systems, Windows debuggers, x86 apps on ARM systems, and more.

This major change in Wine 8.0 also comes with a special syscall dispatcher that’s used for PE to Unix transitions to minimize the performance impact of the new architecture, especially for the OpenGL and Vulkan libraries. So, as you can imagine, this is a huge milestone for Linux gaming.

The new Wine release also implements WoW64 thunks for almost all Unix libraries to enable a 32-bit PE module to call a 64-bit Unix library, adds many optimizations to the streaming map acceleration that results in a major performance boost, and introduces a new experimental “Windows-like” WoW64 mode for starting 32-bit app when the 32-bit Wine loader isn’t found.

“This mode can be enabled by building with the ‘–enable-archs’ configure option. This is still under development and not yet recommended for general use. Since in case of configuration errors it is possible for it to be triggered inadvertently, applications started in this mode print the warning “starting in experimental wow64 mode”,” reads the release notes.

On top of that, Wine 8.0 implements adapter video memory budget change notifications, adds support for the Vulkan renderer to set up multiple viewports and scissor rectangles, as well as to limit the maximum Direct3D feature level based on available Vulkan features, and adds support for more graphics cards.

New HLSL (high-level shader language) compiler, disassembler, and preprocessor have been implemented in the vkd3d-shader library, a new D3DX 10 Thread Pump is present as well, the D3DX 9 helper library received cubemap projection functionality, and Direct3D 10 effects now support more expressions.

Wine 8.0 also implements MPEG-1 audio decoder filter for layers 1 and 2, as well as a separate filter for layer 3, on top of the GStreamer multimedia framework, adds an ASF reader filter, adds a DirectShow filter in the Enhanced Video Renderer, and improves controller hotplug support and driving wheel device detection.

Sony DualShock and DualSense controllers are supported as well in this release, which comes with a revamped Joystick Control Panel. Moreover, Wine 8.0 enables the Light theme by default for a more modern look.

The Vulkan driver has been updated to support the latest Vulkan specifications up to version 1.3.237. Also, Direct2D now supports effects, as well as command lists recording and playback.

Wine 8.0 is available for download right now from the official website if you fancy compiling it yourself from sources, or wait for the new release to land in the stable software repositories of your favorite GNU/Linux distribution.

Last updated 1 year ago

Buy Me a Coffee at ko-fi.com