freebsd-ports/emulators/wine
Gerald Pfeifer 71c29c3e16 Update from the Wine 3.0 release series to Wine 4.0.
This represents a year of development effort with over 6,000 individual
changes. Due to regular syncing between the wine-devel port and this
one changes mostly relate to pkg-plist; the biggest difference between
the two is wine-devel featuring a STAGING option to support the Wine
Staging patchset.

Highlights of this new release include Direct3D 12 and Vulkan support,
as well as support for game controllers.

It also goes along with a corresponding minor update of
emulators/wine-mono. [1]

The following is a more detailed list extracted from the full(er) release
notes:

== Direct3D

- Initial support for Direct3D 12. Direct3D 12 support requires the vkd3d
  library, and a Vulkan-capable graphics card - this port now features new
  options, off by default, VKD3D and VULKAN which also pull in additional
  dependencies.
- The Multi-Threaded Command Stream feature is enabled by default.
- OpenGL core contexts are always used by default when available. In
  the previous release, these were already used by default for Direct3D 10
  and 11 applications on AMD and Intel graphics cards. That has been extended
  to all graphics cards, and all versions of Direct3D before 12.
- Among others, the following notable Direct3D 10 and 11 features are
  implemented:
  - Multi-sample textures and views, as well as multi-sample resolves.
  - Per-sample fragment shading.
  - Support for 1D textures.
  - Draws without render target views or depth/stencil views.
  - Multiple viewports and scissor rectangles per draw.
  - Depth clipping control.
  - Depth bias clamping.
  - Stream output without geometry shaders.
  - Several more capability queries.
  - Several more resource formats.
- Several Direct3D 11 interfaces have been updated to version 11.2,
  and several DXGI interfaces have been update to version 1.6. This
  allows applications requiring those newer interfaces to start
  working.
- The Direct3D graphics card database recognizes more graphics cards.

== Graphics

- A complete Vulkan driver is implemented, using the host Vulkan
  libraries under X11.
- Icons in PNG format are supported, enabling loading high-resolution
  256x256 icons.
- The standard icons include a 256x256 version to take advantage of
  the PNG support.
- Many Direct2D interfaces have been updated to version 1.2.
- Polygon drawing in the DIB engine is much faster for large polygons.
- A0, A1 and A2 paper sizes are supported for generic printers.
- Arrows are supported in GdiPlus.

== Kernel

- Support for running DOS binaries under Wine is removed. When execution
  of a DOS binary is requested, an external DOSBox instance is launched.
  This doesn't apply to Win16 binaries, which are still supported internally.
- All the CPU control and debug registers can be accessed by kernel
  drivers, including on 64-bit.
- Events, semaphores, mutexes and timers are implemented in kernel
  mode for device drivers.
- The WaitOnAddress synchronization primitives are supported.
- Reported processor information correctly distinguishes logical and
  physical CPU cores to support hyper-threading.
- The various debugger APIs support manipulating a 32-bit Wow64
  process from a 64-bit process context.
- Application settings, compatibility information and execution levels
  are recognized in application manifests.
- The various file I/O completion modes are implemented.

== User interface

- The infrastructure for setting DPI awareness and scaling of non
  DPI-aware applications is implemented. However, actual scaling of
  window contents is only supported on Android at this point.
  Scaling is disabled by default and can be enabled by setting the
  "DpiScalingVer" value under HKEY_CURRENT_USER\Control Panel\Desktop.
- Window class redirection is supported, enabling support of Common
  Controls version 6 features for standard USER controls like buttons.
- The standard USER controls Button, Listbox, Combobox, Edit and
  Static support version 6 features, including theming.
- The standard Task Dialog is implemented, including support for
  icons, hyperlinks, progress bars, and various other UI elements.
- Cue banners are supported in version 6 of the Edit control.

== Desktop integration

- Exporting MIME-type file associations to the native desktop can be
  disabled with a checkbox under the Desktop Integration tab in
  winecfg.  It can be configured programmatically by setting the
  "Enable" value under HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations.
