January 14, the developers team of “Wine”, a compatibility layer for running Windows applications on POSIX- compliant operating systems like Linux, rolled out the latest major release “Wine 6.0”.
Wine 6.0 is the latest major release that follows Wine 5.0, released in January 2020. It is released with over 8,300 changes of a year’s effort.
Modules are continued to be provided in PE (Portable Executable) format, and the core DLLs, which include NTDLL, KERNEL32, GDI32, and SER32, are built in PE format. This helps a number of copy protection schemes that check that the DLL files on disk match the in-memory contents. It also introduces a new mechanism that associates a Unix library with a PE module. By using this mechanism, it can call UNIX libraries from PE for the functions that can’t be handled with Win32 APIs. The latest release brings many other enhancements related to PE modules.
As to Direct3D, this release is experimentally implemented with Vulkan renderer for WineD3D. To translate Direct3D shaders to SPIR-V shaders, it requires vkd3d-shader. With 6.0, the shader support of Vulkan renderer is limited to models 4 and 5.
It is implemented with Direct3D 11 features such as dual-source blending. In regards to text and fonts, text console support is reimplemented. Pseudo consoles, which are equivalent to UNIX-like TTY, are implemented, and now all console handling is done in the ConHost process.
The Media Foundation framework is complete, and the AMStream (ActiveMovie Multimedia Streaming) library is more fully implemented. As to video and audio, DirectShow File Writer filter is implemented along with more Media Detector APIs.
Raw input devices and messages are implemented to be used by DirectInput. The LibUSB-library-based USB kernel driver is initially implemented to provide access to USB devices. This release includes many other enhancements.