The Wine team has officially released Wine 10.0, bringing a year’s worth of development and over 6,000 improvements. This latest version enhances compatibility for running Windows applications on Linux, macOS, and other Unix-like systems. The two major highlights of Wine 10.0 are full support for the ARM64EC architecture and improved high-DPI scaling.
Table of Contents
What is Wine?
Wine is a compatibility layer that allows you to run Windows applications on Unix-like operating systems, such as Linux and macOS.
Instead of needing a Windows license or a virtual machine, Wine translates Windows API calls into commands that your operating system can understand. This makes it a powerful tool for running Windows software without leaving your favorite OS.
ARM64 Support: Running Windows Apps on ARM Devices
One of the most exciting additions is full support for the ARM64EC architecture used in used in modern smartphones, tablets, and some laptops. With this release,Wine can now run Windows applications directly on ARM devices without needing to slow things down by emulating the older x86 architecture.
Even better, Wine 10.0 can run 64-bit Windows applications on ARM device thanks to a clever new x86 emulation interface.
- Hybrid ARM64X Modules: Wine can now mix ARM64EC and regular ARM64 code in a single binary, making it easier to run complex Windows applications on ARM devices.
- 64-bit x86 Emulation: Wine can run 64-bit Windows applications on ARM devices by emulating only the application’s code, while the rest of Wine runs natively. This reduces overhead and improves performance.
High-DPI Scaling: Better Support for High-Resolution Displays
If you’re using a high-resolution display (like a 4K monitor), you’ll appreciate Wine 10.0’s improved High-DPI scaling support. This feature ensures that Windows applications look sharp and properly scaled on high-DPI screens, even if the application wasn’t designed with high-DPI in mind.
- Automatic Scaling: Wine now automatically scales non-DPI-aware windows, so they don’t appear too small or blurry on high-resolution displays.
- Compatibility Flags: You can customize high-DPI behavior for specific applications or globally, giving you more control over how applications look on your screen.
Vulkan and Direct3D Improvements: Better Gaming and Graphics
For gamers and developers working with 3D graphics, Wine 10.0 brings several enhancements to its Vulkan and Direct3D support:
- Vulkan Child Window Rendering: Applications that need 3D rendering on child windows (like some games) now work better with the Vulkan API.
- Shader Stencil Export: This improves rendering quality in games that use advanced shader techniques.
- HLSL-Based Fixed Function Pipeline: Wine now supports a more accurate emulation of older Direct3D 9 games, making them run smoother on modern systems.
- The OpenGL renderer now requires GLSL 1.20 and ARB_texture_non_power_of_two.
- Vulkan now uses dynamic state extensions, reducing stuttering in games.
Desktop Integration: A More Windows-Like Experience
Wine 10.0 introduces several improvements to make the desktop experience feel more like Windows:
- New Desktop Control Panel: A new tool called
desk.cpl
lets you manage display settings, change resolutions, and control virtual desktops. - Emulated Display Settings: You can now emulate display mode changes without actually altering your screen resolution, which can be useful for testing or compatibility purposes.
- System Tray and Desktop Customization: You can disable system tray icons or shell launchers if you prefer a cleaner desktop environment.
- Shell launchers can be turned off in desktop mode, providing a cleaner user experience.
Wayland and X11 Updates
Wine 10.0 isn't just about big new features; it's also about polishing the existing experience. The Wayland driver is now enabled by default, meaning that you can enjoy a more modern and seamless desktop experience if your Linux distribution uses Wayland.
However, X11 remains the priority if both are present.
OpenGL is now supported on Wayland, providing better performance for games and graphical applications.
Multimedia
Wine 10.0 improves support for multimedia applications, especially those that rely on Media Foundation, a framework used by many modern Windows apps for video playback and streaming.
Music lovers will be happy to know that DirectMusic now supports loading MIDI files. There's also a new experimental FFmpeg-based backend for multimedia that promises better compatibility with Media Foundation pipelines.
Input and HID Devices: Better Support for Touchscreens and Joysticks
Wine 10.0 enhances support for various input devices, including touchscreens and joysticks:
- Touchscreen Support: Basic multi-touch input is now supported, allowing you to interact with Windows applications using touch gestures.
- Joystick Control Panel: A new applet (
joy.cpl
) lets you configure advanced settings for joysticks and game controllers. - The Dvorak keyboard layout is now properly supported.
- And many more.
Internationalization and Localization
Wine 10.0 improves support for different languages and regions:
- New Locales: Additional locales like
kaa-UZ
,lld-IT
, andltg-LV
are now supported. - Unicode 16.0.0: Wine’s Unicode character tables are updated to the latest version, ensuring better compatibility with modern text and symbols.
Internet and Networking Related Changes
Wine 10.0 includes several updates for internet and networking:
- The JavaScript engine has a new object binding interface, used by MSHTML to expose its objects in a standard-compliant way. This change removes the distinction between JavaScript objects and host objects in the engine, giving scripts more flexibility when working with MSHTML objects.
- Built-in MSHTML functions are now proper JavaScript function objects, and other properties use accessor functions where appropriate.
- MSHTML supports prototype and constructor objects for its built-in objects.
- Function objects in legacy MSHTML mode support the call and apply methods.
- The JavaScript garbage collector now operates globally across all script contexts within a thread, improving its accuracy.
- JavaScript ArrayBuffer and DataView objects are now supported.
Kernel Improvements
Wine 10.0 introduces several notable Kernel improvements:
- Process elevation is now implemented. This allows processes to run as a normal user by default but gain administrator access when needed.
- Wine now prioritises retrieving disk labels from DBus instead of accessing the raw device.
- Mailslots are now implemented directly in the Wine server, replacing the previous socketpair method, for full Windows semantic support.
- Asynchronous waits for serial port events have been reimplemented. This addresses an issue introduced by the PE separation work in Wine 9.0.
- Full processor XState support in thread contexts is now available. This enables support for newer vector extensions like AVX-512.
Built-in Applications and Command Line Tools
- Command Prompt (cmd) has a rewritten input parser, fixing many issues with command execution.
- New utilities added:
sort
,where
, andwmic
now support additional options. - The Wine Debugger (winedbg) now uses the Capstone library, improving debugging for ARM64 applications.
Miscellaneous Improvements
- Process Elevation: Wine now supports running processes with elevated privileges, similar to Windows’ “Run as Administrator” feature.
- Improved Command Prompt: The
cmd
tool has been rewritten, fixing long-standing issues with variable expansion and command chaining. - Bluetooth Driver: An initial version of a Bluetooth driver is implemented, though it’s still in the early stages.
Thousands of Changes, All for the Better
Wine 10.0 release is a proof to the dedication of the Wine developers. These are just a few highlights of the hundreds of changes and improvements that have been made. For a full list of changes, be sure to check out the official release notes.
With full ARM64EC support, better graphics performance, and enhanced multimedia playback, it is the best version of Wine yet for gamers, developers, and general users. The improved Vulkan support, high-DPI scaling, and Wayland driver advancements make this release a must-have for Linux and macOS users looking to run Windows software smoothly.
Download and Install Wine 10
Wine 10.0 source code is available at: WineHQ Download. Binary packages for various Linux distributions and macOS will be available soon on official repositories.
We will post a step-by-step guide to install wine 10 shortly. If you want to install older Wine versions, use the following commands depending upon the distribution you use.
For Debian/Ubuntu:
sudo dpkg --add-architecture i386 sudo apt update sudo apt install winehq-stable
For Arch Linux:
sudo pacman -S wine
For Fedora:
sudo dnf install wine
With Wine 10.0, running your favourite Windows applications and games on Linux and macOS has never been easier or more enjoyable. Give it a try and see for yourself!
Suggested Read: