Software 42412 Published by

A new Wine development release has been released.  Among the many bug fixes that are included in the 9.7 release are the introduction of build system support for ARM64X, the rearrangement of the Vulkan driver interface, enhancements to WIDL for ARM support and SLTG typelibs, and a number of updates.

Wine release 9.7

The Wine development release 9.7 is now available.

What's new in this release:
- Build system support for ARM64X.
- Some restructuration of the Vulkan driver interface.
- WIDL improvements for ARM support as well as SLTG typelibs.
- Various bug fixes.

The source is available at 

Binary packages for various distributions will be available from   

You will find documentation on 

Wine is available thanks to the work of many people. See the file [AUTHORS][1] for the complete list.



 ### Bugs fixed in 9.7 (total 18):

- #37246 Old C&C titles freeze after the map is loaded.
- #44699 Clang 6.0 fails to run under wine
- #44812 Multiple applications need NtQueryInformationProcess 'ProcessQuotaLimits' class support (MSYS2, ProcessHacker 2.x)
- #48080 Oregon Trail II will not start in 32-bit mode
- #50111 osu! crashes since 20201110 version with wine-mono (needs native -> managed byref array marshalling)
- #54759 Notepad++: slider of vertical scrollbar is too small for long files
- #54901 Medieval II Total War some units partly invisible with d3dx9_30 as builtin
- #55765 The 32-bit d2d1:d2d1 frequently crashes on the GitLab CI
- #56133 explorer.exe: Font leak when painting
- #56361 Geovision Parashara's Light (PL9.exe) still crashes in wine
- #56369 Advanced IP Scanner crashes on unimplemented function netapi32.dll.NetRemoteTOD
- #56442 Totem Arts Launcher.exe garbled text
- #56491 Videos in BURIKO visual novel engine
- #56493 PresentationFontCache.exe crashes during .Net 3.51 SP1 installation
- #56536 UI: Applications using ModernWPF crash, Windows.Ui.ViewManagment.InputPane.TryShow not implemented
- #56538 Mspaint from Windows XP needs imm32.CtfImmIsCiceroEnabled
- #56551 HP System Diagnostics crashes when clicking the Devices tab
- #56554 ON1 photo raw installs but wont run the application

### Changes since 9.6:
Alex Henrie (2):
win32u: Also reset the unnamed values in prepare_devices.
explorer: Fix font handle leaks in virtual desktop.

Alexandre Julliard (16):
winhttp/tests: Fix some compiler warnings with non-PE build.
widl: Pass 16-byte structures by value on ARM64.
widl: Only pass power of 2 structures by value on x86-64.
widl: Correctly align stack parameters on ARM.
widl: Don't use a structure for NdrClientCall2 parameters on ARM.
widl: Output register parameter assignments on ARM platforms.
widl: Clear RobustEarly flag also for data structure conformance.
rpcrt4/tests: Add some more parameter passing tests.
rpcrt4: Export NdrpClientCall2.
rpcrt4: Implement NdrClientCall2 in assembly on all platforms.
rpcrt4: Implement NdrClientCall3 in assembly on all platforms.
rpcrt4: Implement NdrAsyncClientCall in assembly on all platforms.
rpcrt4: Implement Ndr64AsyncClientCall in assembly on all platforms.
rpcrt4: Support calling server functions with floating point arguments on ARM platforms.
widl: Use x64 calling convention for ARM64EC.
rpcrt4: Leave some space on the stack for varargs when called from ARM64EC code.

Alfred Agrell (8):
winegstreamer: Create decodebin instead of avidemux.
winegstreamer: Use decodebin instead of wavparse.
winegstreamer: Delete now-meaningless wg_parser_type enum.
winegstreamer: Reduce CLSID_decodebin_parser merit, so the MPEG splitter is chosen instead for MPEGs.
quartz/tests: Test that compressed formats are offered for MPEGs.
quartz: Fix error code on empty filename.
quartz/tests: Test the new error codes.
quartz: Fix memory leak on failure path.

Brendan Shanks (4):
winecoreaudio: Correctly handle devices whose UID contains non-ASCII characters.
dxgi: Add IDXGISwapChain2 stubs for D3D11.
dxgi: Add IDXGISwapChain3 stubs for D3D11.
dxgi: Add IDXGISwapChain4 stubs for D3D11.

Dmitry Timoshkov (4):
widl: In old style typelibs all types are public.
widl: Add support for recursive type references to SLTG typelib generator.
widl: Add support for interfaces to SLTG typelib generator.
widl: Add support for inherited interfaces to SLTG typelib generator.

Eric Pouech (10):
msvcrt/tests: Add tests for check buffering state of standard streams.
ucrtbase/tests: Add tests for checking buffering state of standard streams.
ucrtbase: Let stderr be always be unbuffered.
dbghelp: Test thread names in minidump.
dbghelp: Store thread names in minidump.
winedump: Add helpers to print DWORD64 integers.
winedump: Simplify unicode string printing (minidump).
winedump: Support a couple of 'section' options (minidump).
winedump: Tidy up dumping minidump.
winedump: Extend dumping of some minidump parts.

Fabian Maurer (1):
imm32: Add CtfImmIsCiceroEnabled stub.

Hans Leidekker (4):
msi/tests: Use the helpers from utils.h in more modules.
msi/tests: Try restarting tests elevated.
msi/tests: Get rid of workarounds for old Windows versions.
msi: Install global assemblies before running deferred custom actions.

