Pages

Friday, January 29, 2021

Wine development release 6.1 is now available for Linux FreeBSD and macOS

The Wine development release 6.1 is now available.

What's new in this release:

  • Arabic text shaping.
  • More WinRT support in WIDL.
  • VKD3D version 1.2 is used for Direct3D 12.
  • Support for Rosetta's memory layout on M1 Macs.
  • Support for Thumb-2 mode on ARM.
  • Various bug fixes.

The source is available now. Binary packages are in the process of being built, and will appear soon at their respective download locations.

Bugs fixed in 6.1 (total 37):

  17848  Windows Print Preview: Lines drawn have incorrect width
  21014  Dark Sector no Sound
  21038  F-Secure BlackLight Engine 2.2.x (Rootkit scanner) crashes after accepting license agreement (Wine on-disk placeholder dlls sections must be padded with data up to section virtual size)
  30062  Deer Hunter demo: unable to start a new game (map view unusable)
  30469  Multiple .NET 2.0 applications abort with error 'System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' (SegFlex demo)
  33349  Add support for 32-bit ARM Thumb-2 Wine build
  35017  Rollercoaster Tycoon 3 has no music
  38501  GetClipboardData(CF_UNICODETEXT) - return ANSI
  39407  LabVIEW 2014 crashes on startup
  42913  ACAT Dashboard, part of Intel Assistive Context-Aware Toolkit (ACAT) v1.00.0 (.NET 4.5 app) crashes with 'invalid parameter' in 'System.Drawing.Icon.Initialize' (missing support for PNG icons in user32)
  43408  Quest 5.7.x (.NET 4.0 WPF app) crashes on direct access of MIL4 (Media Integration Layer, wpfgfx_v0400.dll) to internal bitmap struct/class impl (depends on exact layout)
  45046  Skyrim SE: Shadow artifacts (missing handling of 'precise' shader modifier)
  48685  Multiple games and applications need D3DX11CompileFromFile implementation
  48714  mass effect spits error when using mouse fix
  48790  mfplat:mfplat crashes on Windows 7
  48870  Aldi (Buhl) Steuer 2019/2020 installer crashes
  49327  Hearthstone Deck Tracker (with installed dotnet472) does not work with wine-staging 5.9 anymore
  49484  test_query_process_image_info() test is broken on a not PE build
  50033  WMI class SystemRestore is missing
  50194  x64dbg snapshots >= 2020-11-12_05-12 crash on unimplemented function ntdll.dll.NtCreateDebugObject when attaching to process
  50229  Battle.net launcher sometimes crashes after login (wine-5.22)
  50256  Animate VST plugin activation doesn't work: wbem_services_ExecQuery gets no network adapters
  50349  SlingPlayer crashes on launch (needs IDirectXVideoDecoderService)
  50357  Star Stable Online crashes with unimplemented function dcomp.dll.DCompositionCreateDevice2
  50376  Banished crashes when Antialiasing set to 3x MSAA with Vulkan renderer
  50379  The Witcher 3 has broken rendering with Vulkan renderer
  50386  Sniper Elite V2 some objects aren't rendered with Vulkan renderer
  50387  Batman: Arkham Origins has broken dynamic shadows with Vulkan renderer
  50459  Studio One 5 crashes on unimplemented function dcomp.dll.DCompositionCreateDevice
  50485  Still Life 2 crashes when CSMT is disabled
  50486  The Sims 3 launcher hangs
  50494  ID2D1RenderTarget::DrawText(): The position and size of the drawn text is incorrect
  50508  ACAT Phrase, part of Intel Assistive Context-Aware Toolkit (ACAT) v1.00.0 (.NET 4.5 app) crashes on unimplemented function 'uiautomationcore.dll.UiaRegisterProviderCallback'
  50515  SofTalk 1.56 doesn't speak continuously after punctuation marks.
  50525  ws2 _32 fails to build on macOS
  50549  Some games fail to launch with Vulkan renderer
  50570  Unknown Debian package and website in README

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

 

Saturday, January 23, 2021

