Pages

Friday, September 25, 2020

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

The Wine development release 5.18 is now available.

What's new in this release:

  • Vulkan shader compilation using the new vkd3d-shader library.
  • USER32 library converted to PE.
  • Console no longer requires the curses library.
  • Support for display modes with various orientations.
  • A number of syntax fixes in the WIDL compiler.
  • Non-recursive makefiles.
  • 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.18 (total 42):

  10603  IDirectSoundBufferImpl_SetFX needed for sound effects in several games
  18670  QIP Infium 2.0 build 9030 crashes on exit (needs a proper implementation of WSACleanup)
  21232  Multiple games and applications (Chromium-based browser engines, Blizzard games, League of Legends) crash due to hooking/anticheat validation (needs syscall thunks in ntdll.dll)
  22749  Hard link creation from a Finddupe-generated batch file fails ('fsutil.exe' needs to support 'hardlink create' command)
  35467  Multiple games crash on unimplemented function msvcirt.dll.??0fstream@@QAE@PBDHH@Z (Lock On: Modern Air Combat, TRON 2.0)
  36960  Avencast: Rise of the Mage fails to start (D3DXCreateTextureFromFileA failed)
  37254  wineconsole/curses.c fails to build on NetBSD 6.1.4
  37491  wineconsole requires/uses TERM environment variable
  37644  .NET console applications using System.Console.Clear() crash when directly started in terminal
  38964  widl: inconsistent null pointer checks in typelib writer
  39469  PreSonus Studio One 3 says it requires Windows 7 SP1 (d3d11 '{bb2c6faa-b5fb-4082-8e6b-388b8cfa90e1}', 'ID3D11DeviceContext1' not implemented)
  43107  The Witcher 3 fails to detect dx11 - registry dx11>opengl applied
  44422  Vectric Aspire 9 : it does not load 3d images
  45433  dark souls 3: cannot change resolution in fullscreen mode
  45573  League of Legends 8.12+ fails to start a game (anticheat engine, hooking of syscall return instructions)
  45797  NVIDIA GeForce Experience 3.x installer fails due to 'mshtml.OleObject_{Get,Set}Extent' stubs
  47251  add support for ConPTY API (pseudo console)
  47491  dinput event queue is overflowing and stalling the whole game/wineserver
  48396  'cmd.exe /c move file1 file2' doesn't respect non-interactive mode, causing prompt for overwrite if destination file exists
  48397  'cmd.exe /c move file1 file2' doesn't overwrite existing destination file in non-interactive mode
  48952  NVDA hangs on start
  49038  O.E.D.  v 4.0 (Oxford English Dictionary) No longer starts.
  49206  ITHVNR: hooked processes segfault
  49309  vbscript:run test fails in Japanese locale
  49335  Dolphin EasyReader for Windows 6.04 (TTS app) crashes after completing startup wizard (needs IMarkupServices::CreateMarkupPointer method implementation)
  49343  Neverwinter Online: Launcher crash on Startup
  49532  .NET 4.0 and higher fail to install via winetricks
  49591  Multiple GOG installers display the error message "Out of Global Vars range"
  49624  Protocol error: process 0020: recvmsg: Message too long on mac OS
  49643  Calling ClipCursor too frequently can cause stack overflow in foreground window thread.
  49647  wine 5.14 build fails in winegstreamer on Ubuntu 16.04 and Debian 9
  49738  "warning: implicit declaration of function ‘strtoumax’" when compiling PuTTY with Winelib
  49765  SlingPlayer Desktop crashes on unimplemented function msvcrt._snprintf_c
  49770  Firestorm viewer crashes
  49774  macDriver no longer functions within macOS VM
  49806  WIDL doesn't tolerate attribute [hidden] within enums.
  49811  cmd /c "cd "directory"&&"somecommand.exe"" tries to cd to "directory"&&"somecommand.exe"
  49820  VBScript fails to parse decimal literals between -1 and 1 without 0 in front
  49834  45a63e5b3ce0e5d7fcc55ce57f315086b87f8ad7 breaks binary compatibility with 5.0 on passing main() argc
  49847  Logos Bible 8: wineserver always using 100% CPU core
  49850  No One Lives Forever crashes due to GetMotif stub in dmstyle
  49889  wineserver shows failed assertion on shutdown


Tuesday, September 22, 2020

