1 The Wine team is proud to announce that the stable release Wine 4.0
4 This release represents a year of development effort and over 6,000
5 individual changes. It contains a large number of improvements that
6 are listed in the release notes below. The main highlights are:
10 - Game controllers support.
11 - High-DPI support on Android.
13 The source is available from the following locations:
15 https://dl.winehq.org/wine/source/4.0/wine-4.0.tar.xz
16 http://mirrors.ibiblio.org/wine/source/4.0/wine-4.0.tar.xz
18 Binary packages for various distributions will be available from:
20 https://www.winehq.org/download
22 You will find documentation on https://www.winehq.org/documentation
24 You can also get the current source directly from the git
25 repository. Check https://www.winehq.org/git for details.
27 Wine is available thanks to the work of many people. See the file
28 AUTHORS in the distribution for the complete list.
30 ----------------------------------------------------------------
32 What's new in Wine 4.0
33 ======================
38 - Initial support for Direct3D 12 is implemented. Direct3D 12 support
39 requires the vkd3d library, and a Vulkan-capable graphics card.
41 - The Multi-Threaded Command Stream feature is enabled by default.
43 - OpenGL core contexts are always used by default when available. In
44 the previous release, these were already used by default for
45 Direct3D 10 and 11 applications on AMD and Intel graphics
46 cards. That has been extended to all graphics cards, and all
47 versions of Direct3D before 12.
49 - Among others, the following notable Direct3D 10 and 11 features are
51 - Multi-sample textures and views, as well as multi-sample resolves.
52 - Per-sample fragment shading.
53 - Support for 1D textures.
54 - Draws without render target views or depth/stencil views.
55 - Multiple viewports and scissor rectangles per draw.
56 - Depth clipping control.
57 - Depth bias clamping.
58 - Stream output without geometry shaders.
59 - Several more capability queries.
60 - Several more resource formats.
62 - The "depth bias clamping" feature mentioned above requires the
63 ARB_polygon_offset_clamp/EXT_polygon_offset_clamp OpenGL
64 extension. All Direct3D 10+ capable hardware should be able to
65 support that extension, but it has come to our attention that some
66 NVIDIA "Legacy Drivers" do not. We encourage affected users to
67 explore whether the Free Software Nouveau drivers meet their needs.
69 - Several Direct3D 11 interfaces have been updated to version 11.2,
70 and several DXGI interfaces have been update to version 1.6. This
71 allows applications requiring those newer interfaces to start
74 - The first steps towards more fine-grained locking in the Direct3D
75 implementation have been taken. This will be an ongoing effort to
76 take better advantage of modern high core count CPUs.
78 - Support for using the correct swap interval is implemented, for both
79 DXGI and DirectDraw applications.
81 - Application-configurable frame latency is implemented for Direct3D
82 9Ex and DXGI applications.
84 - S3TC-compressed 3D textures are supported. S3TC-compressed 2D
85 textures were already supported, provided the OpenGL drivers
88 - When the ARB_query_buffer_object OpenGL extension is available,
89 query results can be polled with lower latency, resulting in a
90 modest performance improvement in specific cases.
92 - Validation of Direct3D 8 and 9 resource pool and usage restrictions,
93 as well as blit restrictions, has been improved.
95 - The Direct3D graphics card database recognizes more graphics cards.
97 - New HKEY_CURRENT_USER\Software\Wine\Direct3D registry keys:
98 - "MultisampleTextures" (REG_DWORD)
99 Enable (0x1, default) or disable (0x0) support for multi-sample
101 - "Renderer" (REG_SZ)
102 The backend API to target. Possible values are "gl" (default) for
103 OpenGL and "gdi" for GDI.
105 - Deprecated HKEY_CURRENT_USER\Software\Wine\Direct3D registry key:
106 - "DirectDrawRenderer"
107 This has been superseded by the "Renderer" setting above.
109 - Removed HKEY_CURRENT_USER\Software\Wine\Direct3D registry key:
110 - "StrictDrawOrdering"
111 This feature was previously deprecated in favor of the
112 multi-threaded command stream feature, and has been completely
118 - A complete Vulkan driver is implemented, using the host Vulkan
119 libraries under X11, or MoltenVK on macOS.
121 - A builtin vulkan-1 loader is provided as an alternative to the SDK
124 - Icons in PNG format are supported, enabling loading high-resolution
127 - The standard icons include a 256x256 version to take advantage of
130 - Many Direct2D interfaces have been updated to version 1.2.
132 - New HKEY_CURRENT_USER\Software\Wine\Direct2D registry key:
133 - "max_version_factory" (REG_DWORD)
134 Limit the interface version of the ID2D1Factory interface to the
135 specified version. 0x0 for ID2D1Factory, 0x1 for ID2D1Factory1,
136 etc. By default there is no limit.
138 - Using an ARGB visual as default X11 visual is supported.
140 - The old 16-bit DIB.DRV driver is implemented using the DIB engine.
142 - Polygon drawing in the DIB engine is much faster for large polygons.
144 - A0, A1 and A2 paper sizes are supported for generic printers.
146 - Arrows are supported in GdiPlus.
151 - Support for running DOS binaries under Wine is removed. When
152 execution of a DOS binary is requested, an external DOSBox instance
153 is launched. This doesn't apply to Win16 binaries, which are still
154 supported internally.
156 - All the CPU control and debug registers can be accessed by kernel
157 drivers, including on 64-bit.
159 - Events, semaphores, mutexes and timers are implemented in kernel
160 mode for device drivers.
162 - The WaitOnAddress synchronization primitives are supported.
164 - Reported processor information correctly distinguishes logical and
165 physical CPU cores to support hyper-threading.
167 - Detailed BIOS information can be queried on Linux platforms.
169 - The various debugger APIs support manipulating a 32-bit Wow64
170 process from a 64-bit process context.
172 - Application settings, compatibility information and execution levels
173 are recognized in application manifests.
175 - The various file I/O completion modes are implemented.
177 - Debug registers are supported on NetBSD.
182 - The infrastructure for setting DPI awareness and scaling of non
183 DPI-aware applications is implemented. However, actual scaling of
184 window contents is only supported on Android at this point.
185 Scaling is disabled by default and can be enabled by setting the
186 "DpiScalingVer" value under HKEY_CURRENT_USER\Control Panel\Desktop.
188 - Window class redirection is supported, enabling support of Common
189 Controls version 6 features for standard USER controls like buttons.
191 - The standard USER controls Button, Listbox, Combobox, Edit and
192 Static support version 6 features, including theming.
194 - The standard Task Dialog is implemented, including support for
195 icons, hyperlinks, progress bars, and various other UI elements.
197 - Cue banners are supported in version 6 of the Edit control.
200 *** Desktop integration
202 - Exporting MIME-type file associations to the native desktop can be
203 disabled with a checkbox under the Desktop Integration tab in
204 winecfg. It can be configured programmatically by setting the
206 HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations.
208 - The File Dialog can display file properties like size, times and
211 - The File Dialog optionally shows the Places toolbar on the left-hand
214 - The shell folder Public is used instead of AllUsersProfile to follow
215 the behavior of recent Windows versions.
217 - The shell File Browser supports keyboard shortcuts to rename (F2
218 key) and delete (Delete key) shell folders.
220 - Many standard icons are added to the Shell library.
222 - Shell Autocompletion is supported.
224 - In desktop mode the taskbar won't be displayed on top of fullscreen
227 - Additional names are provided for standard cursors to better match
228 existing X11 cursor themes.
233 - HID game controllers are supported in the XInput and Raw Input APIs.
235 - An SDL driver is implemented to make SDL game controllers
236 available through the HID interface.
239 *** Internet and networking
241 - JScript has an EcmaScript compliant mode, which supports a number of
242 features not available in legacy mode.
244 - JavaScript property accessors are supported.
246 - HTML style object is rewritten to support standard-compliant mode.
248 - HTML documents respect X-UA-Compatible HTTP header, allowing web
249 pages to request specific compatibility mode. The
250 HKEY_CURRENT_USER\Software\Wine\MSHTML\CompatMode key may be used to
251 override the requested mode.
253 - MSHTML supports non-HTML elements, allowing limited SVG support.
255 - A number of new HTML APIs are supported.
257 - The proxy server can be configured through the Internet Control
260 - Stream I/O is implemented in WebServices.
262 - The Web Services on Devices API (WSDAPI) is implemented, including
263 sending and receiving the various message types.
265 - More system information is reported through WBEM, including CPU,
266 BIOS, video controller, and network adapter properties.
271 - Asymmetric encryption keys, as well as RSA and ECDSA signature
272 verification are supported.
274 - The GCM and ECB encryption chaining modes are supported.
276 - Optimal Asymmetric Encryption Padding (OAEP) is supported in RSA
279 - A Kerberos security provider is implemented, supporting Kerberos
282 - A selection dialog for public key certificates is implemented.
284 - If available, GnuTLS is used on macOS in preference to the
285 CommonCrypto framework.
290 - Character tables are based on version 11.0.0 of the Unicode Standard.
292 - The new subpixel font rendering of FreeType >= 2.8.1 is supported.
294 - When a font face is missing, FontConfig is queried to provide
295 possible substitutions.
297 - The font selected in the console emulator properly scales with the
300 - Memory font resources are supported in DirectWrite.
302 - The builtin Wingdings font contains clock images.
307 - The Windows Media Player interfaces are implemented and support
310 - An MP3 decoder is provided as DirectX Media Object.
315 - The preloader is implemented on macOS, for better address space
316 layout compatibility.
318 - The Command key can be mapped to Ctrl, by setting the
319 "LeftCommandIsCtrl" or "RightCommandIsCtrl" values under
320 HKEY_CURRENT_USER\Software\Wine\Mac Driver.
322 - The App Nap energy-saving feature is disabled by default in GUI
323 processes. It can be re-enabled by setting the "EnableAppNap" value
324 under HKEY_CURRENT_USER\Software\Wine\Mac Driver.
329 - Setting the mouse cursor is supported using the APIs available in
332 - The new version of the Android graphics buffer allocator API is
333 supported, to enable graphics support on Android >= 8.
335 - Android x86-64 platforms are supported also in 64-bit mode, however
336 WoW64 mode is not supported yet in the WineHQ packages.
341 - Stubless COM proxies are implemented on ARM.
343 - The Windows calling convention for variadic functions is supported
346 - Exception handling and debugging is better supported on ARM64
349 - The MinGW toolchain is supported for cross-compilation to ARM64.
352 *** Built-in applications
354 - The Ping program provides actual pinging functionality using
357 - The SchTasks task scheduler program can create and delete tasks.
359 - The RegEdit registry editor has an improved hex editor for binary
362 - FOR loops are properly handled in the Command Interpreter.
364 - The XCopy program supports the /k (keep attributes) option.
367 *** Internationalization
369 - The Japanese 106 keyboard is properly supported.
371 - Translation of timezone names is supported.
373 - There is a partial translation to the Sinhala language.
375 - More locales are supported in the Resource Compiler (wrc) and
376 Message Compiler (wmc).
379 *** Development tools
381 - winedbg supports debugging WoW64 processes.
383 - In gdb proxy mode, winedbg supports a --port option to specify the
384 port used to connect to gdb.
386 - winegcc uses better heuristics for finding the appropriate lib
387 directory for 32/64-bit cross-compiles.
389 - winegcc supports building native subsystem libraries.
391 - winegcc also looks for includes in the top-level include directory
392 of the installation prefix.
394 - winebuild supports a -mfpu option for specifying the FPU
395 architecture on ARM platforms.
397 - winedump supports dumping SLTG-format typelibs.
402 - Application Configuration Files (ACF) are supported.
404 - Asynchronous interfaces are supported.
406 - Type and method serialization using encode/decode attributes is
409 - The defaultvalue() attribute is supported for pointer types.
411 - Generated files are always specific to the target platform. The
412 target can be specified the same way as with the other tools,
413 using the cpu-manufacturer-os platform specification.
415 - Nesting of pointers and arrays works correctly.
417 - Correct size and alignment are generated for encapsulated unions.
419 - The __int32 type is supported.
421 - The -robust command line option is recognized (but ignored) for
422 compatibility with the Microsoft IDL compiler.
424 - Multiple typelibs can be generated into a single resource file.
429 - 32-bit CIL-only .NET binaries are supported on 64-bit.
431 - The Mono engine is updated to version 4.7.5 with some upstream Mono
437 - The typelib marshaller is reimplemented. It generates format strings
438 and then uses the standard NDR marshalling routines; this way it
439 also works on 64-bit and ARM platforms.
444 - MSI custom actions run in a separate process, enabling proper
445 support for mixed 32/64-bit installers.
447 - Deferred installation actions are supported in MSI.
450 *** Build infrastructure
452 - The test framework supports building helper dlls inside a test, to
453 allow testing features that require loading an external library.
455 - The test framework supports testing Windows kernel drivers.
457 - It is possible to build and run a WoW64 tree from inside the Wine
458 source directory. Previously an out-of-tree build was required.
460 - A .editorconfig file is provided with the recommended indentation
466 - The Task Scheduler service and APIs are implemented.
468 - The Windows Management Instrumentation service is implemented.
470 - The OPC Services (Open Packaging Conventions, used for Microsoft
471 Office XML files) library is implemented.
473 - The HKEY_PERFORMANCE_DATA magic registry key is partially
477 *** New external dependencies
479 - The Vulkan library is used to implement the Vulkan graphics driver.
481 - The Vkd3d library is used to implement Direct3D 12 on top of Vulkan.
483 - The SDL library is used to support game controllers.
485 - The GSSAPI library is used to implement Kerberos authentication.