Lutris 0.5.8.3 has been released

Lutris helps you install and play video games from all eras and from most gaming systems. By leveraging and combining existing emulators, engine re-implementations and compatibility layers, it gives you a central interface to launch all your games.

The client can connect with existing services like Humble Bundle, GOG and Steam to make your game libraries easily available. Game downloads and installations are automated and can be modified through user made scripts.

Download this version of Lutris from here.

Changelog :

  • Really fix popovers not showing on Wayland without making them non-modal
  • Prevent GStreamer based configuration from being applied in incompatible
    wine builds.
  • Fix crash when wine runner accesses DXVK versions before they are
    uploaded.
  • Prevent init dialog from being closed while it downloads the runtime.

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

 

Friday, January 15, 2021

Proton 5.13-5 has been released

 Proton 5.13-5 has been released

  • Support new OpenXR virtual reality API. Microsoft Flight Simulator's VR mode is now usable on AMD hardware
  • Update vkd3d-proton to v2.1.
  • Fixed world sounds in Cyberpunk 2077.
  • Online play is now functional in Red Dead Online and Read Dead Redemption 2.
  • Fix hangs or crashes in Gears Tactics, Fallout 76, Kingdoms Reborn, Need For Speed Hot Pursuit, and Conan Exiles.
  • Screenshot function is now usable in Fallout 76 and Path of Exile.
  • Most games will now stop accepting input while the Steam game overlay is up.
  • Fix missing text in Lumberjack's Destiny.
  • Fix display resolution issue in DLC Quest and other XNA games.


Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

 

Thursday, January 14, 2021

Wine stable release 6.0 is now available for Linux FreeBSD and macOS

The Wine team is proud to announce that the stable release Wine 6.0 is now available.

This release represents a year of development effort and over 8,300 individual changes. It contains a large number of improvements that are listed in the release notes below. The areas of major changes are:

  • Core modules in PE format.
  • Vulkan backend for WineD3D.
  • DirectShow and Media Foundation support.
  • Text console redesign.

This release is dedicated to the memory of Ken Thomases, who passed away just before Christmas at the age of 51. Ken was an incredibly brilliant developer, and the mastermind behind the macOS support in Wine. We all miss his skills, his patience, and his dark sense of humor.

The source is available now. Binary packages are in the process of being built, and will appear soon at their respective download locations.

What's new in Wine 6.0
======================


*** PE modules

- The core DLLs, including NTDLL, KERNEL32, GDI32, USER32, etc. are
  built in PE format. This should help a number of copy protection
  schemes that check that the DLL files on disk match the in-memory
  contents.

- There is a new mechanism to associate a Unix library with a PE
  module, to make it possible to call Unix libraries from PE for the
  functions that can't be handled with Win32 APIs.
  These libraries are found by replacing the PE module file extension
  with .so, for instance ntdll.dll -> ntdll.so. They have to be
  located next to the PE file on disk.

- Winelib modules no longer link against libwine.so, or require it at
  run-time. This is a backwards incompatible change, meaning that
  modules built with Wine 6.0 won't run on older Wine versions.

- The libwine library is no longer used, but it's still provided to
  support running Winelib modules built against older versions. It is
  deprecated however, and will be removed in a future Wine
  release. Applications that explicitly call libwine functions will
  need to be changed to call equivalent Win32 or Unix APIs instead.
  As a consequence, the wine/library.h header has also been removed.

- PE modules can be built with their debug information split to a
  separate file, to reduce the size of the files installed into the
  Wine prefix.


*** Direct3D

- An experimental Vulkan renderer for WineD3D is implemented. This
  requires the vkd3d-shader library in order to translate Direct3D
  shaders to SPIR-V shaders. In this release, shader support in the
  Vulkan renderer is limited to shader model 4 and 5 shaders. In
  practice, that limits its usefulness to Direct3D 10 and 11
  applications. The Vulkan renderer can be enabled by setting the
  Direct3D "renderer" registry setting to "vulkan".

- The following Direct3D 11 features are implemented:
  - Per render-target ("independent") blend states.
  - Dual-source blending.
  - Multi-sample anti-aliasing sample masks.
  - Several more capability queries.

- Support for Direct3D 9 alpha-to-coverage multi-sampling is
  implemented.

- When the EXT_framebuffer_multisample_blit_scaled OpenGL extension is
  available, scaled multi-sample resolve operations can happen as a
  single operation.

- When the ARB_buffer_storage OpenGL extension is available, it will
  be used to allocate OpenGL buffer objects. This can result in minor
  performance improvements with some application and driver
  combinations.

- The Direct3D graphics card database recognizes more graphics cards,
  and the reported driver versions have been updated.

- New or modified HKEY_CURRENT_USER\Software\Wine\Direct3D registry keys:
  - "renderer" (REG_SZ)
    The backend API to target. This existing setting has an additional
    valid value in this release: "vulkan". Possible values are now
    "gl" (default) for OpenGL, "gdi" or "no3d" for GDI, and "vulkan"
    for Vulkan.
  - "csmt" (REG_DWORD)
    Enable or disable multi-threaded command stream features. This
    existing setting has an additional valid bit-field value in this
    release. Valid bit-fields in this release are:
    - 0x1 Enable the multi-threaded command stream feature.
    - 0x2 Enable serialization between multiple command streams in the
          same application. This feature is primarily useful for
          applications using multiple Direct3D instances from
          different threads, in combination with OpenGL drivers that
          do not properly support multi-threaded access themselves. As
          of this release, this is known to affect Microsoft Office
          2013 and later versions in combination with the Mesa-based
          Nouveau driver.
    Note that this setting is a bit-field; in order to enable both
    features above, set this to 0x3.

- Removed HKEY_CURRENT_USER\Software\Wine\Direct3D registry key:
  - "DirectDrawRenderer"
    This setting was previously deprecated in favor of the "renderer"
    setting, and has been removed in this release.


*** D3DX

- Drawing text using the ID3DXFont interface is implemented.

- The ID3D12ShaderReflection shader reflection interface is
  implemented.

- The D3DX10GetImageInfoFromMemory() and related image information
  query functions are implemented.


*** Graphics

- Drawing arcs, ellipses and rounded rectangles using the Direct2D API
  is implemented.

- The standard sRGB color profile is installed into the prefix, for
  applications that expect to load it directly.

- The Null display driver can be used as a proper display driver, for
  cases when a user interface is not needed.

- WindowsCodecs supports decoding images in DDS (DirectDraw Surface)
  and JPEG-XR formats, as well as encoding images to GIF format.

- The Vulkan driver creates the JSON manifest and registry entry used
  by the official Vulkan loader.

- The Vulkan driver supports up to version 1.2.162 of the Vulkan spec.

- There are a number of improvements in GdiPlus, including support for
  widening lines, more hatch styles, and more record types in
  metafiles.


*** Audio / video

- The Media Foundation framework is more complete, including:
  - Initial Media Session implementation for state changes and data
    flow.
  - Initial Streaming Audio Renderer (SAR) pipeline component
    implementation.
  - Initial Video Renderer implementation, a pipeline component
    hosting EVR mixer and presenter.
  - Initial Topology Loader implementation.
  - Various fixes for the Source Reader.
  - Initial Media Engine implementation.
  - Asynchronous queues functionality is moved to rtworkq.dll.

- The AMStream (ActiveMovie Multimedia Streaming) library is more
  fully implemented, including support for streaming and sample
  management.

- The Video Mixing Renderer supports the following features:
  - Windowless and renderless mode.
  - Automatic stretching and resizing of the video to match the window
    size.
  - Hardware-accelerated color space conversion of YUV formats, if
    supported by the underlying Direct3D implementation.
  - Preservation of video aspect ratio via letterboxing.

- The Video Mixing Renderer is used as the default video renderer if
  supported by the underlying Direct3D implementation, replacing the
  GDI video renderer.

- The DirectShow File Writer filter is implemented.

- The DirectX Media Object (DMO) Wrapper filter is implemented. DMOs
  can be automatically enumerated and plugged into the filter graph.

