Wine is a compatibility layer for running Windows applications that has been the primary choice of many Linux users who rely on running such programs.
Over the years, it has received numerous updates that allow it to run Windows apps with ease on a variety of hardware.
The last major release was Wine 7.0, that offered several important improvements. It was also receiving regular bi-weekly development releases ever since.
With the recent announcement, Wine 8.0 has officially landed that unified all the changes from the 7.x release and makes it better.
Wine 8.0: What's New?
This release features a slew of new additions and improvements. Some of the most noteworthy changes include:
- All Modules Converted To PE Format
- Better WoW64 32-bit Support
- Graphics Improvements
- Direct3D Performance Optimizations
- Enhanced Controller and Driving Wheel Support
All Modules Converted To PE Format: In the previous release, almost every module was converted to the PE format, but a few did remain.
With Wine 8.0, this has been taken care of. Now, all modules can be built in the PE format.
The developers have said that this will enable Wine to support various new features, such as 32-bit applications on 64-bit hosts, copy protection, Windows debuggers, x86 applications on ARM and more.
This has been the culmination of almost 4 years of work! 😅
Better WoW64 32-bit Support: WoW64 is now closer to running 32-bit Windows applications without needing any 32-bit Unix library than ever before.
Work is almost done on this, with a few direct PE/Unix calls remaining to be removed.
Furthermore, when the 32-bit Wine loader is not found, 32-bit applications will start using the new experimental 'Windows-like' WoW64 mode where 32-bit code runs inside a 64-bit host process.
Graphics Improvements: Wine 8.0 features various graphics-related improvements. Some of the most important ones include the following:
- The 'Light' theme is enabled by default in the default configuration.
- The Print Processor architecture has been implemented to avoid direct PE<->Unix calls in the printer driver.
- Effects support in Direct2D, including description parsing and a number of core objects.
- Vulkan driver now supports up to version 1.3.237 of the Vulkan spec.
Direct3D Performance Optimizations: A lot of optimization work has been carried out for the Direct3D implementation in Wine.
Various optimizations have been made to the streaming map acceleration, in the common code as well as in the GL renderer. The performance benefit depends on the application being used.
Furthermore, the Vulkan renderer now supports multiple viewports and scissor rectangles, alongside showing notifications when there is a change in the adapter video memory budget.
The Direct3D graphics card database has also been updated to recognize additional graphics cards.
Enhanced Controller and Driving Wheel Support: This release also has something for the gamers out there; some of essential updates include:
- Sony DualShock and DualSense controllers are now supported when the 'hidraw' backend is used.
- The detection of a driving wheel has been improved.
- The 'Windows.Gaming.Input' module has been added to implement a new programming interface to access gamepads, joysticks, and driving wheels. It is also one of the first WinRT modules on Wine.
- The Joystick Control Panel has received a redesign with new graphics and a dedicated view for XInput gamepads.
- Force feedback has been improved, especially for driving wheels.
- Controller hot plugging has significantly been improved.
Other Changes and Improvements: This is one of the biggest releases for Wine this year, with improvements being made throughout the software. Some of the other notable highlights include:
- Improved internationalization.
- Better text and font handling.
- Mono engine has been updated to 7.4.0.
- Updates to the various bundled libraries.
- Improved build infrastructure and development tools.
- The OpenAL library is not being used anymore.
- vkd3d and LDAP libraries are now bundled in the source tree and built as a PE.
- All built-in apps now use Common Controls v6, which enables theming and high-DPI rendering by default.
You can go through the official release notes to dive in deep to know all the technical changes.
Steps to Install Wine 8.0
You can always refer to our guide for running Windows applications on Linux to learn more about Wine's usage.
Here, I give you the installation instructions for a head start:
For Ubuntu-based distros, you can install the latest release by following a few simple steps:
1. Enable support for 32-bit architecture, if not enabled already.
sudo dpkg --add-architecture i386
2. Download the official Wine repository key and add it.
wget -qO - https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add -
If the command gives you a warning, you can type in these commands instead:
wget -nc https://dl.winehq.org/wine-builds/winehq.keysudo -H gpg -o /etc/apt/trusted.gpg.d/winehq.key.gpg --dearmor winehq.key
3. Now, all you have to do is add the Wine repository before proceeding to install:
sudo apt-add-repository "deb https://dl.winehq.org/wine-builds/ubuntu $(lsb_release -cs) main"
4. To install Wine 8.0, type in the following command:
sudo apt update && sudo apt install --install-recommends winehq-stable
If you do not want to wait, I recommend you to go through Wine’s official documentation to install it from the source.
Have you tried Wine 8.0 yet? What do you think about it? Feel free to share your thoughts in the comments down below.