Release 9.0.
This commit is contained in:
parent
3d4ee138ec
commit
fd1153552d
3 changed files with 311 additions and 83 deletions
374
ANNOUNCE.md
374
ANNOUNCE.md
|
@ -1,10 +1,12 @@
|
|||
The Wine development release 9.0-rc5 is now available. This is
|
||||
expected to be the last release candidate before the final 9.0.
|
||||
The Wine team is proud to announce that the stable release Wine 9.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 7,000
|
||||
individual changes. It contains a large number of improvements that
|
||||
are listed below. The main highlights are the new WoW64 architecture
|
||||
and the experimental Wayland driver.
|
||||
|
||||
The source is available at <https://dl.winehq.org/wine/source/9.0/wine-9.0-rc5.tar.xz>
|
||||
The source is available at <https://dl.winehq.org/wine/source/9.0/wine-9.0.tar.xz>
|
||||
|
||||
Binary packages for various distributions will be available
|
||||
from <https://www.winehq.org/download>
|
||||
|
@ -14,86 +16,312 @@ You will find documentation on <https://www.winehq.org/documentation>
|
|||
Wine is available thanks to the work of many people.
|
||||
See the file [AUTHORS][1] for the complete list.
|
||||
|
||||
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.0-rc5/AUTHORS
|
||||
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.0/AUTHORS
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
### Bugs fixed in 9.0-rc5 (total 22):
|
||||
## What's new in Wine 9.0
|
||||
|
||||
- #38780 AArch64 platforms: register X18 (TEB) must remain reserved for Wine to run 64-bit ARM Windows applications (Distro aarch64 toolchains need '-ffixed-x18' default, loader/libc/userland)
|
||||
- #46777 Two Worlds 2 crashes on start
|
||||
- #47406 Add support for debug symbols in separate files
|
||||
- #49852 Performance regression in "msvcrt: Use correct code page in _write when outputing to console."
|
||||
- #50998 Failed to open error Word 2007 (c0000135)
|
||||
- #52491 SpaceDesk fails to connect to server
|
||||
- #52962 dinput:force_feedback breaks ntoskrnl.exe:ntoskrnl on Windows 7/8
|
||||
- #53319 robot battle game extremely slow after wine version 7.11 and above
|
||||
- #54387 Pantsylvania crashes if Windows version is set to 3.1
|
||||
- #54401 PhotoFiltre not printing
|
||||
- #55010 psapi:psapi_main - test_EnumProcessModulesEx() sometimes gets a 0 image size on Windows 8
|
||||
- #55497 Jennifer is Missing (Katjas Geheimnis) by Tivoli crashes on start
|
||||
- #55731 advapi32:eventlog - test_eventlog_start() fails on Windows 7 & 10 2004 & 2009
|
||||
- #55784 wldap32:parse - test_ldap_bind_sA() claims the server is down on w1064v2009
|
||||
- #56070 BVE trainsim doesn't show its logo in the main window.
|
||||
- #56113 Unfortunate Spacemen crashes on start
|
||||
- #56117 Celtic Kings runs out of memory in mere seconds when music is enabled
|
||||
- #56130 Wine is broken on Termux since 8.17-39-g25db1c5d49d
|
||||
- #56134 VA-11 HALL-A crashes on startup
|
||||
- #56149 Celtic Kings demo: window decorations missing in virtual desktop (VD size = desktop size)
|
||||
- #56150 Wine 8.18 - Fedora 37 - Winwing F16EX joystick - dinput only reports 10 buttons
|
||||
- #56152 "Script error: Handler not defined #FileIO" in "TKKG 1" (EN: Jennifer is Missing, DE: Katjas Geheimnis - Tivoli)
|
||||
### WoW64
|
||||
|
||||
### Changes since 9.0-rc4:
|
||||
```
|
||||
Akihiro Sagawa (5):
|
||||
d3d8/tests: Test the presentation parameters after creating a device.
|
||||
d3d9/tests: Test the presentation parameters after creating a device.
|
||||
d3d8/tests: Test the presentation parameters after creating an additional swap chain.
|
||||
d3d9/tests: Test the presentation parameters after creating an additional swap chain.
|
||||
d3d9: Update presentation parameters when creating a swap chain.
|
||||
- All transitions from Windows to Unix code go through the NT syscall
|
||||
interface. This is a major milestone that marks the completion of the
|
||||
multi-year re-architecturing work to convert modules to PE format and
|
||||
introduce a proper boundary between the Windows and Unix worlds.
|
||||
|
||||
Alex Henrie (1):
|
||||
winspool: Keep driver_9x in scope while it is in use.
|
||||
- All modules that call a Unix library contain WoW64 thunks to enable calling
|
||||
the 64-bit Unix library from 32-bit PE code. This means that it is possible to
|
||||
run 32-bit Windows applications on a purely 64-bit Unix installation. This is
|
||||
called the _new WoW64 mode_, as opposed to the _old WoW64 mode_ where 32-bit
|
||||
applications run inside a 32-bit Unix process.
|
||||
|
||||
Alexandre Julliard (2):
|
||||
krnl386: Use NtContinue to restore the full context.
|
||||
krnl386: Align the stack before calling the entry point.
|
||||
- The new WoW64 mode is not yet enabled by default. It can be enabled by passing
|
||||
the `--enable-archs=i386,x86_64` option to configure. This is expected to work
|
||||
for most applications, but there are still some limitations, in particular:
|
||||
- Lack of support for 16-bit code.
|
||||
- Reduced OpenGL performance and lack of `ARB_buffer_storage` extension
|
||||
support.
|
||||
|
||||
Bernhard Übelacker (1):
|
||||
msvcrt: Protect setlocale against concurrent accesses.
|
||||
- The new WoW64 mode finally allows 32-bit applications to run on recent macOS
|
||||
versions that removed support for 32-bit Unix processes.
|
||||
|
||||
Enol Puente (1):
|
||||
po: Update Asturian translation.
|
||||
|
||||
Gabriel Ivăncescu (4):
|
||||
Revert "winex11: Use the correct root window for virtual desktops.".
|
||||
winex11: Set MWM_FUNC_RESIZE for fullscreen desktop windows.
|
||||
winex11: Update Virtual Desktop fullscreen WM state after setting window pos.
|
||||
winex11: Move the update_desktop_fullscreen callsite to update_net_wm_states.
|
||||
### Wayland driver
|
||||
|
||||
Hans Leidekker (2):
|
||||
wldap32/tests: Skip tests when the server can't be reached.
|
||||
wininet/tests: Update expected winehq.org certificate.
|
||||
- There is an experimental Wayland graphics driver. It's still a work in
|
||||
progress, but already implements many features, such as basic window
|
||||
management, multiple monitors, high-DPI scaling, relative motion events, and
|
||||
Vulkan support.
|
||||
|
||||
Jacek Caban (1):
|
||||
gitlab: Cache config.cache in Clang builds.
|
||||
- The Wayland driver is not yet enabled by default. It can be enabled through
|
||||
the `HKCU\Software\Wine\Drivers` registry key by running:
|
||||
|
||||
Jinoh Kang (4):
|
||||
ntdll/tests: Fix x86-32 extended context end offset in test_copy_context().
|
||||
ntdll/tests: Fix incorrect calculation of context length in test_copy_context().
|
||||
ntdll/tests: Don't hard code the maximum XState length in test_extended_context().
|
||||
ntdll/tests: Fix xstate tests failing on Windows 11 and CPU with more XSAVE features.
|
||||
wine reg.exe add HKCU\\Software\\Wine\\Drivers /v Graphics /d x11,wayland
|
||||
|
||||
Nikolay Sivov (2):
|
||||
mfreadwrite/tests: Skip tests if D3D9 is unusable.
|
||||
mf/tests: Skip tests if D3D9 is unusable.
|
||||
and then making sure that the `DISPLAY` environment variable is unset.
|
||||
|
||||
Rémi Bernon (3):
|
||||
dmusic: Clone streams instead of allocating wave data.
|
||||
ntoskrnl.exe/tests: Use SUOI_FORCEDELETE when uninstalling the driver.
|
||||
winewayland: Add missing breaks in keyboard layout switch.
|
||||
|
||||
Zebediah Figura (2):
|
||||
wined3d: Avoid WARN() when failing to allocate a GL BO without a context.
|
||||
wined3d: Only suballocate dynamic buffers.
|
||||
```
|
||||
### ARM64
|
||||
|
||||
- The completion of the PE/Unix separation means that it's possible to run
|
||||
existing Windows binaries on ARM64.
|
||||
|
||||
- The loader supports loading ARM64X and ARM64EC modules.
|
||||
|
||||
- The 32-bit x86 emulation interface is implemented. No emulation library is
|
||||
provided with Wine at this point, but an external library that exports the
|
||||
interface can be used, by specifying its name in the
|
||||
`HKLM\Software\Microsoft\Wow64\x86` registry key. The [FEX emulator][2]
|
||||
implements this interface when built as PE.
|
||||
|
||||
- There is initial support for building Wine for the ARM64EC architecture, using
|
||||
an experimental LLVM toolchain. Once the toolchain is ready, this will be used
|
||||
to do a proper ARM64X build and enable 64-bit x86 emulation.
|
||||
|
||||
[2]: https://fex-emu.com
|
||||
|
||||
|
||||
### Graphics
|
||||
|
||||
- The PostScript driver is reimplemented to work from Windows-format spool files
|
||||
and avoid any direct calls from the Unix side.
|
||||
|
||||
- WinRT theming supports a dark theme option, with a corresponding toggle in
|
||||
WineCfg.
|
||||
|
||||
- The Vulkan driver supports up to version 1.3.272 of the Vulkan spec.
|
||||
|
||||
- A number of GdiPlus functions are optimized for better graphics performance.
|
||||
|
||||
|
||||
### Direct3D
|
||||
|
||||
- The multi-threaded command stream sleeps instead of spinning when not
|
||||
processing rendering commands. This lowers power consumption in programs which
|
||||
do not occupy the command stream's entire available bandwidth. Power
|
||||
consumption should be comparable to when the multi-threaded command stream is
|
||||
disabled.
|
||||
|
||||
- Direct3D 10 effects support many more instructions.
|
||||
|
||||
- Various optimizations have been made to core WineD3D and the Vulkan backend.
|
||||
|
||||
- The Vulkan renderer properly validates that required features are supported by
|
||||
the underlying device, and reports the corresponding Direct3D feature level to
|
||||
the application.
|
||||
|
||||
- `D3DXFillTextureTX` and `D3DXFillCubeTextureTX` are implemented.
|
||||
|
||||
- The legacy OpenGL ARB shader backend supports shadow sampling via
|
||||
`ARB_fragment_program_shadow`.
|
||||
|
||||
- The HLSL compiler supports matrix majority compilation flags.
|
||||
|
||||
- `D3DXLoadMeshHierarchyFromX` and related functions support user data loading
|
||||
via `ID3DXLoadUserData`.
|
||||
|
||||
|
||||
### Audio / Video
|
||||
|
||||
- The foundation of several of the DirectMusic modules is implemented. Many
|
||||
tests are added to validate the behavior of the dmime sequencer and the
|
||||
dmsynth MIDI synthesizer.
|
||||
|
||||
- DLS1 and DLS2 sound font loading is implemented, as well as SF2 format for
|
||||
compatibility with Linux standard MIDI sound fonts.
|
||||
|
||||
- MIDI playback is implemented in dmsynth, with the integration of the software
|
||||
synthesizer from the FluidSynth library, and using DirectSound for audio
|
||||
output.
|
||||
|
||||
- Doppler shift is supported in DirectSound.
|
||||
|
||||
- The Indeo IV50 Video for Windows decoder is implemented.
|
||||
|
||||
|
||||
### DirectShow
|
||||
|
||||
- The Windows Media Video (WMV) decoder DirectX Media Object (DMO) is
|
||||
implemented.
|
||||
|
||||
- The DirectShow Audio Capture filter is implemented.
|
||||
|
||||
- The DirectShow MPEG‑1 Stream Splitter filter supports video and system streams
|
||||
as well as audio streams.
|
||||
|
||||
- The DirectShow MPEG‑1 Video Decoder filter is implemented.
|
||||
|
||||
|
||||
### Input devices
|
||||
|
||||
- DirectInput action maps are implemented, improving compatibility with many old
|
||||
games that use this to map controller inputs to in-game actions.
|
||||
|
||||
|
||||
### Desktop integration
|
||||
|
||||
- URL/URI protocol associations are exported as URL handlers to the Linux
|
||||
desktop.
|
||||
|
||||
- Monitor information like name and model id are retrieved from the physical
|
||||
monitor's Extended Display Identification Data (EDID).
|
||||
|
||||
- In full-screen desktop mode, the desktop window can be closed through the
|
||||
"Exit desktop" entry in the Start menu.
|
||||
|
||||
|
||||
### Internationalization
|
||||
|
||||
- IME implementation is improved, with better support for native Windows IME
|
||||
implementations. Many tests are added to validate the expected behavior of
|
||||
these custom IMEs.
|
||||
|
||||
- Linux IME integration is improved, using over-the-spot or on-the-spot input
|
||||
styles whenever possible, and more accurate IME message sequences.
|
||||
|
||||
- Locale data is generated from the Unicode CLDR database version 44. The
|
||||
following additional locales are supported: `bew-ID`, `blo-BJ`, `csw-CA`,
|
||||
`ie-EE`, `mic-CA`, `prg-PL`, `skr-PK`, `tyv-RU`, `vmw-MZ`, `xnr-IN`, and
|
||||
`za-CN`.
|
||||
|
||||
- The user interface is translated to Georgian, bringing the total of full
|
||||
translations to 16 languages, with partial translations to another 31
|
||||
languages.
|
||||
|
||||
- Unicode character tables are based on version 15.1.0 of the Unicode Standard.
|
||||
|
||||
- The timezone data is generated from the IANA timezone database version 2023c.
|
||||
|
||||
- Locales using a script name, like `zh-Hans`, are also supported on macOS.
|
||||
|
||||
|
||||
### Kernel
|
||||
|
||||
- The default Windows version for new prefixes is set to Windows 10.
|
||||
|
||||
- Address space layout randomization (ASLR) is supported for modern PE binaries,
|
||||
to avoid issues with address space conflicts. Note that the selected load
|
||||
addresses are not yet properly randomized.
|
||||
|
||||
- The Low Fragmentation Heap (LFH) is implemented for better memory allocation
|
||||
performance.
|
||||
|
||||
- The virtual memory allocator supports memory placeholders, to allow
|
||||
applications to reserve virtual space.
|
||||
|
||||
- The 64-bit loader and preloader are built as position-independent executables
|
||||
(PIE), to free up some of the 32-bit address space.
|
||||
|
||||
- Stack unwinding works correctly across NT syscalls and user callbacks.
|
||||
|
||||
|
||||
### Internet and networking
|
||||
|
||||
- All builtin MSHTML objects are proper Gecko cycle collector participants.
|
||||
|
||||
- Synchronous XMLHttpRequest mode is supported in MSHTML.
|
||||
|
||||
- WeakMap object is implemented in JScript.
|
||||
|
||||
- The Gecko engine is updated to version 2.47.4.
|
||||
|
||||
- Network interface change notifications are implemented.
|
||||
|
||||
|
||||
### Cryptography and security
|
||||
|
||||
- Smart cards are supported in the Winscard dll, using the Unix PCSClite
|
||||
library.
|
||||
|
||||
- Diffie-Hellman keys are supported in BCrypt.
|
||||
|
||||
- The Negotiate security package is implemented.
|
||||
|
||||
|
||||
### Mono / .NET
|
||||
|
||||
- The Mono engine is updated to version [8.1.0][3].
|
||||
|
||||
[3]: https://github.com/madewokherd/wine-mono/releases/tag/wine-mono-8.1.0
|
||||
|
||||
|
||||
### Builtin applications
|
||||
|
||||
- The Wine Debugger (winedbg) uses the Zydis library for more accurate x86
|
||||
disassembly.
|
||||
|
||||
- WineCfg supports selecting old (pre-XP) Windows versions also in 64-bit
|
||||
prefixes, to enable using ancient applications with the new WoW64 mode.
|
||||
|
||||
- All graphical builtin applications report errors with a message box instead of
|
||||
printing messages on the console.
|
||||
|
||||
- The `systeminfo` application prints various data from the Windows Management
|
||||
Instrumentation database.
|
||||
|
||||
- The `klist` application lists Kerberos tickets.
|
||||
|
||||
- The `taskkill` application supports terminating child processes.
|
||||
|
||||
- The `start` application supports a `/machine` option to select the
|
||||
architecture to use when running hybrid x86/ARM executables.
|
||||
|
||||
- Most of the functionality of the `tasklist` application is implemented.
|
||||
|
||||
- The `findstr` application provides basic functionality.
|
||||
|
||||
|
||||
### Development tools
|
||||
|
||||
- The WineDump tool supports printing the contents of Windows registry files
|
||||
(REGF format), as well as printing data for both architectures in hybrid
|
||||
x86/ARM64 PE files.
|
||||
|
||||
- The `composable`, `default_overload`, `deprecated`, and `protected` attributes
|
||||
are supported in the IDL compiler.
|
||||
|
||||
- The `libwine.so` library is removed. It was no longer used, and deprecated
|
||||
since Wine 6.0. Winelib ELF applications that were built with Wine 5.0 or
|
||||
older will need a rebuild to run on Wine 9.0.
|
||||
|
||||
|
||||
### Bundled libraries
|
||||
|
||||
- The FluidSynth library version 2.3.3 is bundled and used for DirectMusic.
|
||||
|
||||
- The math library of Musl version 1.2.3 is bundled and used for the math
|
||||
functions of the C runtime.
|
||||
|
||||
- The Zydis library version is 4.0.0 is bundled and used for x86 disassembly
|
||||
support.
|
||||
|
||||
- Vkd3d is updated to the upstream release 1.10.
|
||||
|
||||
- Faudio is updated to the upstream release 23.12.
|
||||
|
||||
- LDAP is updated to the upstream release 2.5.16.
|
||||
|
||||
- LCMS2 is updated to the upstream release 2.15.
|
||||
|
||||
- LibMPG123 is updated to the upstream release 1.32.2.
|
||||
|
||||
- LibPng is updated to the upstream release 1.6.40.
|
||||
|
||||
- LibTiff is updated to the upstream release 4.6.0.
|
||||
|
||||
- LibXml2 is updated to the upstream release 2.11.5.
|
||||
|
||||
- LibXslt is updated to the upstream release 1.1.38.
|
||||
|
||||
- Zlib is updated to the upstream release 1.3.
|
||||
|
||||
|
||||
### External dependencies
|
||||
|
||||
- The Wayland client library, as well as the xkbcommon and xkbregistry
|
||||
libraries, are used when building the Wayland driver.
|
||||
|
||||
- The PCSClite library is used for smart card support. On macOS, the PCSC
|
||||
framework can be used as an alternative to PCSClite.
|
||||
|
||||
- For PE builds, a cross-compiler that supports `.seh` directives for exception
|
||||
handling is required on all platforms except i386.
|
||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
Wine version 9.0-rc5
|
||||
Wine version 9.0
|
||||
|
|
18
configure
vendored
18
configure
vendored
|
@ -1,6 +1,6 @@
|
|||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.71 for Wine 9.0-rc5.
|
||||
# Generated by GNU Autoconf 2.71 for Wine 9.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='9.0-rc5'
|
||||
PACKAGE_STRING='Wine 9.0-rc5'
|
||||
PACKAGE_VERSION='9.0'
|
||||
PACKAGE_STRING='Wine 9.0'
|
||||
PACKAGE_BUGREPORT='wine-devel@winehq.org'
|
||||
PACKAGE_URL='https://www.winehq.org'
|
||||
|
||||
|
@ -2388,7 +2388,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 9.0-rc5 to adapt to many kinds of systems.
|
||||
\`configure' configures Wine 9.0 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
|
@ -2458,7 +2458,7 @@ fi
|
|||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of Wine 9.0-rc5:";;
|
||||
short | recursive ) echo "Configuration of Wine 9.0:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
|
@ -2756,7 +2756,7 @@ fi
|
|||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
Wine configure 9.0-rc5
|
||||
Wine configure 9.0
|
||||
generated by GNU Autoconf 2.71
|
||||
|
||||
Copyright (C) 2021 Free Software Foundation, Inc.
|
||||
|
@ -3207,7 +3207,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 9.0-rc5, which was
|
||||
It was created by Wine $as_me 9.0, which was
|
||||
generated by GNU Autoconf 2.71. Invocation command line was
|
||||
|
||||
$ $0$ac_configure_args_raw
|
||||
|
@ -23361,7 +23361,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 9.0-rc5, which was
|
||||
This file was extended by Wine $as_me 9.0, which was
|
||||
generated by GNU Autoconf 2.71. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
|
@ -23425,7 +23425,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 9.0-rc5
|
||||
Wine config.status 9.0
|
||||
configured by $0, generated by GNU Autoconf 2.71,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue