Explicitly configure --without-usb. There does not appear to be a way
for the configure test to pass on FreeBSD right now (even with extra
ports available), so this simply makes this explicit and avoids a
warning from configure.
MFH: 2020Q3 (blanket: missing dependency)
Push USES=pkgconfig to the global level instead just contingent on the
VKD3D option.
This makes a real difference for the GNUTLS option (on by default) and
others. Accordingly bump PORTREVISION.
Reported by: Benny Goemans <benny.goemans@belgacom.net>
MFH: 2020Q2 (blanket: missing dependency)
devel/libinotify port does not pull in an implicit dependency that
is not tracked properly.
Reported by: Andy Mender <andymenderunix@gmail.com>
PR: 245172
MFH: 2020Q2 (blanket: missing dependency)
Explicitly configure --without-unwind so that the presence of the
devel/libunwind port does not pull in an implicit dependency that
is not tracked properly.
Reported by: Andy Mender <andymenderunix@gmail.com>
PR: 245172
This commit is the analogous for i386-wine of r528249 that concerns
emulators/i386-wine-devel.
Until now i386-wine defined its own ARCH variable and manually included
Makefile.i386 for i386 systems and Makefile.inc for amd64 systems. This
commit makes use of the standard ARCH variable and renames Makefile.inc to
Makefile.amd64 so that the proper Makefile.${ARCH} is automatically
included.
This requires conditional inclusion bsd.ports.pre.mk and bsd.ports.post.mk
by emulators/wine [1], master port for i386-wine: those files must be
included only if they have not already been included by i386-wine.
Approved by: gerald (mentor, maintainer [1])
This represents a year of development effort with over 7,400 individual
changes. This port and the wine-devel port have been in sync as closely
as possible, and this update is mostly copying over from the -devel port
minus support for the Wine Staging patchset (and STAGING option).
Highlights of this new release include built-in modules in PE format,
multi-monitor support, Vulkan 1.1 support, and an XAudio2 reimplementation.
This also comes with updates of the emulators/wine-gecko and
emulators/wine-mono ports to match their -devel counterparts:
version 2.47.1 for wine-gecko and version 4.9.4 for wine-mono.
And we "lose" four local patches that got integrated or became obsolete
upstream.
The following is a more detailed list extracted from the extensive
release notes:
== 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.
- 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.
== .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 supports 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 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.
== PE modules
- 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.
== 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.
- 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
- 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 FAudio library is used to implement XAudio2.
- The Inotify library is used for file change notifications on BSD
platforms.
- The Video4Linux version 2 library is used instead of version 1.
i386_set_ldt: Invalid argument
Did you reconfigure your kernel with "options USER_LDT"?
PR: 224264
Submitted by: rozhuk.im@gmail.com
Reviewed by: arrowd
MFH: 2019Q3 (documentation to address crash)
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
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]
in r490825. (r490827 addresses the breakage of INDEX which happened in
some scenarios that led to that revert.)
Add a new option, GCC, that controls the use of GCC instead of the
system compiler (usually clang these days) as we have been doing since
r334935 in 2013-11-26. And make that the default, both since there've
been user reports about Wine not working properly with the toolchain
in FreeBSD 12 and since there may be other challenges given that
upstrea and in other distributions GCC is being used all along.
PR: 231010
Reviewed by: mat
Tested by: sbruno
system compiler (usually clang these days) as we have been doing since
r334935 in 2013-11-26. And make that the default, both since there've
been user reports about Wine not working properly with the toolchain
in FreeBSD 12 and there may be other challenges given that upstream
and in other distributions GCC is being used all along. [1]
Also backport part of r488645 | gerald | 2018-12-29 01:53:56 from
emulators/wine-devel:
Create a proper USES block in Makefile, moving the existing USES
statement there.
PR: 231010 [1]
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
Change x11/xorgproto to become a build time dependency when added to
USE_XORG. Change the dependency to be on the port, rather than a file the
port installs.
Fix fallout.
Bump portrevision on depending ports.
PR: 230909
Reviewed by: eadler
Approved by: portmgr (antoine)
Obtained from: https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/xorgproto
exp-run: antoine
Differential Revision: https://reviews.freebsd.org/D16906
Fully disable building Kerberos components.
We already had --without-krb5, alas when someone had krb5 installed
in their build environment, the build still failed. This takes care
using a bigger hammer.
PR: 226396
Analyzed by: John Hein <z7dr6ut7gs@snkmail.com>
in the ports tree (via Mk/bsd.default-versions.mk and lang/gcc) which
has now moved from GCC 6 to GCC 7 by default.
This includes ports
- featuring USE_GCC=yes or USE_GCC=any,
- featuring USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and those
- with USES=compiler specifying one of openmp, nestedfct, c11, c++0x,
c++11-lib, c++11-lang, c++14-lang, c++17-lang, or gcc-c++11-lib.
PR: 222542
Replace explicit settings of CFLAGS and LDFLAGS in favor of USES=localbase
(the former predating the latter by at least a decade alas with variation).
PR: 226396
Submitted by: John Hein <z7dr6ut7gs@snkmail.com>
to wine-mono.
Technically this is not required at this point, since the -devel and
regular ports provide the same versions temporarily, but it sets us up
for when the -devel ports are going to diverge again later.
__FreeBSD_version 1200057, so reduce the window of versions we need a
workaround for to just 1200056.
In the mid term I plan on removing this workaround, but let's keep it
in place for a bit longer for the sake of users on an affected snapshot.
PR: 224863
Thanks to: dim
This represents a year of development effort with over 6,000 individual
changes. Due to regular syncing from the wine-devel port to this one
changes mostly relate to pkg-plist and the two ports mostly differ by
wine-devel featuring a STAGING option to support the Wine Staging
patchset.
Highlights of this new release include Direct3D 10 and 11 support,
Direct3D command stream, and improved DirectWrite and Direct2D support.
The following is a more detailed list:
== Direct3D
- A significant number of Direct3D 10 and 11 features are implemented
in this release, including:
- Compute shaders.
- Hull and domain (tessellation) shaders.
- Stream output.
- Format capability queries.
- A large number of shader model 4 and 5 shader instructions.
- Shader model 4 and 5 interpolation modifiers.
- Shader model 4 and 5 clip and cull distances.
- Indirect draws and indirect compute dispatch.
- Structured buffers.
- Byte addressable buffers.
- Append and consume buffers.
- Unordered access view counters.
- Cube-map arrays.
- Layered rendering to 3-dimensional textures and texture arrays.
- Mip-map generation.
- Conservative depth output.
- Type-less (sub)resource copies.
- Depth bias.
- Support for OpenGL core contexts in Direct3D is improved, to the
point that core contexts are used by default for Direct3D 10 and 11
applications on AMD and Intel graphics cards. As a result, users of
those graphics cards in combination with Mesa OpenGL drivers should
no longer need to set the "MaxVersionGL" registry key to enable
Direct3D 10 and 11 support.
- The Direct3D graphics card database recognizes more graphics cards.
- New HKCU\Software\Wine\Direct3D registry key:
- "csmt" (REG_DWORD)
Enable (0x1) or disable (0x0, default) the multi-threaded command
stream feature described above.
- Deprecated HKCU\Software\Wine\Direct3D registry keys:
- "StrictDrawOrdering"
This has been superseded by the multi-threaded command stream feature.
- "OffscreenRenderingMode"
The "fbo" setting is the only remaining supported value. The
"backbuffer" setting, while still available, is no longer supported.
- Removed HKCU\Software\Wine\Direct3D registry keys:
- "AlwaysOffscreen"
This is always enabled in this release.
- "MultiSampling"
Use the "SampleCount" (REG_DWORD) setting to force a specific
multi-sample anti-aliasing sample count for swapchain render
targets instead.
== Graphics
- Drawing outlines of Direct2D geometry objects.
- Direct2D linear and radial gradient brushes.
- Direct2D compatibility with GDI.
- Bounds computation of Direct2D geometry objects.
- Simplification of Direct2D geometry objects.
- The OpenGL extension list is updated to OpenGL version 4.6.
- The system GLU library is only needed when the Nurbs renderer is
used, all other GLU functions are implemented internally.
- Metafile playback in GdiPlus supports most of the GdiPlus-specific
metafile record types, in addition to the standard metafile records.
- GdiPlus graphics operations take the GDI transform into account.
- Encoding image formats with a palette is supported in WindowsCodecs.
== Kernel
- The default Windows version is set to Windows 7.
- The full semantics of named pipes are implemented, including
message-mode pipes.
- Position Independent Executables are supported, both for the Wine binary
itself and also when starting external binaries.
- Serial and parallel port devices are created automatically, with the
corresponding symlinks in the dosdevices directory. The detected ports
can be overridden through the HKLM\Software\Wine\Ports key.
- Safe DLL search mode is implemented. It is enabled by default, and
can be disabled by setting the "SafeDllSearchMode" value to 0 under
HKLM\System\CurrentControlSet\Control\Session Manager.
- Safe process search mode is implemented. It is disabled by default
but can be requested by the application, and it can be forced by
setting the "SafeProcessSearchMode" value to 1 under
HKLM\System\CurrentControlSet\Control\Session Manager.
- Asynchronous I/O performance is improved by reducing the number of
server calls.
- Memory write watches work correctly when used concurrently with file
I/O on the same buffers.
- Virtual memory allocations can be arbitrarily large on 64-bit platforms.
== User interface
- The built-in mouse cursors are redesigned, and available in higher
resolution for high DPI screens.
- The Shell Explorer, the common dialogs, and the RichEdit control
properly scale on high DPI screens.
- The screen DPI value can be overridden by setting the "LogPixels"
value under HKEY_CURRENT_USER\Control Panel\Desktop.
- In desktop mode, higher display resolutions with various aspect
ratios are supported.
- Task Dialog common control.
- The Internal User Interface is supported in MSI.
- Double-buffered theme painting.
- The TWAIN library supports a user dialog for selecting the scanner
source.
- Device-independent bitmaps and metafiles can be stored into the OLE
Data Cache.
== Desktop integration
- The StartupWMClass field is set in generated desktop files so that
they can be matched to their respective Windows binary.
- Clipboard changes from other X11 applications are detected through
the Xfixes library instead of polling.
- The RichEdit control supports pasting metafiles.
- The Program Manager DDE protocol for manipulating program entries
and groups is implemented.
- The HID service for detecting Plug & Play devices is active by default.
== Text and fonts
- Contextual glyph substitution is supported in UniScribe.
- Character tables are based on version 10.0.0 of the Unicode Standard.
- The Nepali and Bangla (India) locales are supported.
- Font support is compatible with the new behaviors introduced in
FreeType version 2.8.1.
== DirectWrite
- Trailing line trimming signs in both character and word modes is
supported.
- Cluster wrapping mode.
- Uniform and proportional line spacing methods.
- Oblique and bold simulation is also supported in bitmap rendering mode.
- Per-factory cache is thread safe.
- Overhang metrics evaluation for layouts.
- In-memory font file loader is implemented and is available to
applications.
== D3DX
- Support for D3DX 9 preshaders is improved.
- Support for D3DX 9 application defined effect state managers
(ID3DXEffectStateManager).
- Using effect pools to share effect parameters between D3DX 9 effects.
== Internet and networking
- UDP/TCP listeners are implemented in Web Services.
- Web Services supports the .NET Binary Format, including the string
table extension.
- Web Services supports the .NET Message Framing Protocol.
- Asynchronous support is enabled for receiving messages in Web Services.
- HTML event handling is rewritten to support standard-compliant mode.
- Multiple new standard-compliant HTML APIs are supported. HTML document
mode support is improved to preserve compatibility with documents
expecting legacy behavior.
- The WebBrowser control supports MHTML files.
- Embedding HTML documents in .NET applications is better supported.
- WinHTTP correctly parses cookie attributes.
== Cryptography
- Cryptographic hashes are implemented internally instead of relying
on GnuTLS.
- AES encryption is supported.
- The Microsoft Root Certificate 2011 is added to the list of known
Microsoft certificates.
- The Mono and Gecko add-on packages are verified with SHA256 checksums.
== Built-in applications
- Registry importing and exporting in RegEdit is reimplemented for
better compatibility. Windows 3.1 registry files can also be imported.
Registry files are exported to Unicode format by default.
- RegEdit always shows the 64-bit view of the registry on 64-bit prefixes.
- The Reg.exe registry manipulation tool supports importing and exporting
registry files.
- The command interpreter implements the MKLINK command.
- The command interpreter supports escape characters in the prompt string.
- WineMine shows a confirmation dialog before resetting the best scores.
== Tools
- The IDL compiler (widl) handles C++ aggregate returns in an
MSVC-compatible way.
- The resource compiler (wrc) supports translating version resources
through the po files.
- The Wine debugger (winedbg) supports printing floating point and SSE
register state.
- All Perl scripts that parse XML use the standard XML::LibXML module.
- The obsolete wineinstall tool is removed.
== Miscellaneous
- XAudio supports float audio formats with more than 2 channels.
- The Scheduler and related classes are supported in the C++ runtime.
- SQL driver installation is supported in ODBC.
- The ProgramData well known directory is supported.
- The Mono engine is updated with upstream Mono fixes, and supports
the Mono profiler API version 2.
- The thread id is always displayed in debug traces.
since that compiler crashes.
(There may be a way to work around this in Wine, but that is unlikely
to be accepted for the stable release branch.)
PR: 224863
Configure --without-krb5 aka Kerberos support. This should not make a
real difference (and definitely not for clean builds), but makes this
explicit and also avoids a configure warning.
is partly to sync wine and wine-devel as closely as possible before the
pending new major release of Wine, partly to make builds more reproducible
outside of a strict build environment (there should be no change for "pure"
builds).
r454242 | gerald | 2017-11-15
[G]enerally disable PulseAudio support, not just for the
Wine Staging case (where this originally only existed). [1]
r458393 | gerald | 2018-01-08
Configure --without-udev since FreeBSD does not feature udev support
as such. (This should not be a practical change, but makes this explicit
and also avoids a configure warning.)
PR: 195765 [1]
Reported by: dbn [1]
- Various bug fixes
- Updates to the National Language Support files
- Documentation updates
On the way backport r454456 from emulators/wine-devel where it has sat
for seven weeks now:
Explicitly add x11 and xext to USE_XORG (when the X11 option is set),
both of which were pulled in implicitly so far. [1]
Reported by: Mk/Scripts/qa.sh via dbn@ [1]
(via Mk/bsd.default-versions.mk and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++11-lang,
c++14-lang, c++0x, c11, or gcc-c++11-lib.
PR: 219275