Vkd3d 1.2 Released

 he Wine team is proud to announce that release 1.2 of vkd3d, the Direct3D to Vulkan translation library, is now available.

This release contains improvements that are listed in the release notes. The main highlights are:

  • Availability of libvkd3d-shader as a public library.
  • Support for tessellation shaders.
  • Version 1.1 root signatures.
  • Stream output support.

The source is available here.

What's new in vkd3d 1.2
=======================


*** libvkd3d

- Newly implemented Direct3D 12 features:
  - Multi-sampling.
  - Reserved resources.
  - Instance data step rates. This requires the
    VK_EXT_vertex_attribute_divisor extension.
  - `Private data' APIs for all interfaces.
  - Shader-resource view component mappings.
  - Indirect indexed draws.
  - Indirect draws with a count buffer. This requires the
    VK_KHR_draw_indirect_count extension.
  - Stream output and stream output queries. This requires the
    VK_EXT_transform_feedback extension.
  - Predicated/conditional rendering.
  - Primitive restart.
  - Depth rendering without a pixel shader.
  - Depth clipping. This requires the VK_EXT_depth_clip_enable extension.
  - Rasteriser discard.
  - Dual-source blending.
  - Mapping placed resources.
  - The ReadFromSubresource() and WriteToSubresource() ID3D12Resource methods.
  - Simultaneous access to resources from multiple queues.
  - Null-views. I.e., views without an underlying resource.
  - Several more feature support queries.

- New interfaces:
  - vkd3d_serialize_versioned_root_signature() and
    vkd3d_create_versioned_root_signature_deserializer() provide support for
    versioned root signatures.
  - The vkd3d_application_info structure extends the
    vkd3d_instance_create_info structure, and can be used to pass information
    about the application to libvkd3d. It is analogous to the
    VkApplicationInfo structure in Vulkan. Its `api_version' field should be
    set to the version of the libvkd3d API that the application targets.
  - The vkd3d_optional_device_extensions_info structure extends the
    vkd3d_device_create_info structure, and can be used to pass a list of
    device extensions to enable only when available to libvkd3d. It is
    analogous to the vkd3d_optional_instance_extensions_info structure for
    instance extensions.

- New environment variables:
  - VKD3D_CONFIG can be used to set options that change the behaviour of
    libvkd3d.
  - VKD3D_TEST_BUG can be used to disable bug_if() conditions in the test
    suite.
  - VKD3D_TEST_FILTER can be used to control which tests are run.
  - VKD3D_VULKAN_DEVICE can be used to override the Vulkan physical device
    used by vkd3d.
  See the README for more detailed descriptions and how to use these.

- When the VK_KHR_dedicated_allocation extension is available, dedicated
  allocations may be used for committed resources.

- When the VK_KHR_image_format_list extension is available, it will be used to
  inform the driver about the view formats that a particular mutable Vulkan
  image can be used with. This improves performance on some Vulkan
  implementations.

- When the VK_EXT_debug_marker extension is available, object names set with
  the ID3D12Object SetName() method will be propagated to the underlying
  Vulkan objects.

- Unordered-access view clears are supported on more formats. Previously these
  were limited to integer formats for texture resources, and single component
  integer formats for buffer resources.

- When the D24_UNORM_S8_UINT format is not supported by the Vulkan
  implementation, the D32_SFLOAT_S8_UINT format will be used instead to
  implement the D24_UNORM_S8_UINT and related DXGI formats. This is required
  because the DXGI D24_UNORM_S8_UINT format is mandatory, while the Vulkan
  D24_UNORM_S8_UINT format is optional.

- Various bug fixes.


*** libvkd3d-shader

- libvkd3d-shader is now available as a public instead of an internal library.

- New features:
  - Tessellation shaders.
  - Root signature version 1.1 serialisation, deserialisation, and conversion.
  - Multi-sample masks.
  - Per-sample shading.
  - Early depth/stencil test.
  - Conservative depth output.
  - Dual-source blending.
  - Stream output.
  - Viewport arrays.

- Support for OpenGL SPIR-V target environments. This allows SPIR-V produced
  by libvkd3d-shader to be used with GL_ARB_gl_spirv. This includes support
  for OpenGL atomic counters and combined samplers.

- Preliminary support for shader model 5.1 shaders. This is still a work in
  progress. Notably, support for resource arrays is not yet implemented.

