The Wine team is proud to announce that the stable release Wine 1.6 is now available. This release represents 16 months of development effort and around 10,000 individual changes. The main highlights are the new Mac driver, the full support for window transparency, and the new Mono package for .NET applications support. It also contains a lot of improvements across the board, as well as support for many new applications and games. See the release notes below for a summary of the major changes. The source is available from the following locations: http://prdownloads.sourceforge.net/wine/wine-1.6.tar.bz2 http://mirrors.ibiblio.org/wine/source/1.6/wine-1.6.tar.bz2 Binary packages for various distributions will be available from: http://www.winehq.org/download You will find documentation on http://www.winehq.org/documentation You can also get the current source directly from the git repository. Check http://www.winehq.org/git for details. Wine is available thanks to the work of many people. See the file AUTHORS in the distribution for the complete list. ---------------------------------------------------------------- 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 controls. - 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 instead. *** 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. *** Graphics - There are significant performance improvements in the DIB engine, particularly for text rendering, bitmap stretching, alpha blending, and gradients. - 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 engine. - 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. *** Kernel - 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 default. - 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 cache files. - Punycode encoding for Internationalized Domain Names is supported. - JavaScript performance is improved. The built-in JavaScript engine 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. *** Direct3D - 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 graphics cards. - 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 GL_ARB_draw_instanced. *** DirectDraw - 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 better supported. - 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 configuration. *** Internationalization - Japanese vertical text is correctly supported. - Translated font names are used when there is a match for the current language. - 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 network connections. - 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 longer used. *** 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 Android NDK. - The DragonFly FreeBSD variant is supported. - The Alpha and Sparc platforms are no longer supported. *** Miscellaneous - 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 HKCU\Software\Wine\X11 Driver. - 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 option. - 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 libraries. -- Alexandre Julliard julliard at winehq.org