- The video capture filter supports reporting more information about
  video formats, including supported sizes and frame rates.

- More Media Detector APIs are implemented.

- The GStreamer wrapper filter supports video and audio format
  conversion within the GStreamer pipeline. This obviates the need for
  extra transform filters, and accordingly the GStreamer-based YUV to
  ARGB converter, audio converter, and mp3 decoder have been
  removed. Any video can be output in any of several RGB and YUV
  formats, allowing for better performance in some cases.

- The Enhanced Video Renderer (EVR) contains an initial default mixer
  and presenter implementation using DXVA2 API.

- The XACT3 (Cross-platform Audio Creation) engine library and
  interfaces are implemented through FAudio.


*** Text and fonts

- Text console support is reimplemented, using the architecture of
  recent Windows versions, which is closer to the Unix way of doing
  things. In particular:

  - Pseudo consoles are implemented (equivalent to Unix pseudo TTYs).

  - All console handling is done in the ConHost process. WineConsole
    is now only a thin wrapper around ConHost.

  - ConHost handles VT escape sequences, meaning that the Unix Curses
    library is no longer needed.

- Default shaping features are enabled for all scripts in
  DirectWrite. All types of GSUB/GPOS lookups are supported.

- In DirectWrite, CMAP data is read directly from the font without
  global cache or a need to create FreeType objects, for improved
  performance.

- The font initialization in GDI32 avoids loading fonts through
  FreeType when possible, for faster startup times. The font registry
  cache is also more efficient.

- The Uniscribe support in the USP10 library is moved into GDI32, as
  per recent Windows versions.

- An initial version of the Webdings font is implemented, with only a
  few glyphs at this point.


*** Input devices

- Raw input devices and messages are implemented, and used by
  DirectInput instead of less efficient low-level hooks.

- An initial USB kernel driver is implemented, based on the LibUSB
  library, to provide access to USB devices.

- Mouse position history is implemented, for games that want more
  precise mouse positions.

- SDL controller mappings can be set through the
  'SDL_GAMECONTROLLERCONFIG' environment variable.

- Plug & Play device notifications are implemented.


*** Desktop integration

- Display settings are retrieved through XRandR 1.4 if available. This
  also provides support for multiple display orientations.

- There is a consistent view of the graphics adapters across the X11,
  OpenGL and Vulkan APIs.

- The desktop work area layout is supported on multi-monitor setups
  using the _GTK_WORKAREAS property.


*** Internationalization

- Unicode character tables are based on version 13.0.0 of the Unicode
  Standard.

- Unicode normalization is fully standard-compliant, including support
  for Hangul, supplementary character planes, and IDN normalization.

- Codepage and other Unicode tables are stored in external NLS files
  compatible with Windows. This makes it possible to test with the
  native files to track down character mapping issues.

- Codepage mapping tables are generated from Microsoft's Open
  Specification data for better compatibility.

- Unicode linguistic case mappings for languages like Turkish are
  implemented.

- Codepage 708 (Arabic ASMO) is supported.


*** Kernel

- Windows version compatibility mode is implemented, to only report
  the newest Windows versions to applications that have declared that
  they support them.

- INI file mappings are implemented, to redirect .ini file entries to
  registry keys.

- Many more NT kernel objects and functions are implemented, to
  support anti-cheat systems that load kernel drivers.

- A NetIO.sys kernel driver is implemented, to support copy protection
  drivers that want to access the network.

- AVX registers are supported in register contexts and exception
  handling on x86 platforms.

- The Kernel User Shared Data block contains up-to-date timestamps, to
  avoid system calls when retrieving the current time counter.


*** C Runtime

- The C runtime import libraries provide the necessary runtime support
  so that PE modules no longer depend on the MinGW runtime.

- The Wine modules are all built against the new UCRT runtime.

- Winegcc uses the new UCRT runtime by default, unless an older C
  runtime library is explicitly imported.

- The C runtime supports Windows locales that use the UTF-8 codepage.

