Pages

Saturday, February 8, 2020

Proton 5.0-1 has been released

 Proton 5.0-1 has been released

  • Update Wine to version 5.0. Since the last major release of Proton, Wine has seen over 3500 changes, which are now integrated into Proton. 207 patches from Proton 4.11 were either upstreamed or are no longer needed.
  • Direct3D 9 games will now use DXVK for rendering by default. Users without Vulkan support can return to the OpenGL-based wined3d renderer with the PROTON_USE_WINED3D configuration option.
  • Improved Steam client integration. This makes more games that use Denuvo playable, including Just Cause 3, Batman: Arkham Knight, Abzu, and more.
  • New Proton environments will report a newer OS version, which some newer games require. Existing environments will not be changed automatically.
  • Wine 5.0 includes the beginnings of real multi-monitor support. Expect major improvements in this area soon.
  • Improved surround sound support for older games.
  • Update DXVK to v1.5.4.
  • Update FAudio to 20.02.
  • Note for users who build Proton: this branch has new submodules, please be sure to git submodule update --init.

Link to source code

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

 

Sunday, February 2, 2020

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

The Wine development release 5.1 is now available.

What's new in this release:

  • Support for using LLVM-MinGW as PE cross-compiler.
  • Better reporting of error location in JScript and VBScript.
  • Support for relocatable installation of the Winelib tools.
  • Ellipse drawing in Direct2D.
  • OLE monikers improvements.
  • 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 5.1 (total 32):

  21702  Continuum 0.40 crashes at start up screen
  22006  Multiple applications require support for thread and process security descriptors (Continuum 0.40, Acrobat Reader DC 2015)
  23261  Industry Giant 2 demo crashes with DDERR_UNSUPPORTEDMODE message
  28059  3DAnalyzer: Hangs when selecting certain exe's
  33159  Loading a .dll without relocations fails under Mac OS X (needs preloader)
  35351  Allow configuring modifier key mapping
  36813  wineconsole: no text without winetricks corefonts
  39229  Dragon Age Inquisition crashes
  40013  MSYS2 based "Git for Windows" 2.7 fails to install due to 'rebase.exe' tool crashing or hanging in post-install steps
  40482  Support set title in start, needed by latest MSYS2
  42249  Speccy v1.30 installer crashes (registry SID profile data in 'ProfileList' must contain 'ProfileImagePath' key value)
  42554  The Magic School Bus Explores The Solar System crashes while loading
  43499  The Legend of Heroes: Trails of Cold Steel - Graphical glitches
  43505  Star Wars: Starfighter - screen out of monitor borders
  43514  Beamng.drive: wrong sunshine reflection
  44618  MindManager Pro v7.0: MSI installer complains "CustomAction unhandled action type 7"
  44917  Unable to run DTS MAster Audio Suite Encoder
  45049  Multiple programs need d2d1 CreateRoundedRectangleGeometry (playchessV7, Paint.Net 4.*)
  45148  Overwatch: left control, left shift keybindings don't work
  45501  Darksiders - Slow player movement with builtin d3dx9_42
  45742  Sniper Elite V2 has no sound
  45847  Warframe installer update/download gets stuck due to corruption on large files in 'Bulk Download' mode (tries over and over again)
  45879  Aruba Key crashes on unimplemented function setupapi.dll.CM_Request_Device_EjectA when clicking 'remove' button
  46005  Multiple games and applications fail due to missing interface proxy information in registry (oleautomation/dual interfaces referenced in coclass section inside of library block)
  47668  Logos 8 (.NET/WPF 4.7.2 application) fails to download resources (needs ReOpenFile implementation)
  48018  QuickTime 7.0.x installer fails, 'rundll32.exe "C:\Program Files (x86)\QuickTime\QTSystem\QTJava.dll,QTPostInstallProc"' crashes due to invalid cdecl dll entry
  48064  qmgr:job started failing on XP on Sep 09
  48150  ddraw:ddraw{2,4} show new test failures
  48313  Sysinternals CpuStres crashes on unimplemented function kernel32.dll.GetThreadIdealProcessorEx
  48338  DIB images with bpp <= 8 get wrong palette when converted to GpBitmap
  48371  Home Designer Suite 21.3.1.1x64 reports "Error #272000009 A serious error occurred (SEH)."
  48491  _searchenv & co do not understand quoted directories

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

 

Tuesday, January 21, 2020

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

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

This release represents a year of development effort and over 7,400 individual changes. It contains a large number of improvements that are listed in the release notes below. The main highlights are:

  • Builtin modules in PE format.
  • Multi-monitor support.
  • XAudio2 reimplementation.
  • Vulkan 1.1 support.

