Wine is een opensource-implementatie van de Windows-api. De software maakt het mogelijk om DOS- en Windows-programma's op onder andere Linux, FreeBSD en Solaris te draaien. Een grote groep ontwikkelaars draagt bij aan Wine en er is voor gekozen om elke twee weken een nieuwe zogeheten ontwikkelversie uit te brengen, in plaats van te wachten tot er een aantal nieuwe functies klaar is. Het is de eerste stabiele release sinds 1.4 en volgens de makers zijn er in totaal 10.000 veranderen aangebracht. De belangrijkste wijzigingen in deze release zijn de nieuwe OS X driver, support voor transparante vensters en een nieuwe Mono-package voor ondersteuning van .NET-applicaties Het changelog van deze release ziet er als volgt uit:
What's new in Wine 1.6
*** User interface
- Window transparency is supported, including both color keying and
alpha blending transparency.
- All window rendering is done on the client-side using the DIB engine
(except for OpenGL rendering). This means that rendering to windows
or bitmaps gives identical results.
- Common dialogs correctly scale with the screen DPI resolution.
- In virtual desktop mode, shortcuts placed in the Desktop folder are
displayed on the desktop, and can be used to launch applications.
- The HTML Help control has better support for non-ASCII characters,
and for multiple help windows.
- Custom painting and images are better supported in listview
- Input validation is improved in the date and calendar controls.
*** Mac driver
- A native Mac OS X driver is implemented, for better integration with
the Mac desktop environment. The full range of driver features are
supported, including OpenGL, window management, clipboard, drag &
drop, system tray, etc.
- X11 is no longer needed on Mac OS X, but the X11 driver is still
supported, e.g. when running remotely.
Note: the Mac driver requires Mac OS X 10.6 or later, it cannot be
built or used on 10.5.
- FontConfig is no longer needed on Mac OS X and is disabled by
default, system fonts are enumerated using the Core Text API
*** X11 driver
- X11 server-side font rendering is no longer supported. All fonts are
rendered client-side using FreeType.
- The big lock around all X11 calls has been removed, we rely on the X
libraries internal locking for thread safety.
- XRandR versions 1.2 and 1.3 are supported.
- There are significant performance improvements in the DIB engine,
particularly for text rendering, bitmap stretching, alpha blending,
- Bounds tracking is supported for all graphics primitives, to enable
copying only the modified portions of a bitmap.
- OpenGL rendering is supported in device-independent bitmaps using libOSMesa.
- Brush dithering is implemented in the DIB engine.
- Path gradients are implemented in GdiPlus.
- More image codecs features are implemented, including JPEG encoding,
palette formats, and meta-data support for various image types.
*** Text and fonts
- Sub-pixel font anti-aliasing is supported in the DIB engine, using
the system anti-aliasing configuration from FontConfig.
- Dynamic loading of scalable font resources is supported.
- Text layout in Uniscribe supports character-specific position
adjustments. Right-to-left text handling is also improved.
- There is an initial implementation of the DirectWrite text layout
- Built-in fonts are more complete, with the addition of FixedSys and
Wingdings fonts, more high-resolution pixel fonts, and a wider range
of glyphs in the existing fonts, notably Arabic glyphs in Tahoma.
- Bi-directional text support is improved in the RichEdit control.
*** Input devices
- The raw input API is supported for keyboard and mouse input.
- There is a joystick applet in the control panel, to allow
configuring joysticks and testing their behavior.
- Force feedback is supported for Mac OS X joysticks.
- DOSBox is tried first when running a DOS application. The Wine DOS
support is only used as a fallback when DOSBox cannot be found, and
will be removed in a future release.
- A monotonic time counter is used on platforms that support it, to
make timers more robust against system time changes.
- File times are reported with nanosecond resolution.
- Wine can be configured to report the Windows version as 'Windows 8'.
*** .NET support
- The Mono runtime is packaged as an MSI file, and its installation
can be managed from the "Add/Remove Programs" control panel. It is
automatically installed on Wine prefix updates.
- .NET mixed mode assemblies are supported.
- The Microsoft .NET 4.0 runtime can be installed for cases where Mono
is not good enough yet.
*** OLE / COM
- The typelib writer is reimplemented for better compatibility.
- OLE DB supports more data types and conversions.
- OLE automation manages a cache of string allocations for better
performance and compatibility.
*** Internet and networking
- HTTPS connections use GnuTLS (or Secure Transport on Mac OS X).
OpenSSL is no longer used.
- The TLS 1.1 and TLS 1.2 protocols are enabled by default, with
automatic fallback to TLS 1.0. The SSL2 protocol is disabled by
- Security certificate validation errors are handled better.
- NTLM and Negotiate authentication protocols are supported.
- ActiveX controls can be downloaded and installed automatically.
- Internet proxy bypass is supported, and can be enabled either
through the registry or with the no_proxy environment variable.
- Broadcast packets can be received on interface-bound sockets, which
is needed for some networked multi-player games.
- The Server Name Indication TLS extension is supported.
- Persistent cookies are supported, and URL cache files are managed
better. The Internet control panel allows clearing saved cookies and
- Punycode encoding for Internationalized Domain Names is supported.
is preferred over the Gecko one in most cases.
- Many more built-in functions of VBScript are implemented. Regular
expressions are also supported.
- The Gecko engine is updated to the version from Firefox 21.
- The Gecko and Mono installers are cached upon download, to allow
installation in multiple Wine prefixes without additional downloads.
- The Direct3D 9Ex implementation is more complete. In particular:
- IDirect3DDevice9Ex::PresentEx is implemented.
- IDirect3DDevice9Ex::ResetEx is implemented.
- Various Direct3D 9Ex display mode handling functions are implemented.
- Direct3D 9Ex style video memory accounting is implemented.
- Like the X11 driver, WineD3D no longer uses the big X11 lock when
making GL calls.
- The WineD3D graphics card database is updated to recognize more
- The fallback card detection code for unrecognized graphics cards is
improved. This results in a more reasonable card being reported when
the graphics card is not already in the WineD3D database.
- WineD3D has GLSL based implementations of Direct3D fixed-function
vertex and fragment processing. In some cases this allows
functionality that's not present in fixed-function OpenGL to be
implemented, in other cases it allows functionality to be
implemented in a more efficient way.
- On drivers that support it, GL_ARB_debug_output is used to get more
detailed debugging output from the OpenGL driver.
- On drivers that support it, GL_ARB_framebuffer_sRGB is used for
rendering to frame buffers in the sRGB color space.
- On drivers that support it, GL_ARB_instanced_arrays is used for more
efficient instanced drawing.
- On drivers that support it, and return useful information,
GL_ARB_internalformat_query2 is used for more accurate reporting of
surface / texture format capabilities.
- There is an initial implementation of a HLSL compiler.
- Improvements to various parts of the D3DX9 implementation, including:
- The surface and texture handling functions. This includes code for
loading, saving, filling, and rendering to surfaces and textures.
- The effects framework.
- The constant table implementation.
- A number of spherical harmonics functions have been implemented.
- Support for .x files.
- Improvements to the Direct3D 10 implementation, including:
- Support for more shader model 4 opcodes and register types.
- Support for shader model 4 indirect addressing.
- Initial geometry shader support.
- Improved binary effect parsing.
- Support for Direct3D 10 style instanced draws, using
- Vertex buffers are created with WINED3DUSAGE_DYNAMIC when locked with
DDLOCK_DISCARDCONTENTS, resulting in improved performance in some cases.
- The 2D-only fallback in WineD3D for using DirectDraw without a
working OpenGL implementation is more robust. Note that this still
isn't a recommended configuration.
*** Audio and video
- DirectSound has a better resampler.
- Audio device enumeration is improved, and multi-channel devices are
- VMR-9 video rendering is implemented.
*** Printer support
- The PPD files of already installed printers are automatically
refreshed when needed.
- Printing resolution can be configured from the print dialog.
- Simulated italic fonts can be printed.
- On Mac OS X, the default paper size is retrieved from the system
- Japanese vertical text is correctly supported.
- Translated font names are used when there is a match for the current
- Wine is translated to French, German, Spanish, Italian, Dutch,
Swedish, Finnish, Portuguese, Catalan, Hungarian, Polish, Danish,
Russian, Slovenian, Lithuanian, Chinese, Japanese, Korean, and
Arabic. It has partial translations for another fifteen languages.
- Various additional Mac OS code pages are supported, namely Japanese,
Traditional Chinese, Korean, Simplified Chinese, Romanian,
Ukrainian, Thai, and Croatian code pages. This improves support for
loading translated font names from Mac OS font files.
*** Built-in applications
- The new 'netstat' application displays information about active
- The 'cabarc' application supports multi-cabinet archives.
- The 'attrib' application supports recursing in sub-directories.
- The 'ipconfig' application can display IPv6 addresses.
- The 'start' application allows setting process priority and affinity.
- The 'cmd' application support arithmetic variable expansion,
comparison operators, and various extra features in 'for' loops.
- All graphical built-in applications have a 256x256 icon for use with
the Mac driver.
*** Build environment
- The configure script uses pkg-config when possible to find library
dependencies. Compiler and linker flags can be passed explicitly for
each dependency to override pkg-config where necessary.
- The IDL compiler supports nameless structs and unions and generates
portable C code for them.
- The IDL compiler generates the same header guards as the Microsoft
one for better header compatibility.
- Generated assembler files are built by invoking the C compiler when
possible, for better compatibility with the Clang tool chain.
- The Winedump tool can display the contents of typelib files.
- The Fnt2bdf tool has been removed since X11 server-side fonts are no
*** Platform-specific changes
- On Linux, dynamic device management supports the UDisks2 service.
- On Mac OS X, the Recycle Bin is mapped to the Mac OS Trash.
- Debugging support for ARM platforms is improved, including the
ability to display ARM assembly in the Wine debugger, and support
for relay tracing.
- Building Wine for the ARM64 platform is supported.
- There is preliminary support for building Wine for Android using the
- The DragonFly FreeBSD variant is supported.
- The Alpha and Sparc platforms are no longer supported.
- XML namespaces are better supported. XML parsing is also implemented
in the XMLLite library.
- Windows Management Instrumentation (WMI) is implemented, with a wide
range of WBEM system classes.
- A number of forwarding libraries are added to support the API Sets
feature added in Windows 8.
- More of the latest functions of the C runtime are implemented,
particularly the locale functions. Exception handling and RTTI are
supported on 64-bit.
- The standard C++ class libraries are more complete, particularly the
math functions and the stream classes.
*** New external dependencies
- LibOSMesa is used for OpenGL rendering to device-independent bitmaps.
*** Useful configuration options
Note: More details about these and other configuration options can be
found at http://wiki.winehq.org/UsefulRegistryKeys
- Client-side window rendering can be disabled if necessary by setting
"ClientSideGraphics" to "N" under HKCU\Software\Wine\X11 Driver.
- On Mac OS X, in case an application doesn't work properly with the
Mac driver, it is possible to go back to the X11 driver by setting
"Graphics" to "x11" under HKCU\Software\Wine\Drivers.
- Some X11 compositors do not cope properly with transparent windows
that use non-rectangular shapes. In that case, window shaping can be
disabled by setting "ShapeLayeredWindows" to "N" under
- The "VertexShaderMode" and "PixelShaderMode" settings under
HKCU\Software\Wine\Direct3D have been replaced by the "MaxShaderModelVS",
"MaxShaderModelGS" and "MaxShaderModelPS" (DWORD) settings. These allow
limiting the maximum supported shader model version. Setting these to 0
disables support for the corresponding shader type, like "VertexShaderMode"
and "PixelShaderMode" did.
- The default value for the "AlwaysOffscreen" setting under
HKCU\Software\Wine\Direct3D is "enabled". It can still be disabled
by setting it to "disabled".
*** Known issues
- The addition of DirectWrite causes Steam to be unable to display
text. This can be fixed either by setting dwrite.dll to disabled for
steam.exe using Winecfg, or by running Steam with the -no-dwrite
- The removal of the big X11 lock can reveal locking bugs in old Xlib
versions, notably on RHEL 5. The only solution is to upgrade the X