ANNOUNCE 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442
  1. The Wine team is proud to announce that the stable release Wine 7.0
  2. is now available.
  3. This release represents a year of development effort and over 9,100
  4. individual changes. It contains a large number of improvements that
  5. are listed in the release notes below. The areas of major changes are:
  6. - Most modules converted to PE format.
  7. - Better theming support, with a bundled theme for a more modern look.
  8. - Vastly improved HID stack and joystick support.
  9. - New WoW64 architecture.
  10. The source is available from the following locations:
  11. https://dl.winehq.org/wine/source/7.0/wine-7.0.tar.xz
  12. http://mirrors.ibiblio.org/wine/source/7.0/wine-7.0.tar.xz
  13. Binary packages for various distributions will be available from:
  14. https://www.winehq.org/download
  15. You will find documentation on https://www.winehq.org/documentation
  16. You can also get the current source directly from the git
  17. repository. Check https://www.winehq.org/git for details.
  18. Wine is available thanks to the work of many people. See the file
  19. AUTHORS in the distribution for the complete list.
  20. ----------------------------------------------------------------
  21. What's new in Wine 7.0
  22. ======================
  23. *** PE modules
  24. - With a few exceptions, all modules can be built in PE format. The goal is to
  25. convert the remaining modules after 7.0.
  26. - For PE modules with an associated Unix library, the interface between the PE
  27. part and the Unix part goes through a standard NT system call. This enables
  28. hiding the Unix code from Windows debuggers, and switching the thread
  29. register on platforms that require it.
  30. - Builtin dlls are only loaded if there is a corresponding PE file on disk,
  31. either a real binary or a fake PE module. This ensures that the application
  32. always sees a valid PE file mapping. It can be disabled through the
  33. WINEBOOTSTRAPMODE environment variable, used at prefix creation time.
  34. *** WoW64
  35. - The 64-bit Windows-on-Windows (WoW64) architecture is implemented, and
  36. supports running a 32-bit Windows application inside a 64-bit Unix host
  37. process, using thunks to map 32-bit NT system calls to the 64-bit NTDLL.
  38. - WoW64 thunks are implemented for most Unix libraries, enabling a 32-bit PE
  39. module to call a 64-bit Unix library. Once the remaining modules are
  40. converted to PE, this will make it possible to run 32-bit applications
  41. without installing 32-bit Unix libraries.
  42. *** Theming
  43. - A "Light" theme is included in Wine, with the color variants "Blue" and
  44. "Classic Blue". It can be enabled through WineCfg.
  45. - All the Common Controls support theming, and automatically refresh on theme
  46. changes.
  47. - All the builtin applications support theming, as well as High DPI rendering.
  48. *** Graphics
  49. - There's a new Win32u library implementing the kernel side of graphics and
  50. window management support. Large portions of the GDI32 and USER32 libraries
  51. are converted to use this new library. This work will continue after 7.0, and
  52. the graphics drivers (winex11.drv, winemac.drv, etc.) will be migrated to
  53. Win32u as well.
  54. - The Vulkan driver supports up to version 1.2.201 of the Vulkan spec.
  55. - Hit-testing stroked geometries using the Direct2D API is implemented.
  56. - Some initial support for Direct2D effects (using the ID2D1Effect interface)
  57. is implemented.
  58. - The Direct2D API supports the ID2D1MultiThread interface.
  59. - WindowsCodecs supports decoding images in WMP (Windows Media Photo) format,
  60. as well as encoding images to the DDS (DirectDraw Surface) format.
  61. - WindowsCodecs no longer supports encoding images to macOS ICNS format. This
  62. is not supported on Windows, and was no longer used by Wine either.
  63. *** Direct3D
  64. - Various improvements have been made to the Vulkan renderer for the Wine
  65. Direct3D implementation. In most cases, for Direct3D 10 and 11 applications
  66. the Vulkan renderer should be about on-par with the older OpenGL renderer in
  67. Wine 7.0. Like in Wine 6.0, the Vulkan renderer can be enabled by setting the
  68. Direct3D "renderer" registry setting to "vulkan".
  69. - The following Direct3D 10 and 11 features are implemented:
  70. - Deferred device contexts.
  71. - Device context state objects, and switching between them.
  72. - Constant buffer offsetting.
  73. - Resolving typeless multi-sample resources.
  74. - Clearing unordered-access views of texture resources. When using the OpenGL
  75. renderer, this requires the GL_ARB_clear_texture OpenGL extension.
  76. - Resource copies between resources with "block-compatible" formats, like for
  77. example DXGI_FORMAT_BC3_TYPELESS and DXGI_FORMAT_R32G32B32A32_TYPELESS.
  78. - Clearing layered render-target views.
  79. - Support for multiple displays ("multi-head") is implemented. In practice,
  80. this tends to mean the ability to choose which monitor a Direct3D application
  81. will use for full-screen mode. Note that this depends on the underlying
  82. display drivers to accurately report the attached displays. For Wine's X11
  83. driver, that requires proper support for version 1.4 or later of the X RandR
  84. extension.
  85. - Display gamma adjustment using the DXGI API is implemented. This is sometimes
  86. used by Direct3D 10 and 11 applications to adjust screen "brightness".
  87. - Direct3D 12 supports version 1.1 root signatures.
  88. - When the VK_EXT_host_query_reset Vulkan extension is available, query
  89. handling in the Vulkan renderer is slightly more efficient.
  90. - Retrieving swapchain present counts using the DXGI API is implemented.
  91. - A fallback path using GDI is added for swapchain presentation. This is used
  92. in cases where OpenGL or Vulkan can't be used to present the swapchain, for
  93. example when presenting to a window of a different process. This path is much
  94. slower, but is often sufficient for some common use cases, like for example
  95. applications using the Chromium Embedded Framework ("CEF") with cross-process
  96. rendering.
  97. - The "precise" shader instruction modifier is respected when using the GLSL
  98. shader backend.
  99. - The DirectDraw API supports 3D rendering to system memory surfaces when using
  100. software device types like the "RGB", "MMX", and "Ramp" devices.
  101. - The following additional graphics cards are recognized by the Direct3D
  102. graphics card database:
  103. - AMD Radeon RX 5500M
  104. - AMD Radeon RX 6800/6800 XT/6900 XT
  105. - AMD Van Gogh
  106. - Intel UHD Graphics 630
  107. - NVIDIA GT 1030
  108. - The following HKEY_CURRENT_USER\Software\Wine\Direct3D key is removed:
  109. - "UseGLSL"
  110. This setting was deprecated in favor of the "shader_backend" setting in
  111. Wine 5.0, and has been removed in this release.
  112. *** D3DX
  113. - The support for version 10 of the D3DX effects framework is much improved.
  114. - D3DX 10 supports the Windows Media Photo (JPEG XR) image file format.
  115. - Various D3DX10 texture creation functions (D3DX10CreateTextureFromMemory()
  116. and variants) are implemented.
  117. - A partial implementation of the ID3DX10Sprite interface is added.
  118. - A partial implementation of the ID3DX10Font interface is added.
  119. *** Audio / video
  120. - The DirectShow and Media Foundation GStreamer glue is unified into a single
  121. backend, making it easier to implement new media decoding APIs.
  122. - The Windows Media asynchronous and synchronous reader objects are implemented
  123. based on the WineGStreamer backend. Like other multimedia decoding libraries,
  124. they require a functioning GStreamer installation.
  125. - The Media Foundation support is more complete, with notably:
  126. - Basic functionality of IMFPMediaPlayer, media item properties, support for
  127. audio and video tracks.
  128. - Support for sample allocator in the Source Reader.
  129. - Improved EVR sink integration with presenter and mixer.
  130. - Improved SAR rendering buffer behavior.
  131. - Video sample allocator, with support for d3d9, d3d11, and system memory
  132. buffers.
  133. - Further improvements to EVR's presenter and mixer implementation.
  134. - D3D11 frame output for IMFMediaEngine.
  135. - Improvements to generic media source implementation in WineGStreamer to
  136. support stopped and paused states, refined output type configuration.
  137. - The QuickTime decoder library (wineqtdecoder) is removed. GStreamer is
  138. required for all built-in multimedia codecs also on macOS.
  139. *** Input devices
  140. - The HID (Human Interface Device) stack implementation is more complete. This
  141. includes HID descriptor and report parsers, report processing, as well as HID
  142. mini-driver support.
  143. - The winebus.sys driver backends are improved, to better describe the devices
  144. into HID reports when pass-through is not possible, and to add standard
  145. Physical Interface Device reports to expose force-feedback capabilities over
  146. HID.
  147. - There's a new DirectInput joystick backend using the improved HID stack to
  148. communicate with winebus.sys and host devices. This backend supports
  149. force-feedback effects using the standard HID Physical Interface Device
  150. reports, and is also compatible with pass-through HID device which implement
  151. it. The SDL and evdev winebus.sys Linux backends are also supported as they
  152. implement it too. This replaces and deprecates the legacy Linux js and evdev,
  153. and macOS IOHID backends.
  154. - The joystick control panel is improved, as well as the interaction with
  155. XInput-compatible devices. For such devices the joystick control panel can be
  156. used to force DInput as the primary interface instead of XInput. This
  157. translates to the "<joystick name>"="override" (REG_SZ) registry value in
  158. HKCU\Software\Wine\AppDefaults\<app.exe>\DirectInput (or
  159. HKCU\Software\Wine\DirectInput for prefix-wide setting).
  160. - The WinMM joystick support is implemented using DInput instead of Linux evdev
  161. or macOS IOHID, and the old joystick driver (winejoystick.drv) is removed.
  162. - Many tests are added to the DInput module, using a virtual HID device to not
  163. require a physical device anymore. The code is extensively and automatically
  164. tested, including force-feedback effects with HID input / output report
  165. validation.
  166. *** Text and fonts
  167. - Arabic shaping is implemented in DirectWrite, currently enabled for Arabic
  168. and Syriac.
  169. - The Font Set object is implemented in DirectWrite.
  170. - The TextHost interface is properly implemented in RichEdit.
  171. *** Mono / .NET
  172. - The Mono engine is updated to version 7.0.0, with the following changes:
  173. - IDispatch interface supported on COM Callable Wrappers.
  174. - Improved support for SafeArray marshaling.
  175. - Many other marshaling and COM interop improvements.
  176. - Code imports from .NET Core: System.Drawing.Printing,
  177. System.Security.Principal, WindowsFormsApplicationBase, parts of
  178. Microsoft.VisualBasic.Interaction
  179. - WMA and WMV support in FNA using mfplat.
  180. - Debug symbols available separately in PDB form.
  181. - Old VBNC compiler for Visual Basic .NET replaced with the VBC compiler from
  182. .NET Core.
  183. - Mono's JIT compiler generates code compatible with 64-bit macOS.
  184. - WPF built with support for media controls.
  185. - A replacement for the Managed DirectX API is included.
  186. - Fixes for various bugs that prevented most WPF applications from working.
  187. *** Internationalization
  188. - Unicode character tables are based on version 14.0.0 of the Unicode Standard.
  189. - The timezone data is updated, based on the information from the Olson and
  190. Unicode CLDR databases.
  191. - Codepages 720 (Arabic, Farsi and Urdu) and 20949 (Korean Wansung) are
  192. supported.
  193. - The sr-Latn-RS locale is supported.
  194. *** Kernel
  195. - Launching applications with the 'wine' executable invokes start.exe for any
  196. unrecognized binary. This means that file associations work also from the
  197. Unix command line, e.g. 'wine foo.msi'.
  198. - The low-level NtAlertThreadByThreadId / NtWaitForAlertByThreadId
  199. synchronization mechanism (roughly equivalent to Linux futexes) is supported,
  200. and used to implement the higher-level synchronization primitives.
  201. - NT debug objects are implemented and used by the kernel debugger functions.
  202. - The dynamic registry keys for performance data are implemented.
  203. *** C runtime
  204. - There's a full math library implementation in the C runtime, mostly imported
  205. from the Musl C library. The Unix math library is no longer used.
  206. - The floating point environment functions are supported properly on all CPU
  207. platforms.
  208. *** Internet and networking
  209. - IE11 compatibility mode is improved and used by default for
  210. standard-compliant HTML documents.
  211. - JScript EcmaScript compliant mode supports 'let' statements, Map object,
  212. object freezing, object sealing and mutable prototype chains.
  213. - Gecko add-on MSI packages are installed into the prefix on demand, instead of
  214. during prefix update, to make updates faster and reduce disk space usage.
  215. - The DTLS communication protocol is supported.
  216. - The NSI device (Network Store Interface) is implemented, and used to provide
  217. higher-level network services in IpHlpAPI.
  218. - The Windows Sockets support is reimplemented to go through NTDLL and the Afd
  219. device, following the Windows architecture.
  220. - The various network database files (/etc/protocols, /etc/networks, etc.) are
  221. provided and installed in the prefix. The equivalent Unix databases are no
  222. longer used for network queries.
  223. *** Alternative platforms
  224. - The new Apple Silicon Macs are supported, including running x86-64 binaries
  225. under Rosetta 2.
  226. - GnuTLS is required on macOS for BCrypt and Secur32 support; the
  227. macOS-specific backend implementations have been removed.
  228. - 32-bit ARM binaries are built in Thumb-2 mode, like on Windows.
  229. - The preloader is also used on 32-bit ARM, for a more compatible address space
  230. layout.
  231. - Stack unwinding is implemented on 32-bit ARM.
  232. - More low-level system information queries like memory and battery status are
  233. supported on FreeBSD.
  234. *** Builtin applications
  235. - The REG registry tool supports operating on either the 32- or 64-bit view of
  236. the registry.
  237. - The REG registry tool supports copying registry keys.
  238. - The WineDump tool supports dumping Windows Metafiles, and shows more detailed
  239. information for CodeView records.
  240. - The Wine Debugger (winedbg) supports debugging a 32-bit target process from
  241. the 64-bit debugger.
  242. *** Development tools
  243. - The IDL compiler (widl) supports loading type libraries embedded inside PE
  244. files.
  245. - The IDL compiler searches for type libraries in the per-platform library
  246. search path instead of the include search path.
  247. - The IDL compiler supports many more WinRT-specific constructs and attributes.
  248. *** Build infrastructure
  249. - All libraries are installed in architecture-specific directories, using names
  250. like 'i386-windows' for PE binaries, and 'x86_64-unix' for the Unix
  251. libraries. This enables supporting multiple architectures with a single Wine
  252. installation, as well as Winelib cross-compilation.
  253. - Static (.a) import libraries are used on all platforms. Wine no longer
  254. generates the old-style .def libraries, though they are still supported for
  255. backwards compatibility.
  256. - The option to prefer a native DLL by default is specified through a flag in
  257. the PE header, which can be set by passing the '--prefer-native option' to
  258. winebuild. The previous method, handling DLL_WINE_PREATTACH in DllMain, is no
  259. longer supported.
  260. - The Dwarf debugging format is supported up to version 4. The Wine libraries
  261. are built with version 4 by default.
  262. - Unique build identifiers can be stored in the binaries by passing the
  263. '--enable-build-id' option to configure.
  264. - The Clang compiler in MSVC mode is supported.
  265. *** Miscellaneous
  266. - The Shell Folder naming is converted to use the Windows Vista+ scheme; for
  267. instance 'My Documents' becomes 'Documents', and most things are saved under
  268. the 'AppData' directory.
  269. - The OpenCL library wrapper supports versions up to OpenCL 1.2.
  270. - Paper forms are supported in various sizes in the WinSpool printer driver.
  271. - There is initial support for MSDASQL, a Microsoft OLE DB provider for ODBC
  272. drivers.
  273. *** External dependencies
  274. - The following libraries are bundled in the source tree and built as PE
  275. libraries, so they are no longer required at the Unix level:
  276. - Faudio
  277. - GSM
  278. - LCMS2
  279. - LibJPEG
  280. - LibJXR
  281. - LibMPG123
  282. - LibPng
  283. - LibTiff
  284. - LibXml2
  285. - LibXslt
  286. - Zlib
  287. - The libraries above can still be imported as external libraries instead of
  288. using the bundled copy, provided that they are available in PE format. This
  289. behavior is requested with the '--with-system-dllpath' configure option,
  290. which specifies the Unix search path for such dependencies.
  291. - Direct3D 12 support now requires version 1.2 or later of the vkd3d library.
  292. Version 1.2 or later of the related vkd3d-shader library was already required
  293. by Wine 6.0 for translation of Direct3D shader to SPIR-V in the Vulkan
  294. renderer for the Direct3D implementation.
  295. - The deprecated HAL library is no longer supported or needed.
  296. - The macOS QuickTime library is no longer used.
  297. --
  298. Alexandre Julliard
  299. julliard@winehq.org