This release is dedicated to the memory of Józef Kucia, who passed away in August 2019 at the young age of 30. Józef was a major contributor to Wine's Direct3D implementation, and the lead developer of the vkd3d project. His skills and his kindness are sorely missed by all of us.

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 5.0
======================


*** PE modules

- Most modules are built in PE format (Portable Executable, the
  Windows binary format) instead of ELF when the MinGW compiler is
  available. This helps various copy protection schemes that check
  that the on-disk and in-memory contents of system modules are
  identical.

- The actual PE binaries are copied into the Wine prefix instead of
  the fake DLL files. This makes the prefix look more like a real
  Windows installation, at the cost of some extra disk space.

- Modules that have been converted to PE can use standard wide-char C
  functions, as well as wide-char character constants like L"abc".
  This makes the code easier to read.

- Not all modules have been converted to PE yet; this is an ongoing
  process that will continue during the Wine 5.x development series.

- The Wine C runtime is updated to support linking to MinGW-compiled
  binaries; it is used by default instead of the MinGW runtime when
  building DLLs.


*** Graphics

- Multiple display adapters and monitors are properly supported,
  including dynamic configuration changes.

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

- The WindowsCodecs library is able to convert more bitmap formats,
  including palette-indexed formats.


*** Direct3D

- Fullscreen Direct3D applications inhibit the screensaver.

- DXGI swapchain presents inform the application when the
  corresponding window is minimized. This typically allows
  applications to reduce CPU usage while minimized, and is in some
  cases required to allow the application window to be restored again.

- Switching between fullscreen and windowed modes using the standard
  Alt+Enter combination is implemented for DXGI applications.

- The following features are implemented for Direct3D 12 applications:
  - Switching between fullscreen and windowed.
  - Changing display modes.
  - Scaled presents.
  - Swap intervals.
  These features were previously already implemented for earlier
  versions of the Direct3D API.

- The handling of various edge cases is improved. Among others:
  - Out of range reference values for the alpha and stencil tests.
  - Sampling 2D resources with 3D samplers and vice versa.
  - Drawing with mapped textures and buffers.
  - Usage of invalid DirectDraw clipper objects.
  - Creating Direct3D devices on invalid Windows, like the desktop
    window.
  - Viewports with a minimum Z larger than or equal to the maximum Z.
  - Resources bound through both shader-resource views and
    render-target or depth-stencil views at the same time.
  - Blits between formats with and without alpha components.
  Since well-behaved applications don't rely on these edge cases, they
  typically only affect one or two applications each. There are
  nevertheless quite a number of them.

- Dirty texture regions are tracked more accurately for Direct3D 8 and 9
  texture uploads.

- Uploads of S3TC-compressed 3D textures require less address space.
  Since 3D textures can be potentially large, and address space
  exhaustion is a concern for 32-bit applications, S3TC-compressed 3D
  textures are uploaded per-slice, instead of in a single upload.

- The ID3D11Multithread interface is implemented.

- Various lighting calculation fixes and improvements for older
  DirectDraw applications have been made.

- Limited support for blits across swapchains is implemented.

- More shader reflection APIs are implemented.

- The wined3d CPU blitter can handle compressed source resources.
  Support for compressed destination resources was already implemented
  in a previous release.

- The Direct3D graphics card database recognizes more graphics cards.

- New HKEY_CURRENT_USER\Software\Wine\Direct3D registry keys:
  - "shader_backend" (REG_SZ)
    The shader backend to use. Possible values are "glsl" (default)
    for GLSL, "arb" for ARB vertex/fragment programs and "none" to
    disable shader support.
  - "strict_shader_math" (REG_DWORD)
    Enable (0x1) or disable (0x0, default) stricter translation of
    Direct3D shaders, potentially at a performance cost. This
    currently only makes a difference with the default GLSL shader
    backend in combination with the proprietary NVIDIA drivers.

- Deprecated HKEY_CURRENT_USER\Software\Wine\Direct3D registry key:
  - "UseGLSL"
    This has been superseded by the "shader_backend" setting above.


*** D3DX

- Support for compressing textures using S3TC-compression is
  implemented.

- Various operations, like e.g. texture fills, on unmappable surfaces
  are implemented more correctly. Previously their implementation
  relied on the underlying Direct3D implementation not enforcing
  mapping restrictions.

- Various improvements and fixes have been made to the effect
  framework.


*** Kernel