Isaac Marovitz (1):
ntdll: Implement NtQueueApcThreadEx().

Jacek Caban (5):
winebuild: Add -marm64x option for generating hybrid ARM64X import libraries.
winegcc: Pass target and resources as arguments to build_spec_obj.
winegcc: Add -marm64x option for linking ARM64X images.
makedep: Use hybrid ARM64X images for ARM64EC.
ntdll: Use mangled function names in ARM64EC assembly.

Jinoh Kang (3):
kernel32/tests: Test module refcounting with forwarded exports.
kernel32/tests: Fix argument order in subtest_export_forwarder_dep_chain() calls.
kernel32/tests: Document which fields may be overwritten later in gen_forward_chain_testdll().

Liam Middlebrook (1):
krnl386.exe: Start DOSVM timer on GET_SYSTEM_TIME.

Mohamad Al-Jaf (1):
windows.ui: Return success in IInputPane2::TryShow().

Nikolay Sivov (6):
d2d1/effect: Zero value buffer on size or type mismatch.
d2d1/tests: Use distinct types for vector and matrix values.
d2d1/effect: Make it possible to set render info for draw-transform nodes.
d2d1: Implement GetEffectProperties().
d2d1/effect: Add 'Rect' property to the Crop effect description.
d2d1: Fix GetPropertyNameLength() return value.

Paul Gofman (9):
winhttp: Set actual default receive response timeout to 21sec.
winhttp/tests: Add some tests for actual connection caching.
winhttp: Do not cache connection if suggested by request headers.
wow64: Support generic xstate in call_user_exception_dispatcher().
ntdll: Preserve untouched parts of xstate in set_thread_wow64_context().
winegstreamer: Try to handle broken IStream_Stat implementation in WM reader OpenStream().
mmdevapi: Implement SAC_IsAudioObjectFormatSupported().
winegstreamer: Destroy wg_transform in video_decoder/transform_SetInputType().
ntdll: Return STATUS_NO_YIELD_PERFORMED from NtYieldExecution() on Linux if no yield was performed.

Piotr Caban (1):
gdiplus: Fix IWICBitmapFrameDecode reference leak in decode_frame_wic.

R?mi Bernon (27):
include: Add MFTOPOLOGY_DXVA_MODE enum definition.
mf/tests: Fix printf format warning.
mf/tests: Split topology loader tests to a new file.
mf/tests: Test D3D awareness handling in the topology loader.
mf/tests: Test device manager handling in the topology loader.
mfmediaengine/tests: Test that effects allow converters between them.
mfmediaengine: Allow decoder / converter to be resolved between topology nodes.
winevulkan: Add a manual vkQueuePresent wrapper.
winevulkan: Move vkQueuePresent FPS trace out of the drivers.
winevulkan: Return VK_SUBOPTIMAL_KHR from vkQueuePresentKHR after resize.
winevulkan: Return VK_SUBOPTIMAL_KHR from vkAcquireNextImage(2)KHR after resize.
winevulkan: Remove unnecessary vkGetSwapchainImagesKHR driver entry.
winevulkan: Pass surface info for each vkQueuePresent swapchain to win32u.
win32u: Introduce a new vulkan_surface_presented driver entry.
winewayland: Remove now unnecessary swapchain extents checks.
winewayland: Remove now unnecessary swapchain wrapper.
win32u: Move vkQueuePresent implementation out of the user drivers.
winevulkan: Remove now unnecessary vkDestroySwapchain driver entry.
winevulkan: Remove now unnecessary vkCreateSwapchainKHR driver entry.
win32u: Close device manager source key in write_source_to_registry.
win32u: Remove fake source creation when adding display mode.
win32u: Keep the primary current mode in the device manager context.
win32u: Add all display device source modes at once.
winegstreamer: Introduce a new set_sample_flags_from_buffer helper.
winegstreamer: Introduce a new sample_needs_buffer_copy helper.
winegstreamer: Split read_transform_output_data in two helpers.
winegstreamer: Pass optional GstVideoInfo to read_transform_output_video.

Sam Joan Roque-Worcel (1):
win32u: Make SCROLL_MIN_THUMB larger.

Tim Clem (1):
winemac.drv: Hide app's dock icon when it wouldn't have a taskbar item on Windows.

Vijay Kiran Kamuju (4):
mscms: Add stub for WcsGetDefaultColorProfile.
ntdll: Add NtQueryInformationProcess(ProcessQuotaLimits) stub.
ntdll/tests: Add NtQueryInformationProcess(ProcessQuotaLimits) tests.
netapi32: Add NetRemoteTOD stub.

Zebediah Figura (4):
wined3d: Enable EXT_extended_dynamic_state3.
wined3d: Use dynamic state for multisample state if possible.
wined3d: Use dynamic state for blend state if possible.
wined3d: Use dynamic state for rasterizer state if possible.

Zhiyi Zhang (4):
opengl32/tests: Add default framebuffer tests.
winemac.drv: Update OpenGL context immediately after the window content view is visible.
uxtheme/tests: Test that scrollbar parts should have very few #ffffff pixels.
light.msstyles: Use #fefefe instead of #ffffff for scrollbar parts.

Ziqing Hui (3):
winegstreamer: Merge audio_mpeg1 into audio field.
winegstreamer: Merge audio_mpeg4 into audio field.
winegstreamer: Merge audio_wma into audio field.