- When the SPV_EXT_demote_to_helper_invocation is available, it will be used
  to implement the `discard' shader instruction instead of using SpvOpKill. In
  particular, this ensures the `deriv_rtx' and `deriv_rty' instruction return
  accurate results after a (conditional) `discard' instruction.

- Support for using SPIR-V specialisation constants for shader parameters.

- Support for more shader instructions:
  - bufinfo,
  - eval_centroid,
  - eval_sample_index,
  - ld2ms,
  - sample_b,
  - sample_d,
  - sample_info,
  - samplepos.

- When built against SPIRV-Tools, libvkd3d-shader can produce SPIR-V shaders
  in text form.

- libvkd3d-shader now has its own environment variable (VKD3D_SHADER_DEBUG) to
  control debug output.

- Various shader translation fixes.


*** vkd3d-compiler

- When supported by libvkd3d-shader, text form SPIR-V is available as a target
  format, in addition to the existing binary form SPIR-V target format.

- Input from standard input, and output to standard output is supported.


*** libvkd3d-utils

- To specify the libvkd3d API version to use when creating vkd3d instances,
  define VKD3D_UTILS_API_VERSION to the desired version before including
  vkd3d_utils.h. If VKD3D_UTILS_API_VERSION is not explicitly defined,
  VKD3D_API_VERSION_1_0 will be used.

- Support for versioned root signatures is provided by the
  D3D12SerializeVersionedRootSignature() and
  D3D12CreateVersionedRootSignatureDeserializer() entry points.


*** build

- The minimum required version of Vulkan-Headers and SPIRV-Headers for this
  release is version 1.1.113.

- The minimum required version of widl for this release is version 3.20.

- If doxygen is available, it will be used to build API documentation. By
  default, documentation will be generated in HTML and PDF formats.

- If debug logs are not required or desired, defining VKD3D_NO_TRACE_MESSAGES
  and VKD3D_NO_DEBUG_MESSAGES will prevent them from being included in the
  build. For example, a release build may want to configure with
  `CPPFLAGS="-DNDEBUG -DVKD3D_NO_TRACE_MESSAGES -DVKD3D_NO_DEBUG_MESSAGES"'.

- Microsoft Windows is now a supported target platform. To create a build for
  Windows, either cross-compile by configuring with an appropriate --host
  option like for example `--host=x86_64-w64-mingw32', or build on Windows
  itself using an environment like MSYS2 or Cygwin.


Friday, September 11, 2020

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

The Wine development release 5.17 is now available.

What's new in this release:

  • ADVAPI32 library converted to PE.
  • Beginnings of an NDIS network driver.
  • Still more restructuration of the console support.
  • 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.17 (total 17):

  22616  Multiple applications need msvcirt.dll.??0ifstream@@QAE@PBDHH@Z (Merriam-Webster Dictionary, Power Tab Editor, gmax 1.2, GradeBook for Windows, Microsoft Reader)
  24182  Multiple games need IDirectDrawMediaStream::Get/SetFormat implementation (Need for Russia, Motocross Madness 2, The Sims Complete Collection)
  30014  Multiple programs require msvcirt.dll.??0ifstream@@QAE@XZ (Wouxun KG-UV2D, Charon, Cricket 2002, Mastercook 15, GraphCalc)
  35782  Tic Tac Toe Game (vbscript) cannot be played (colon used in for loop for placing multiple statements on the same line)
  41005  Deadlight: Director's Cut (UE3, 64-bit) loads to a black screen
  43999  GetVersion incorrectly fails to lie about the OS version when masquerading as Windows 8.1 or 10
  45642  Chrome/Chromium sandbox needs x86-64 syscall thunks to match Windows
  46278  Cisco Jabber 12.5 sends only first letter due to missing richedit:ITextRange functions
  47048  Logitech webcam does not show picture, only grey
  47642  Support conversion from GST_VIDEO_FORMAT_RGB to DirectShow-supported formats (needed by Risk II + native amstream)
  48130  Launching World of Tanks from the shortcut doesn't work
  48407  OllyDbg 2.x segfaults the process after attaching to it
  49125  Logos Bible Software Indexing fails 64bit only 32bit works
  49242  provide some way to get reported windows version via command line
  49749  Visual Studio 2019 installer crashes after unpacking content
  49762  Emulated virtual desktop ignores size set in winecfg
  49805  Pyxel Edit crashes when clicking the "File" dropdown option.