- A number of C runtime math functions are implemented internally
  based on code from the Musl C library, to avoid depending on the
  system math library.

- Floating point formatting is reimplemented in the C runtime to avoid
  depending on the system printf function.


*** Internet and networking

- The Gecko engine is updated to version 2.47.2.

- The WebSocket API is implemented.

- JScript and VBScript report the correct location for errors in
  scripts.

- There are various improvements to the LDAP and Active Directory
  Service support.

- There is an initial implementation of the NDIS network driver.

- The OLE data link dialog supports configuring the ODBC data
  connection.


*** Cryptography

- The BCrypt library supports additional algorithms, including DSA
  keys and the 3DES cipher.

- The DSSENH (Digital Signatures) Cryptographic Provider is
  implemented, and enabled by default.


*** Alternative platforms

- Support for exception handling and stack unwinding on ARM platforms
  (both 32-bit and 64-bit) should be on par with the x86
  architectures.

- There is initial support for ARM64 on macOS, for the new Apple
  Silicon.

- Support for the obsolete 32-bit PowerPC architecture is removed. It
  had been broken for some time already.

- Case-insensitive filesystem optimizations are enabled on FreeBSD.


*** Builtin applications

- WineCfg supports querying and modifying the configured Windows
  version through the command line with a new /v option.

- The Shell Folders configuration in WineCfg also supports the
  Downloads and Templates folders.

- The removable drive autodetection has been removed in WineCfg, now
  that the dbus dynamic device support is stable.

- The FSUTIL tool supports a 'hardlink' command to create hard links.

- The FIND tool supports searching multiple files, in addition to
  standard input.

- The WHOAMI tool is implemented to display the current username.


*** Development tools

- Winegcc supports generating PDB files when building PE DLLs, for
  compatibility with Windows debuggers.

- DbgHelp supports GNU-style debug information also in PE files.

- Winegcc can generate an import library directly when building a DLL,
  with the '-Wl,--out-implib' option.

- The various build tools also look for include and library files in
  paths relative to the tool binary, to allow relocatable Winelib
  installations.

- The Resource Compiler (wrc) and Message Compiler (wmc) use the
  external NLS files for codepage conversions. If necessary, the path
  to the external files can be specified with the '--nls-dir' option.

- There are various improvements in the gdb proxy mode in WineDbg,
  including support for hardware watchpoints, and for loading symbols
  from PE modules.

- The Message Compiler (wmc) handles the Unicode BOM to detect the
  input file format.

- The Resource Compiler (wrc) has a '--utf8' option to specify UTF-8
  input, as an alternative to putting #pragma codepage inside the
  file.

- The IDL compiler (widl) supports a WinRT mode, and various
  constructs specific to that mode.

- The IDL compiler (widl) supports custom attributes in type
  libraries.


*** Build infrastructure

- Makefiles are no longer recursive; a single Makefile is generated to
  build the entire tree, with correct dependencies between modules.

- Automake-style silent build rules are supported. They are disabled
  by default, but can be enabled by passing the '--enable-silent-rules'
  option to configure.

- The new LLVM-MinGW compiler is supported for PE cross-compilation.

- Building with the Clang compiler in MSVC mode is supported.

- A '-syscall' entry point flag is supported in spec files, to
  generate NT-style system call entry points.


*** Miscellaneous

- The Mono engine is updated to version 5.1.1, containing the open
  sourced parts of the WPF framework, and initial replacements for
  some of the closed source parts.

- Most modules have been converted to use wide-character string
  constants like L"abc" instead of explicit arrays, for more readable
  code.

- Many of the less common timezones (for various remote islands) are
  supported.

- Listviews and image buttons are supported in MSI installers.

- There is initial support for the Print Ticket API.


*** New external dependencies

- The LibUSB library is used to implement the USB driver.

- The VkD3D-Shader library is used to translate Direct3D shaders to
  SPIR-V shaders for the WineD3D Vulkan renderer.

- The Curses, GLU, and Zlib libraries are no longer used.


--
Alexandre Julliard
julliard@winehq.org

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.