456 lines
14 KiB
Plaintext
456 lines
14 KiB
Plaintext
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
|