- Most of the functions that used to be in Kernel32 are moved to
  KernelBase, to follow the architecture of recent Windows versions.

- Libraries of the wrong 32/64-bitness are ignored when found in the
  search path, to enable loading the correct one if it's found further
  in the path.

- Kernel objects are better emulated for device drivers that expect to
  manipulate objects from the kernel side.

- The kernel-level synchronization objects like spin locks, fast
  mutexes, remove locks, and resource variables are implemented.

- The system battery state is properly reported to applications.


*** User interface

- Minimized windows are displayed using their title bar instead of the
  old Windows 3.1-style icons.

- The new button styles Split Buttons and Command Links are
  implemented.

- The Edit control sets margins correctly also for CJK fonts.


*** Desktop integration

- Symbolic links to the corresponding Unix directories are created for
  the 'Downloads' and 'Templates' folders.


*** Input devices

- Plug & Play device drivers can be installed and loaded on startup.

- Game controllers are better supported, including proper support for
  hat switch, wheel, gas and brake controls.

- The old joystick API of Linux versions earlier than 2.2 is no longer
  supported.


*** .NET

- The Mono engine is updated to version 4.9.4, including parts of the
  Windows Presentation Foundation (WPF) framework.

- The Gecko and Mono add-ons support shared installation, where the
  files are used directly from a global location under /usr/share/wine
  instead of being copied into every new prefix.


*** Internet and networking

- The Gecko engine is refreshed to support recent toolchains.

- A number of new HTML APIs are implemented.

- MSHTML supports some SVG elements.

- Error object and exception propagation are supported in VBScript.

- A number of VBScript builtin functions are implemented.

- JScript EcmaScript compliant mode is extended to support more
  features.

- JScript and VBScript script objects expose type info interfaces.

- The HTTP proxy configuration can be retrieved through DHCP.

- Passport HTTP redirects are supported.

- The HTTP service and corresponding client-side library (HTTPAPI) are
  partially implemented.


*** Cryptography

- ECC (elliptic-curve) keys are supported when using GnuTLS.

- Importing keys and certificates from PFX blobs is implemented.

- The PBKDF2 key derivation algorithm is supported.


*** Text and fonts

- OpenType positioning features are supported in DirectWrite, and
  enabled for Latin script by default, including kerning.

- Font data access is made safer by validating the various data tables
  before using them.

- DirectWrite interfaces are updated to a recent SDK, implementing
  some of the latest API additions.


*** Audio / Video

- The XAudio2 libraries are reimplemented to use the external FAudio
  library, for better compatibility.

- The Media Foundation libraries are fleshed out, including:
  - Support for builtin and user async work queues.
  - Ability to submit periodic callbacks, waiting, scheduled, and
    regular work items, with support for item priority.
  - Support for media event queues.
  - Various core API to handle media type objects, stream and
    presentation descriptors, object attributes, byte stream objects,
    samples and buffers.
  - Initial Source Resolver implementation.
  - Initial implementation of Source Reader API.
  - Implementation for Sample Grabber object.
  - Core support for building topology objects.
  - Builtin presentation clock implementation, started implementing
    Media Session functionality.

- The video capture filter has been ported to use v4l2 instead of the
  deprecated v4l1 API, allowing the use of some cameras which do not
  support v4l1.

- Support for YUV to RGB translation and reading from v4l2 devices
  using mmap() has been removed; we now depend on libv4l2 for both of
  these things.

- The builtin AVI, MPEG-I, and WAVE decoders have been removed; we now
  depend on GStreamer or the Mac QuickTime Toolkit to decode such
  media files.

- Some more VMR7 configuration APIs are implemented.

- The sound drivers support per-channel volume adjustments.


*** Internationalization

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

- Unicode normalization is implemented.

- The geographic region id is automatically set in the registry based
  on the current locale. It can be modified if necessary under
  HKEY_CURRENT_USER\Control Panel\International\Geo.

- The Sinhalese and Asturian locales are supported.

- Codepage 28601 (Latin/Thai) is supported.


*** RPC/COM

- The typelib marshaller supports complex structs and arrays.

- There is an initial implementation of the Windows Script runtime
  library.

- There is an initial implementation of the Microsoft ActiveX Data
  Objects (ADO) library.


*** Installers

- Microsoft Installer (MSI) Patch Files are supported.

- The WUSA tool (Windows Update Standalone Installer) supports
  installing .MSU update files.


*** ARM platforms

- Exception unwinding is implemented for ARM64, using the libunwind
  library.

- OLE stubless proxies are supported on ARM64.


*** Development tools / Winelib

