Commit c7c729c0 authored by Alexandre Julliard's avatar Alexandre Julliard

Release 7.0.

parent b2f75a02
The Wine development release 7.0-rc6 is now available. This is
expected to be the last release candidate before the final 7.0.
The Wine team is proud to announce that the stable release Wine 7.0
is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
This release represents a year of development effort and over 9,100
individual changes. It contains a large number of improvements that
are listed in the release notes below. The areas of major changes are:
- Most modules converted to PE format.
- Better theming support, with a bundled theme for a more modern look.
- Vastly improved HID stack and joystick support.
- New WoW64 architecture.
The source is available from the following locations:
https://dl.winehq.org/wine/source/7.0/wine-7.0-rc6.tar.xz
http://mirrors.ibiblio.org/wine/source/7.0/wine-7.0-rc6.tar.xz
https://dl.winehq.org/wine/source/7.0/wine-7.0.tar.xz
http://mirrors.ibiblio.org/wine/source/7.0/wine-7.0.tar.xz
Binary packages for various distributions will be available from:
......@@ -23,143 +29,413 @@ AUTHORS in the distribution for the complete list.
----------------------------------------------------------------
Bugs fixed in 7.0-rc6 (total 47):
9805 Program "de rouck" does not start.
12030 MozyHome backup service does not work
12915 Star Wars Episode I Racer: Assign key cause freeze
34010 Gabriel Knight 3 demo - Depth / stencil buffer locking is not implemented
34340 Mingw gdb hangs
37439 Saints Row: The Third characters don't render correctly
38907 Homesite+ (v5.5) closing search window does not correctly refocus editor window
39342 Thunder crashes without native riched20 (ME_GetCursorCoordinates: Assertion `~para->member.para.nFlags & 0x01')
42174 TeraCopy 3.0b2 crashes on startup
42395 Saints Row: The Third has graphical glitches
43502 Microsoft Flight Simulator 2000 : only bottom half view rendered and moved to the top
43650 nolf2 game error on install
44008 XNA Game Studio 4 installer crashes when cancelled
44111 Simple WPF/.Net app has rendering issues
44970 Deus Ex Human Revolution: people are invisible when closer than 3 meters
45121 Steam uses high CPU while idle
45168 Visual Novel "The Fruit of Grisaia" has flickering glitches
46118 FlatOut has graphical glitches with csmt enabled
46213 Sniper Elite 4 launcher window doesn't display properly
46304 The virgl driver is identified as Nvidia vendor but should be MESA and it should probably not fall back to any Nvidia card
46423 Kara no Shoujo crashes in fullscreen mode
48103 Lego Stunt Rally crashes when entering championship
49541 Lara Croft and the Temple of Osiris stops silently at launch
49732 Death End Re;Quest 2 crashes on startup
49919 Logos 8 Bible Software crashes when entering text in passage guide search field
49976 FIFA 11 Demo fifaconfig crashes when pressing OK button
49995 Evernote 6.24 stopped displaying notes after upgrade to Wine 5.19
50521 Guild Wars 2 fails to launch
50617 Objects become invisible with tessellation enabled in Sniper Elite 3 with OpenGL renderer
50813 X-Beyond The Frontier & X-Tension crash on start
51195 Lara Croft and the Temple of Osiris doesn't launch
51423 WeChat can't send a big picture
51442 Socket connection is not established properly
51592 Call of Cthulhu Crashes on Launch
52108 user32:monitor breaks user32:win on Win10 1809
52252 IDA Pro 7.2 debugger fails to attach to a process.
52286 Zombie Army Trilogy launcher crashes on start
52327 Wrong WM_CONTEXTMENU message default processing
52335 StarCraft Remastered hangs in Multiplayer screen
52349 Vortex Mod Manager Starts but Infinitely Loads
52353 PuTTY plink 0.76 crashes
52356 Folio Bound Views crashes on start
52378 Python WMI module: AttributeError: wbemErrInvalidQuery
52381 wineg++: Compile error in tom.h
52387 Joystick does not release buttons properly
52389 GPU Caps Viewer does not report any OpenCL devices
52390 World of Warcraft crashes in d3d11 mode inside of wined3d_unordered_access_view_gl_clear()
What's new in Wine 7.0
======================
----------------------------------------------------------------
*** PE modules
- With a few exceptions, all modules can be built in PE format. The goal is to
convert the remaining modules after 7.0.
- For PE modules with an associated Unix library, the interface between the PE
part and the Unix part goes through a standard NT system call. This enables
hiding the Unix code from Windows debuggers, and switching the thread
register on platforms that require it.
- Builtin dlls are only loaded if there is a corresponding PE file on disk,
either a real binary or a fake PE module. This ensures that the application
always sees a valid PE file mapping. It can be disabled through the
WINEBOOTSTRAPMODE environment variable, used at prefix creation time.
*** WoW64
- The 64-bit Windows-on-Windows (WoW64) architecture is implemented, and
supports running a 32-bit Windows application inside a 64-bit Unix host
process, using thunks to map 32-bit NT system calls to the 64-bit NTDLL.
- WoW64 thunks are implemented for most Unix libraries, enabling a 32-bit PE
module to call a 64-bit Unix library. Once the remaining modules are
converted to PE, this will make it possible to run 32-bit applications
without installing 32-bit Unix libraries.
*** Theming
- A "Light" theme is included in Wine, with the color variants "Blue" and
"Classic Blue". It can be enabled through WineCfg.
- All the Common Controls support theming, and automatically refresh on theme
changes.
- All the builtin applications support theming, as well as High DPI rendering.
*** Graphics
- There's a new Win32u library implementing the kernel side of graphics and
window management support. Large portions of the GDI32 and USER32 libraries
are converted to use this new library. This work will continue after 7.0, and
the graphics drivers (winex11.drv, winemac.drv, etc.) will be migrated to
Win32u as well.
- The Vulkan driver supports up to version 1.2.201 of the Vulkan spec.
- Hit-testing stroked geometries using the Direct2D API is implemented.
- Some initial support for Direct2D effects (using the ID2D1Effect interface)
is implemented.
- The Direct2D API supports the ID2D1MultiThread interface.
- WindowsCodecs supports decoding images in WMP (Windows Media Photo) format,
as well as encoding images to the DDS (DirectDraw Surface) format.
- WindowsCodecs no longer supports encoding images to macOS ICNS format. This
is not supported on Windows, and was no longer used by Wine either.
*** Direct3D
- Various improvements have been made to the Vulkan renderer for the Wine
Direct3D implementation. In most cases, for Direct3D 10 and 11 applications
the Vulkan renderer should be about on-par with the older OpenGL renderer in
Wine 7.0. Like in Wine 6.0, the Vulkan renderer can be enabled by setting the
Direct3D "renderer" registry setting to "vulkan".
- The following Direct3D 10 and 11 features are implemented:
- Deferred device contexts.
- Device context state objects, and switching between them.
- Constant buffer offsetting.
- Resolving typeless multi-sample resources.
- Clearing unordered-access views of texture resources. When using the OpenGL
renderer, this requires the GL_ARB_clear_texture OpenGL extension.
- Resource copies between resources with "block-compatible" formats, like for
example DXGI_FORMAT_BC3_TYPELESS and DXGI_FORMAT_R32G32B32A32_TYPELESS.
- Clearing layered render-target views.
- Support for multiple displays ("multi-head") is implemented. In practice,
this tends to mean the ability to choose which monitor a Direct3D application
will use for full-screen mode. Note that this depends on the underlying
display drivers to accurately report the attached displays. For Wine's X11
driver, that requires proper support for version 1.4 or later of the X RandR
extension.
- Display gamma adjustment using the DXGI API is implemented. This is sometimes
used by Direct3D 10 and 11 applications to adjust screen "brightness".
- Direct3D 12 supports version 1.1 root signatures.
- When the VK_EXT_host_query_reset Vulkan extension is available, query
handling in the Vulkan renderer is slightly more efficient.
- Retrieving swapchain present counts using the DXGI API is implemented.
- A fallback path using GDI is added for swapchain presentation. This is used
in cases where OpenGL or Vulkan can't be used to present the swapchain, for
example when presenting to a window of a different process. This path is much
slower, but is often sufficient for some common use cases, like for example
applications using the Chromium Embedded Framework ("CEF") with cross-process
rendering.
- The "precise" shader instruction modifier is respected when using the GLSL
shader backend.
- The DirectDraw API supports 3D rendering to system memory surfaces when using
software device types like the "RGB", "MMX", and "Ramp" devices.
- The following additional graphics cards are recognized by the Direct3D
graphics card database:
- AMD Radeon RX 5500M
- AMD Radeon RX 6800/6800 XT/6900 XT
- AMD Van Gogh
- Intel UHD Graphics 630
- NVIDIA GT 1030
- The following HKEY_CURRENT_USER\Software\Wine\Direct3D key is removed:
- "UseGLSL"
This setting was deprecated in favor of the "shader_backend" setting in
Wine 5.0, and has been removed in this release.
*** D3DX
- The support for version 10 of the D3DX effects framework is much improved.
- D3DX 10 supports the Windows Media Photo (JPEG XR) image file format.
- Various D3DX10 texture creation functions (D3DX10CreateTextureFromMemory()
and variants) are implemented.
- A partial implementation of the ID3DX10Sprite interface is added.
- A partial implementation of the ID3DX10Font interface is added.
*** Audio / video
- The DirectShow and Media Foundation GStreamer glue is unified into a single
backend, making it easier to implement new media decoding APIs.
- The Windows Media asynchronous and synchronous reader objects are implemented
based on the WineGStreamer backend. Like other multimedia decoding libraries,
they require a functioning GStreamer installation.
- The Media Foundation support is more complete, with notably:
- Basic functionality of IMFPMediaPlayer, media item properties, support for
audio and video tracks.
- Support for sample allocator in the Source Reader.
- Improved EVR sink integration with presenter and mixer.
- Improved SAR rendering buffer behavior.
- Video sample allocator, with support for d3d9, d3d11, and system memory
buffers.
- Further improvements to EVR's presenter and mixer implementation.
- D3D11 frame output for IMFMediaEngine.
- Improvements to generic media source implementation in WineGStreamer to
support stopped and paused states, refined output type configuration.
- The QuickTime decoder library (wineqtdecoder) is removed. GStreamer is
required for all built-in multimedia codecs also on macOS.
*** Input devices
- The HID (Human Interface Device) stack implementation is more complete. This
includes HID descriptor and report parsers, report processing, as well as HID
mini-driver support.
- The winebus.sys driver backends are improved, to better describe the devices
into HID reports when pass-through is not possible, and to add standard
Physical Interface Device reports to expose force-feedback capabilities over
HID.
- There's a new DirectInput joystick backend using the improved HID stack to
communicate with winebus.sys and host devices. This backend supports
force-feedback effects using the standard HID Physical Interface Device
reports, and is also compatible with pass-through HID device which implement
it. The SDL and evdev winebus.sys Linux backends are also supported as they
implement it too. This replaces and deprecates the legacy Linux js and evdev,
and macOS IOHID backends.
- The joystick control panel is improved, as well as the interaction with
XInput-compatible devices. For such devices the joystick control panel can be
used to force DInput as the primary interface instead of XInput. This
translates to the "<joystick name>"="override" (REG_SZ) registry value in
HKCU\Software\Wine\AppDefaults\<app.exe>\DirectInput (or
HKCU\Software\Wine\DirectInput for prefix-wide setting).
- The WinMM joystick support is implemented using DInput instead of Linux evdev
or macOS IOHID, and the old joystick driver (winejoystick.drv) is removed.
- Many tests are added to the DInput module, using a virtual HID device to not
require a physical device anymore. The code is extensively and automatically
tested, including force-feedback effects with HID input / output report
validation.
*** Text and fonts
- Arabic shaping is implemented in DirectWrite, currently enabled for Arabic
and Syriac.
- The Font Set object is implemented in DirectWrite.
- The TextHost interface is properly implemented in RichEdit.
*** Mono / .NET
- The Mono engine is updated to version 7.0.0, with the following changes:
- IDispatch interface supported on COM Callable Wrappers.
- Improved support for SafeArray marshaling.
- Many other marshaling and COM interop improvements.
- Code imports from .NET Core: System.Drawing.Printing,
System.Security.Principal, WindowsFormsApplicationBase, parts of
Microsoft.VisualBasic.Interaction
- WMA and WMV support in FNA using mfplat.
- Debug symbols available separately in PDB form.
- Old VBNC compiler for Visual Basic .NET replaced with the VBC compiler from
.NET Core.
- Mono's JIT compiler generates code compatible with 64-bit macOS.
- WPF built with support for media controls.
- A replacement for the Managed DirectX API is included.
- Fixes for various bugs that prevented most WPF applications from working.
*** Internationalization
- Unicode character tables are based on version 14.0.0 of the Unicode Standard.
- The timezone data is updated, based on the information from the Olson and
Unicode CLDR databases.
- Codepages 720 (Arabic, Farsi and Urdu) and 20949 (Korean Wansung) are
supported.
- The sr-Latn-RS locale is supported.
*** Kernel
- Launching applications with the 'wine' executable invokes start.exe for any
unrecognized binary. This means that file associations work also from the
Unix command line, e.g. 'wine foo.msi'.
- The low-level NtAlertThreadByThreadId / NtWaitForAlertByThreadId
synchronization mechanism (roughly equivalent to Linux futexes) is supported,
and used to implement the higher-level synchronization primitives.
- NT debug objects are implemented and used by the kernel debugger functions.
- The dynamic registry keys for performance data are implemented.
*** C runtime
- There's a full math library implementation in the C runtime, mostly imported
from the Musl C library. The Unix math library is no longer used.
- The floating point environment functions are supported properly on all CPU
platforms.
*** Internet and networking
- IE11 compatibility mode is improved and used by default for
standard-compliant HTML documents.
- JScript EcmaScript compliant mode supports 'let' statements, Map object,
object freezing, object sealing and mutable prototype chains.
- Gecko add-on MSI packages are installed into the prefix on demand, instead of
during prefix update, to make updates faster and reduce disk space usage.
- The DTLS communication protocol is supported.
- The NSI device (Network Store Interface) is implemented, and used to provide
higher-level network services in IpHlpAPI.
- The Windows Sockets support is reimplemented to go through NTDLL and the Afd
device, following the Windows architecture.
- The various network database files (/etc/protocols, /etc/networks, etc.) are
provided and installed in the prefix. The equivalent Unix databases are no
longer used for network queries.
*** Alternative platforms
- The new Apple Silicon Macs are supported, including running x86-64 binaries
under Rosetta 2.
- GnuTLS is required on macOS for BCrypt and Secur32 support; the
macOS-specific backend implementations have been removed.
- 32-bit ARM binaries are built in Thumb-2 mode, like on Windows.
- The preloader is also used on 32-bit ARM, for a more compatible address space
layout.
- Stack unwinding is implemented on 32-bit ARM.
- More low-level system information queries like memory and battery status are
supported on FreeBSD.
*** Builtin applications
- The REG registry tool supports operating on either the 32- or 64-bit view of
the registry.
- The REG registry tool supports copying registry keys.
- The WineDump tool supports dumping Windows Metafiles, and shows more detailed
information for CodeView records.
- The Wine Debugger (winedbg) supports debugging a 32-bit target process from
the 64-bit debugger.
*** Development tools
- The IDL compiler (widl) supports loading type libraries embedded inside PE
files.
- The IDL compiler searches for type libraries in the per-platform library
search path instead of the include search path.
- The IDL compiler supports many more WinRT-specific constructs and attributes.
*** Build infrastructure
- All libraries are installed in architecture-specific directories, using names
like 'i386-windows' for PE binaries, and 'x86_64-unix' for the Unix
libraries. This enables supporting multiple architectures with a single Wine
installation, as well as Winelib cross-compilation.
- Static (.a) import libraries are used on all platforms. Wine no longer
generates the old-style .def libraries, though they are still supported for
backwards compatibility.
- The option to prefer a native DLL by default is specified through a flag in
the PE header, which can be set by passing the '--prefer-native option' to
winebuild. The previous method, handling DLL_WINE_PREATTACH in DllMain, is no
longer supported.
- The Dwarf debugging format is supported up to version 4. The Wine libraries
are built with version 4 by default.
- Unique build identifiers can be stored in the binaries by passing the
'--enable-build-id' option to configure.
- The Clang compiler in MSVC mode is supported.
*** Miscellaneous
- The Shell Folder naming is converted to use the Windows Vista+ scheme; for
instance 'My Documents' becomes 'Documents', and most things are saved under
the 'AppData' directory.
- The OpenCL library wrapper supports versions up to OpenCL 1.2.
- Paper forms are supported in various sizes in the WinSpool printer driver.
- There is initial support for MSDASQL, a Microsoft OLE DB provider for ODBC
drivers.
*** External dependencies
- The following libraries are bundled in the source tree and built as PE
libraries, so they are no longer required at the Unix level:
- Faudio
- GSM
- LCMS2
- LibJPEG
- LibJXR
- LibMPG123
- LibPng
- LibTiff
- LibXml2
- LibXslt
- Zlib
- The libraries above can still be imported as external libraries instead of
using the bundled copy, provided that they are available in PE format. This
behavior is requested with the '--with-system-dllpath' configure option,
which specifies the Unix search path for such dependencies.
- Direct3D 12 support now requires version 1.2 or later of the vkd3d library.
Version 1.2 or later of the related vkd3d-shader library was already required
by Wine 6.0 for translation of Direct3D shader to SPIR-V in the Vulkan
renderer for the Direct3D implementation.
- The deprecated HAL library is no longer supported or needed.
- The macOS QuickTime library is no longer used.
Changes since 7.0-rc5:
Alex Henrie (3):
d3d10/tests: Increase size of array expected_i_a in test_scalar_array_methods (cppcheck).
gdi32/tests: Mark a GetTextExtentPointW test as broken on Windows 10.
gdi32/tests: Drop font test workarounds for Windows <= 2000.
Alexandre Julliard (2):
maintainers: Remove Ken Thomases.
include: Move the ITextRange2 definition to avoid an undefined reference.
Andrew Eikum (2):
winecoreaudio.drv: Fix memory leak.
winepulse.drv: Fix memory leak.
Andrey Gusev (2):
wined3d: Handle WINED3DSPSM_NONE in shader_sm4_read_param().
dxgi: Handle WINED3D_BIND_UNORDERED_ACCESS in dxgi_usage_from_wined3d_bind_flags().
André Zwing (5):
kernel32: Fix GetCompressedFileSize[AW] spec file entries.
rpcrt4: Fix TowerConstruct spec file entry.
wintrust: Fix WintrustAddDefaultForUsage spec file entry.
shlwapi: Report keyName as string.
d3d10: Fix D3D10CompileEffectFromMemory spec file entry.
Dmitry Timoshkov (1):
ntdll: Use full registry key name in NtQueryLicenseValue.
Hans Leidekker (1):
kerberos: Avoid a crash on NULL expiry parameter.
Huw D. M. Davies (2):
commdlg: Pass the 16-bit structure to the WM_INITDIALOG hook.
user: Copy back the 16-bit MDICREATESTRUCT.
Julian Rüger (1):
po: Update German translation.
Nikolay Sivov (3):
d3d11: Always initialize out view pointer in CreateRenderTargetView().
include: Add WbemErrorEnum error codes.
mfplat: Add MECapture* events to tracing.
Paul Gofman (1):
crypt32: Increase maximum object encode length.
Rémi Bernon (5):
dinput/tests: Check that InputReportByteLength bytes are read.
user32: Increase the default message buffer size.
server: Return error when hardware message is too large.
hidclass.sys: Always read InputReportByteLength bytes when not polling.
dinput: Reset button state for each report read.
Stefan Brüns (7):
d2d1: Silence SetSegmentFlags() FIXME when setting default value.
d2d1/tests: Add a test for single quadratic Bézier segment.
d2d1/tests: Test coincident last/first vertex for both OPEN and CLOSED.
d2d1: Refactor outline generation as preparation for the new TYPE_END vertex type.
d2d1: Use the TYPE_END vertex type when last/first vertices coincide.
d2d1: Remove extraneous checks for last vertex.
d2d1/tests: Avoid out-of-bounds access when comparing segments.
Stefan Dösinger (7):
ddraw/tests: Reduce precision in test_filling_convention.
d3d8/tests: Reduce precision in test_filling_convention.
d3d9/tests: Use a HW generation dependent offset for the filling convetion test.
d3d11/tests: Run test_instanced_draw separately.
d3d10core/tests: Run test_instanced_draw() separately.
d3d10core/tests: Run test_generate_mips separately.
d3d11/tests: Run test_generate_mips separately.
Zebediah Figura (5):
opencl: Use types with consistent alignment for unixlib params structures.
wined3d: Do not iterate over multiple layers when clearing 3D UAVs.
d3d11/tests: Test UAV clears of 3D view with nontrivial depth.
ws2_32: Cast timeval fields to LONGLONG before multiplying.
ws2_32: Cast the WSAPoll() timeout to LONGLONG before multiplying.
Zhiyi Zhang (2):
user32/tests: Avoid fix blurry apps popup in test_DisplayConfigSetDeviceInfo().
uxtheme/tests: Avoid fix blurry apps popup in test_GetThemePartSize().
Ziqing Hui (1):
wininet/tests: Add more tests for InternetTimeToSystemTime().
--
Alexandre Julliard
......
Wine version 7.0-rc6
Wine version 7.0
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for Wine 7.0-rc6.
# Generated by GNU Autoconf 2.71 for Wine 7.0.
#
# Report bugs to <wine-devel@winehq.org>.
#
......@@ -611,8 +611,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='Wine'
PACKAGE_TARNAME='wine'
PACKAGE_VERSION='7.0-rc6'
PACKAGE_STRING='Wine 7.0-rc6'
PACKAGE_VERSION='7.0'
PACKAGE_STRING='Wine 7.0'
PACKAGE_BUGREPORT='wine-devel@winehq.org'
PACKAGE_URL='https://www.winehq.org'
......@@ -2574,7 +2574,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures Wine 7.0-rc6 to adapt to many kinds of systems.
\`configure' configures Wine 7.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
......@@ -2644,7 +2644,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of Wine 7.0-rc6:";;
short | recursive ) echo "Configuration of Wine 7.0:";;
esac
cat <<\_ACEOF
......@@ -2914,7 +2914,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
Wine configure 7.0-rc6
Wine configure 7.0
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
......@@ -3398,7 +3398,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by Wine $as_me 7.0-rc6, which was
It was created by Wine $as_me 7.0, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
......@@ -23365,7 +23365,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by Wine $as_me 7.0-rc6, which was
This file was extended by Wine $as_me 7.0, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
......@@ -23429,7 +23429,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
Wine config.status 7.0-rc6
Wine config.status 7.0
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment