| The Wine team is proud to announce that the stable release Wine 1.8 |
| is now available. |
| |
| This release represents 17 months of development effort and around |
| 13,000 individual changes. The main highlights are the implementation |
| of DirectWrite and Direct2D, and the new Pulse Audio driver. |
| |
| 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://dl.winehq.org/wine/source/1.8/wine-1.8.tar.bz2 |
| http://mirrors.ibiblio.org/wine/source/1.8/wine-1.8.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.8 |
| ====================== |
| |
| |
| *** Text and fonts |
| |
| - DirectWrite is implemented, and works for a number of |
| applications. The implemented functionality includes: |
| - Font file loading from system or custom font collections. |
| - Building font families by combining similar font faces. |
| - Font matching algorithm using weight/width/slope model. |
| - Basic text layout support. |
| - Bi-directional level resolution and line breaks resolution. |
| - GDI interoperability API, including rendering to DIB section base target. |
| - Rendering to arbitrary target with generic rendering interface. |
| - Generating black&white and grayscale alpha bitmaps. |
| |
| - Bold glyphs can be synthesized for outline fonts. |
| |
| - Multiple replacements can be specified for a single font by using a |
| multi-string entry under HKCU\Software\Wine\Fonts\Replacements. |
| |
| - Vertical text uses the Unicode data tables for more accurate |
| character ranges support. |
| |
| - Character tables are based on version 8.0.0 of the Unicode Standard. |
| |
| - The built-in Wingdings font contains more glyphs. |
| |
| - Unicode bracketing pairs are supported in Uniscribe. |
| |
| - The RichEdit control uses Uniscribe for more accurate text rendering. |
| |
| - Hebrew and Arabic Mac OS code pages are supported. This improves |
| support for loading translated font names from Mac OS font files. |
| |
| |
| *** Graphics |
| |
| - Direct2D is supported. Among the implemented features are: |
| - DXGI surface and WIC bitmap render targets. |
| - Geometries defined by straight lines and cubic Bézier curves. |
| - Drawing text. |
| - Bitmaps. |
| - Solid color brushes and bitmap brushes. |
| - Opacity brushes. |
| |
| - PNG files can be encoded in interlaced mode. |
| |
| - Gamma information can be loaded from PNG files. |
| |
| - Animated GIFs are correctly supported in GdiPlus. |
| |
| |
| *** Direct3D |
| |
| - Direct3D 11 is supported, to about the same level as Direct3D 10. |
| |
| - Simple applications using Direct3D 10 are supported. There are still |
| many unimplemented features. Direct3D 10 requires support for at |
| least OpenGL 3.2 and GLSL 1.50. Some of the changes and supported |
| features include: |
| - Several resource update operations are implemented. |
| - Many more shader model 4 opcode are recognized. |
| - Constant buffers are supported. |
| - The various resource views are implemented. |
| - The various state objects are implemented. |
| - Stateblocks are implemented. |
| |
| - A number of new DXGI 1.1 interfaces are implemented. This benefits Direct3D |
| 10 and 11 applications. |
| |
| - Direct3D applications correctly minimize and restore the display |
| mode on focus loss. |
| |
| - Fixed function vertex blending is implemented. This requires GLSL support. |
| |
| - Per-vertex point sizes are supported. This requires GLSL support. |
| |
| - The wined3d graphics card database recognizes more graphics |
| cards. The graphics card detection code is simplified and |
| improved. More reasonable fallbacks are picked for unrecognized |
| graphics cards. |
| |
| - On drivers that support it, GL_ARB_texture_mirror_clamp_to_edge or |
| GL_EXT_texture_mirror_clamp are used to implement the "mirror once" |
| texture addressing mode. Previously this required |
| GL_ATI_texture_mirror_once. |
| |
| - GL_ARB_depth_clamp is no longer required to correctly draw pre-transformed |
| vertices with disabled z-buffering. This helps older graphics cards that |
| can't correctly implement GL_ARB_depth_clamp. |
| |
| - On drivers that support it, GL_ARB_blend_func_extended is used to |
| implement the D3DBLEND_SRCALPHASAT blend factor. |
| |
| - On drivers that support it, GL_ARB_sampler_objects is used to apply |
| sampler states independently of the texture object they apply |
| to. This helps applications that bind the same texture to multiple |
| texture stages, but with different sampler states. |
| |
| - On drivers that support it, GL_EXT_texture_snorm is used to support |
| signed (normalized) texture formats. These are typically used for |
| bump mapping. Previously these formats required either |
| GL_NV_texture_shader, or fixups when loading and using them. |
| |
| - On drivers that support is, GL_ARB_timer_query is used to support |
| Direct3D 9 timestamp queries. |
| |
| - Texture format restrictions are more strictly enforced. This allows |
| applications to fall back to a different format instead of continuing with |
| broken rendering. |
| |
| - Direct3D 9 D3DTSS_CONSTANT texture stage constants are supported. |
| |
| - Color keyed blits can be done by the graphics card. Previously these |
| needed to be done by the CPU. |
| |
| - NV12 surfaces are supported. This is used by some applications for |
| playing back video. |
| |
| - ATI1N textures and surfaces are supported, in addition to ATI2N |
| textures and surfaces. This requires support for |
| GL_ARB_texture_compression_rgtc from the OpenGL driver. |
| |
| - When GLSL is supported, lighting for Direct3D 1-3 is more |
| correct. However, for most application the difference will only be |
| very slight. |
| |
| - The IDirect3DSwapChain9Ex interface is supported. |
| |
| - OpenGL core contexts, OpenGL ES contexts, and multi-threaded OpenGL |
| command submission (known as "CSMT") have been added, however that |
| work is not finished yet. |
| |
| |
| *** DirectDraw |
| |
| - SetCooperativeLevel() works better, affecting DirectDraw exclusive |
| mode in particular. |
| |
| - DirectDraw surface flipping is more correct. This affects applications that |
| use more than 1 back buffer in particular. |
| |
| - DirectDraw palette handling is better supported. This mostly affects |
| older applications using 8-bpp display modes (but not exclusively.) |
| |
| - "Client memory" surfaces are better supported, in particular related |
| to the handling of pitch and texture compression. |
| |
| |
| *** Audio and video |
| |
| - A Pulse Audio driver is implemented. It is selected automatically |
| when Pulse Audio is running. |
| |
| - 5.1 surround sound is supported in DirectSound. Stereo is the |
| default, but other speaker configurations can be set through the |
| Audio tab in Winecfg. |
| |
| - XAudio2 is implemented, based on the OpenAL Soft library. |
| |
| - The OpenAL library defaults to the native version. |
| |
| - The Video Mixing Renderer version 7 is implemented. |
| |
| - AVI file encoding and compression is implemented. |
| |
| |
| *** Kernel |
| |
| - Wine can be configured to report the Windows version as 'Windows |
| 8.1' and 'Windows 10'. |
| |
| - Keyed event synchronization objects are implemented. |
| |
| - The "init once" synchronization mechanism is supported. |
| |
| - Condition variables are implemented. |
| |
| - Slim Reader/Writer locks are implemented. |
| |
| - Activation contexts are used for loading DLLs, type libraries, and |
| COM classes, avoiding the need for explicit registration. |
| |
| - Windows devices support read and write operations in addition to I/O |
| controls. They can be remapped directly to existing Unix devices. |
| |
| - Thread local storage is supported in dynamically loaded libraries. |
| |
| - Process jobs are implemented. |
| |
| - The Task Scheduler service is implemented. |
| |
| - The UTF-7 encoding is supported. |
| |
| - ATL thunk emulation supports a wider range of possible instructions. |
| |
| - Process and thread affinity is supported even with a large number of |
| processors. |
| |
| - Dynamic DST (Daylight Saving Time) is supported through the |
| registry. Timezone data is updated for a number of timezones. |
| |
| - USER_SHARED_DATA access is emulated on x86-64 platforms. |
| |
| - The new thread pool API is supported. |
| |
| - OpenMP (parallel programming API) is implemented. |
| |
| - Preliminary support for HID devices is implemented, but it's not |
| enabled yet. |
| |
| |
| *** User interface |
| |
| - There is an optional Start Menu in desktop mode, that can be enabled |
| on a per-desktop basis by setting "EnableShell" to "Y" under |
| HKCU\Software\Wine\Explorer\Desktops\<name>. |
| |
| - The standard Open File dialog supports a drop-down menu for file |
| manipulations. |
| |
| - The 'My Documents' folder links to the XDG or Mac OS X 'Documents' |
| folder if it exists. |
| |
| - Many more shell Known Folders are supported. |
| |
| - Scrollbar theming is implemented. Theming of other controls also |
| works better. |
| |
| - The Toolbar common control can save and restore its state. |
| |
| |
| *** Mac OS X support |
| |
| - The 64-bit architecture is supported on Mac OS X; however, it's not |
| 100% compatible with Win64, because of the OS X non-standard 64-bit |
| ABI. |
| |
| - Memory size is reported accurately on Mac OS X. |
| |
| - Joysticks are supported at the WinMM level on Mac OS X. |
| |
| - Debugging information and stack unwinding are improved on Mac OS X. |
| |
| - Trash folder enumeration is supported on Mac OS X. |
| |
| - All mouse events are supported in the system tray with the Mac driver. |
| |
| - Window maximization is supported in the Mac driver. |
| |
| - The Cocoa-style full-screen mode is supported in the Mac driver. |
| |
| - Multiple keyboard layouts are supported in the Mac driver. |
| |
| |
| *** X11 driver |
| |
| - X Drag & Drop protocol version 5 is supported. |
| |
| - Flashing a window caption is implemented in the X11 driver using the |
| NET_WM_STATE_DEMANDS_ATTENTION style. |
| |
| |
| *** OLE / COM |
| |
| - OLE Storage files support file locking, and sizes larger than 4 GB. |
| |
| - Type libraries are registered correctly on 64-bit setups. |
| |
| - 32-bit type libraries can be loaded from 64-bit programs. |
| |
| - The OLE data cache supports DIB images. |
| |
| - The RPC interface to control Windows services is compatible with the |
| native version. |
| |
| - OLE Accessible Objects are implemented for better accessibility support. |
| |
| |
| *** Internet and networking |
| |
| - The Gecko engine is updated to the version from Firefox 40. Many |
| more objects and properties are implemented in MSHTML. |
| |
| - Internet proxies can be configured automatically. |
| |
| - RPC over HTTP supports the NTLM and Negotiate authentication |
| schemes. |
| |
| - The Web Services API is partially implemented. |
| |
| - Download of Gecko and Mono add-ons can be canceled from the |
| progress dialog. |
| |
| - Conditional compilation is supported in JavaScript. |
| |
| - Arrays, math functions, and exception unwinding are implemented in |
| VBScript. |
| |
| - Remote network shares can be configured using Samba's NetAPI library. |
| |
| - The Packet Capture DLL is implemented. |
| |
| - Network interface change notifications are implemented. |
| |
| - IPv6 DNS addresses are supported in IphlpAPI. |
| |
| - The Deflate content encoding is supported in Wininet. |
| |
| - The TransmitFile API is implemented in Windows Sockets. |
| |
| - The BITS file transfer service is better supported. |
| |
| |
| *** Printing |
| |
| - Vertical text is supported when printing through the PostScript driver. |
| |
| - The PostScript driver generates standard glyph names when possible. |
| |
| - Monochrome printers are better supported, in particular when |
| printing color images. |
| |
| - Collation is supported in the PostScript driver. |
| |
| |
| *** Miscellaneous |
| |
| - Windows Management Instrumentation (WMI) implements several more |
| WBEM system classes. |
| |
| - Applying installation patches is better supported in MSI. |
| |
| - Hyperlink controls are supported in installers. |
| |
| - More recent versions of the C/C++ runtimes are supported, including |
| the new UCRTBASE library. The old MSVCIRT C++ runtime is also |
| partially implemented. |
| |
| - Version 9, 10, and 11 of ATL (Active Template Library) are |
| implemented. |
| |
| - The Windows Scripting Runtime supports many more classes, including |
| file and folder collections and dictionaries. |
| |
| - Writing XML files is implemented. |
| |
| - The Invariant locale is supported. |
| |
| |
| *** Built-in applications |
| |
| - The 'taskmgr' application displays whether processes are running |
| under WoW64. |
| |
| - The 'regedit' tool better supports import/export of registry files. |
| |
| - The 'wineconsole' tool supports configuring the insert/overwrite |
| mode in the settings dialog. |
| |
| |
| *** Platform-specific changes |
| |
| - System and hardware information is properly reported on ARM |
| platforms. |
| |
| - WoW64 mode is supported for the ARM64 platform. |
| |
| - The 64-bit architecture is supported on Android. |
| |
| - Binaries are built as PIE on Android, for compatibility with Android |
| version 5. |
| |
| |
| *** Build environment |
| |
| - Source files can be shared across DLLs, to allow building multiple |
| versions of a DLL from the same source. This is more compatible than |
| forwarding calls to a single master DLL. It's used mainly for the |
| C/C++ runtime libraries. |
| |
| - #pragma directives are supported in various source files to specify |
| dependencies, for more accurate makefile generation. |
| |
| - The IDL compiler supports WinRT namespaces. |
| |
| - The message compiler uses mo files instead of po files for faster |
| processing. |
| |
| - Architecture-specific compile flags like -march= are supported in |
| Winegcc and passed along to the assembler. |
| |
| |
| *** New external dependencies |
| |
| - liblcms2 is used instead of liblcms version 1. |
| |
| - libnetapi from Samba is used for configuring remote network shares. |
| |
| - libpcap is used to implement the Packet Capture DLL. |
| |
| - libpulse is used by the Pulse Audio driver. |
| |
| - The OpenAL Soft library is used to implement XAudio2. |
| |
| - The prelink tool is no longer necessary as long as the linker |
| supports the -Ttext-segment option. |
| |
| |
| *** Known issues |
| |
| - Since the support for OpenGL core contexts in WineD3D is not |
| complete enough yet, Direct3D 10 and 11 need to be supported in a |
| legacy context / the compatibility profile, which means that they |
| currently don't work on Mesa. |
| |
| - Setting the PULSE_LATENCY_MSEC variable was sometimes necessary with |
| the Alsa audio driver, but it can cause trouble with the Pulse |
| driver. It is recommended to unset the variable. |
| |
| -- |
| Alexandre Julliard |
| julliard@winehq.org |