- The File Dialog can display file properties like size, times and attributes.
- The File Dialog optionally shows the Places toolbar on the left-hand side.
- The shell folder Public is used instead of AllUsersProfile to follow
  the behavior of recent Windows versions.
- The shell File Browser supports keyboard shortcuts to rename (F2 key)
  and delete (Delete key) shell folders.
- Many standard icons are added to the Shell library.
- Shell Autocompletion is supported.
- In desktop mode the taskbar won't be displayed on top of fullscreen
  windows.
- Additional names are provided for standard cursors to better match
  existing X11 cursor themes.

== Internet and networking

- JScript has an EcmaScript compliant mode, which supports a number of
  features not available in legacy mode.
- JavaScript property accessors are supported.
- HTML style object is rewritten to support standard-compliant mode.
- HTML documents respect X-UA-Compatible HTTP header, allowing web
  pages to request specific compatibility mode.
- MSHTML supports non-HTML elements, allowing limited SVG support.
- A number of new HTML APIs are supported.
- The proxy server can be configured through the Internet Control
  Panel applet.
- Stream I/O is implemented in WebServices.
- The Web Services on Devices API (WSDAPI) is implemented, including
  sending and receiving the various message types.
- More system information is reported through WBEM, including CPU,
  BIOS, video controller, and network adapter properties.

== Cryptography

- Asymmetric encryption keys, as well as RSA and ECDSA signature
  verification are supported.
- The GCM and ECB encryption chaining modes are supported.
- Optimal Asymmetric Encryption Padding (OAEP) is supported in RSA
  encryption.
- A Kerberos security provider is implemented, supporting Kerberos
  authentication.
- A selection dialog for public key certificates is implemented.
- If available, GnuTLS is used on macOS in preference to the
  CommonCrypto framework.

== Text and fonts

- Character tables are based on version 11.0.0 of the Unicode Standard.
- The new subpixel font rendering of FreeType >= 2.8.1 is supported.
- When a font face is missing, FontConfig is queried to provide
  possible substitutions.
- The font selected in the console emulator properly scales with the
  display DPI.
- Memory font resources are supported in DirectWrite.
- The builtin Wingdings font contains clock images.

== Audio

- The Windows Media Player interfaces are implemented and support
  media playback.
- An MP3 decoder is provided as DirectX Media Object.

== Built-in applications

- The Ping program provides actual pinging functionality using
  IcmpSendEcho.
- The SchTasks task scheduler program can create and delete tasks.
- The RegEdit registry editor has an improved hex editor for binary
  values.
- FOR loops are properly handled in the Command Interpreter.
- The XCopy program supports the /k (keep attributes) option.

== Internationalization

- The Japanese 106 keyboard is properly supported.
- Translation of timezone names is supported.
- There is a partial translation to the Sinhala language.
- More locales are supported in the Resource Compiler (wrc) and
  Message Compiler (wmc).

== .NET

- 32-bit CIL-only .NET binaries are supported on 64-bit.
- The Mono engine is updated to version 4.7.5 with some upstream Mono
  fixes. Hence this also update the emulators/wine-mono port.

== Installers

- MSI custom actions run in a separate process, enabling proper
  support for mixed 32/64-bit installers.
- Deferred installation actions are supported in MSI.

== Miscellaneous

- The Task Scheduler service and APIs are implemented.
- The Windows Management Instrumentation service is implemented.
- The OPC Services (Open Packaging Conventions, used for Microsoft
  Office XML files) library is implemented.

Approved by:	dbn (blanket) [1]
2019-02-22 11:13:07 +00:00
..
files
distinfo Update from the Wine 3.0 release series to Wine 4.0. 2019-02-22 11:13:07 +00:00
Makefile Update from the Wine 3.0 release series to Wine 4.0. 2019-02-22 11:13:07 +00:00
pkg-descr
pkg-plist Update from the Wine 3.0 release series to Wine 4.0. 2019-02-22 11:13:07 +00:00