- The Visual Studio remote debugger can be used to debug applications
  running under Wine.

- The Debug Engine library (DBGENG) is partially implemented.

- Binaries built for a Windows target no longer depend on the libwine
  library, to enable them to run on Windows without any extra
  dependencies. The libwine library is no longer built for Windows at
  all.

- The Resource Compiler and IDL Compiler support a '--sysroot' option
  to allow locating header files in cross-compile environments.

- Winegcc supports the options '--target', '--wine-objdir',
  '--winebuild' and '-fuse-ld' that make it easier to use as a
  cross-compiler, or with custom toolchains.

- The wine/unicode.h header is no longer available to applications,
  since the functions will ultimately be removed and replaced by the
  standard C runtime wide character functions.


*** Build infrastructure

- Test binaries are built in PE format if MinGW is available, so the
  same test binary can run on both Wine and Windows. The 'crosstest'
  make target is no longer needed or supported.

- The 'fastcall' calling convention is supported in spec files. It
  uses the correct name mangling for Windows builds.

- A '-import' entry point flag is supported in spec files, to mark
  functions that need a hotpatch code prefix to be generated for their
  import thunks.

- Winebuild supports a '--builtin' option to add a special signature
  to PE binaries to mark them as Wine builtins.


*** Builtin applications

- The CHCP tool is implemented. It allows setting the console codepage.

- The MSIDB tool is implemented. It allows manipulating MSI databases.


*** Performance improvements

- The various time functions use higher performance system clocks if
  available, to reduce the overhead in the rendering loop of many
  games.

- File lookups take advantage of the ext4 filesystem case folding
  support if it's enabled on the directory being searched.

- No-data style listboxes (LBS_NODATA) have better performance for
  large numbers of items.

- Slim Reader/Writer locks, keyed events, and condition variables use
  futexes on Linux to avoid wineserver round trips.


*** New external dependencies

- The MinGW-w64 cross-compiler is used to build modules in PE format.

- The FAudio library is used to implement XAudio2.

- The Inotify library is used for file change notifications on BSD
  platforms.

- The Unwind library is used for exception handling on ARM64.

- The Video4Linux version 2 library is used instead of version 1.


--
Alexandre Julliard
julliard@winehq.org

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

 

Friday, January 17, 2020

Wine development release 5.0-rc6 is now available for Linux FreeBSD and macOS

The Wine development release 5.0-rc6 is now available.

Barring any last minute issue, this is expected to be the last release candidate before the final 5.0.

What's new in this release:

  • Bug fixes only, we are in code freeze.

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 5.0-rc6 (total 21):

  20465  Brothers In Arms Hell's Highway : Setup asks for DVD for every .cab file (SetupPromptForDiskA/W should only show a dialog if the file doesn't exist)
  37598  Double dark line inside default button, e.g. 'OK' / 'SAVE'
  41459  32bit 7zFM.exe closes unexpectedly with error "The system cannot allocate the required amount of memory"
  43271  Tomb Raider (2013) - unable to use interact key with CSMT
  43272  Crash after click Start button in virtual desktop mode when using Steam
  44408  Tetris for Windows has wrong colors for the game pieces and the score box
  44594  MindManager Pro v7.0 shows XML processing error on startup (needs support for 'exhaustive-errors', 'external-general-entities' and 'external-parameter-entities' features in MSXML SAX reader)
  44664  The Five Cores - distorted rendering
  45732  Far Cry 5 Cannot Steer Land Vehicles
  46036  7-Zip: Endless / infinite dialogs open when you copy a selection of directories from within one .zip file into another
  46361  Sonic Mania freezes/crashes when we use a gamepad on 4.0+
  46616  ABBYY FineReader 14 crashes during installation
  47433  Accel World vs. Sword Art Online needs WTSRegisterSessionNotificationEx() to return true.
  47923  kernel32:debugger tests sometimes fail on Windows 10
  48335  Serious Sam Classic TFE/TSE crash on saving the game
  48416  wine: Call from 0x7bc7b154 to unimplemented function api-ms-win-core-rtlsupport-l1-2-0.dll.RtlInstallFunctionTableCallback, aborting
  48444  Dark Messiah of Might and Magic demo: crash on start
  48452  The Witcher Enhanced Edition (GOG) some HUD graphics distorted starting wine 5.0-rc4
  48454  Acrobat Reader 11 crashes a few seconds after startup
  48458  Changes to scanf.c and scanf.h have resulted in Star Citizen incorrectly showing green lighting
  48469  Pale Moon crashes when loading web page from address bar

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