Jump to content
Compatible Support Forums
Sign in to follow this  
news

Wine release 1.2

Recommended Posts

The Wine team is proud to announce that the stable release Wine 1.2 is

now available.

 

This release represents two years of development effort and over

23,000 changes. The main highlights are the support for 64-bit

applications, and the new graphics based on the Tango standard.

 

It also contains a lot of improvements across the board, and over

3,000 bug fixes. See the release notes below for a summary of the

major changes.

 

The source is available from the following locations:

 

http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.2.tar.bz2

http://prdownloads.sourceforge.net/wine/wine-1.2.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.2

======================

 

*** Core functionality

 

- Loading and running 64-bit Windows applications is now supported on

x86-64 processors (only on Linux at this point).

 

- There are now two flavors of Wine prefixes, 32-bit and

64-bit. 32-bit prefixes only support 32-bit applications, while

64-bit prefixes support both 32-bit and 64-bit applications. The

prefix flavor is set at prefix creation time and cannot be changed

afterwards, since all the files and registry entries are in

different locations. Backwards compatibility is ensured by

considering all prefixes created with older Wine versions to be

32-bit.

 

- WoW64 file system redirection is supported now. When running a

32-bit application in a 64-bit prefix, accesses to the

window/system32 directory are automatically redirected to

windows/syswow64.

 

- WoW64 registry redirection is now supported in 64-bit prefixes. This

allows both 32-bit and 64-bit applications to set platform-specific

registry keys without stepping on each other.

 

- All the 16-bit support code has been moved to a set of independent

16-bit modules. No 16-bit code is loaded or initialized when running

a standard Win32 application, unless it starts making 16-bit calls.

 

- The mount manager now reports the actual UUID for disk devices that

support it instead of a hard-coded one.

 

- Symbolic links are now supported in the registry.

 

- The C runtime libraries msvcr80, msvcr90 and msvcr100 used by recent

Visual C++ versions are now partially implemented.

 

- Some functions now use a Microsoft-compatible function prologue when

building with a recent enough gcc. This allows Steam overlays to

work.

 

 

*** User interface

 

- There are new icons for all the built-in applications, as well as

for the standard toolbars and images. The icons are based on the

Tango set for a nicer integration with the native Unix desktop look.

 

- Animated cursors can now be loaded, though only the first frame of

the animation is used as a static cursor.

 

- The mouse cursor is now updated correctly in applications that

create windows from different threads, like Internet Explorer.

 

- The standard print and page setup dialogs are working much better

now.

 

- There is now an application wizard control panel to manage installed

applications.

 

- Rendering of bi-directional text is now supported reasonably

well. There is also some support for Arabic text shaping.

 

- Many features of the RichEdit control are improved, particularly

support for tables, URL detection, cursor positioning, scrollbar

management, and support for windowless controls.

 

- Many common controls work better now, particularly the listview,

calendar and tab controls.

 

- There is now a partial implementation of the Microsoft Text Services

framework, which provides better input method support in modern

applications.

 

- There is now a proper user interface for importing, exporting and

managing cryptographic keys and certificates.

 

- Wine is now fully translated to French, German, Dutch, Italian,

Portuguese, Romanian, Polish, Lithuanian, Norwegian, and Korean. It

has partial translations for another twenty languages.

 

 

*** Desktop integration

 

- The XDG standard for application startup notification is now

implemented.

 

- The NET_WORKAREA property is now supported to let applications take

into account the size of the Unix desktop task bars.

 

- File associations created by a Windows applications are now

registered with the Unix desktop.

 

- Application icons are now set with the NET_WM_ICON hint, which

enables alpha channel transparency under window managers that

support it.

 

- Maximizing a window from the Unix window manager is now detected and

the state is correctly reflected on the Windows application side.

 

- The XDG desktop screen saver is now launched when a Windows

application makes a request to start the screen saver.

 

- Start Menu entries are now properly removed when an application is

uninstalled.

 

- Copying and pasting images between Windows and Unix applications

works more reliably now, and more image formats are supported.

 

- Launching an external Unix Web browser from a Windows application

now works correctly.

 

- MSI files are now associated with Wine to enable launching them

directly from the desktop.

 

- The virtual desktop window now switches to full-screen mode when its

size matches that of the screen.

 

- The strange window management behavior used by Delphi-generated

applications is better supported now.

 

 

*** Graphics

 

- Subpixel font rendering is now supported, which greatly improves

text appearance on LCD screens. The subpixel configuration is

derived from the system fontconfig and Xft settings.

 

- Icons with alpha channels are now properly blended in, for a much

nicer appearance.

 

- Image lists now properly store the alpha channel of images and use

it when displaying them.

 

- The windowscodecs dll has been added, with codecs for the JPEG, GIF,

PNG, BMP, ICO, and TIFF image formats.

 

- Many functions are now implemented in GDIPlus. The gdiplus dll is

now considered good enough to load the built-in version by default.

 

- Overlays are now supported in DirectDraw.

 

- Many more capabilities are now supported in the SANE scanner

backend. This improves scanning support in Acrobat.

 

 

*** Audio

 

- The openal32 dll is now implemented, as a wrapper around the Unix

OpenAL library.

 

- There is now an initial implementation of the mmdevapi dll (part of

the new Vista sound architecture), using OpenAL for sound I/O.

 

- The msgsm32.acm GSM codec is now supported.

 

- The ALSA sound driver now works better with PulseAudio's ALSA

emulation.

 

- Digital playback of audio CDs is now supported.

 

 

*** Internet and networking

 

- The HTTP protocol implementation has seen many improvements, in

particular better handling of proxies and redirects, better cookie

management, support for gzip encoding, fixes for chunked transfer

mode, support for IPv6 addresses, and better certificate validation

on secure connections.

 

- The Gecko HTML engine has been updated to a more recent upstream

version. Many more HTML objects are now implemented.

 

- The RPC layer now properly supports server-side authentication and

impersonation. The COM marshalling/unmarshalling is also more

compatible. RPC is now supported over the HTTP protocol too.

 

- There is now an essentially complete implementation of the

JavaScript language.

 

- The IRDA network protocol is now supported by the socket layer.

 

- The inetmib1 dll is now implemented, with support for the standard

SNMP MIB tables.

 

- The inetcomm dll now implements the POP3 and SMTP protocols, as well

as better MIME support.

 

- Extended mail providers are now better supported, particularly the

native Outlook provider. Mail attachments are also supported now.

 

- Many undocumented functions in the shlwapi dll have been implemented

for improved Internet Explorer support.

 

 

*** Direct3D

 

- FBOs are now used by default for off-screen rendering in Direct3D.

 

- Backbuffers larger/smaller than their associated window are now

correctly stretched.

 

- A large portion of the d3dx9 dlls is now implemented, most notably

the shader assembler, .x file support, functions for fonts, general

3D math, mesh handling, and sprites. A start has been made with the

texture and effect functions.

 

- Fog handling has improved a lot.

 

- Various YUV texture formats are now supported.

 

- wined3d contexts are now managed per-thread, and play nice both with

other wined3d instances and opengl32 GL contexts. Contexts are

checked for validity before being used (e.g. if the associated

window is destroyed.)

 

- Point sprite handling has improved a lot.

 

- The shader source is now dumped on GLSL compile/link failures. This

is mostly to help driver developers, like Mesa, with investigating

GLSL bugs triggered by Wine.

 

- The graphics card detection code is improved, and many more graphics

cards are now recognized.

 

- User clip planes are now supported in shaders. This allows proper

water reflections in Half-Life 2.

 

- There is now an initial implementation of Direct3D 10, including the

dxgi, d3d10core and d3d10 dlls. Most of the work so far has gone

into parsing d3d10 effects and SM4 shaders.

 

- Shadow samplers are now properly supported. This fixes shadows in

StarCraft 2.

 

- There is now a shader based implementation of D3D fixed function

fragment processing. This avoids some limitations of the previous

OpenGL fixed function based approach.

 

- Partial updates of surfaces with compressed formats are now properly

supported.

 

- Many new OpenGL extensions are now supported. These include:

 

- EXT_provoking_vertex/ARB_provoking_vertex. This allows the

correct vertex color to be used when flat shading is enabled, and

helps Civilization IV in particular.

 

- EXT_vertex_array_bgra/ARB_vertex_array_bgra. This allows for more

efficient handling of BGRA (D3DCOLOR) data in the fixed function

pipeline.

 

- EXT_draw_buffers2. This enables independent color write masks

when multiple (simultaneous) render targets are in use.

 

- Various nVidia extensions to ARB vertex/fragment programs. These

allow SM3 support with the ARB vertex/fragment program shader

backend.

 

- EXT_texture_compression_rgtc. This adds support for the ATI2N

(also known as 3Dc) compressed texture format.

 

- ARB_texture_rg. This allows for more efficient support of the

R16F, G16R16F, R32F and G32R32F texture formats.

 

- ARB_framebuffer_object. This is mostly the same as the existing

support for EXT_framebuffer_object, but improves rendering with a

depth/stencil buffer larger than the color buffer(s). It helps

(among others) Splinter Cell,

 

- ARB_sync. This adds support for multi-threaded / cross GL context

event queries used by Dragon Age: Origins.

 

- ARB_half_float_vertex. This adds support for 16-bit floating

point vertex formats on cards that don't already support

NV_half_float. It helps Supreme Commander.

 

- There is now a general framework for supporting variations/quirks in

GL drivers.

 

 

*** Built-in applications

 

- The Wine debugger now displays a crash dialog to let the user know

that a crash happened before dumping the backtrace information.

 

- The Wine debugger now uses the Dwarf exception unwinding data for

more reliable backtraces.

 

- The file dialogs in built-in applications are now resizable.

 

- Regedit can now import from and export to files in Unicode format.

 

- Wineboot now displays a dialog while creating or up[censored] the prefix

directory to let the user know that something is happening, since

the update can take some time, particularly with 64-bit prefixes.

 

- Text replacement is now implemented in Notepad.

 

- The print preview feature in Wordpad now works much better.

 

- Navigation in help files now works better in Winhelp. Many graphical

glitches have also been fixed.

 

- The Winecfg dialogs have been tweaked so that the application is

usable in a 640x480 desktop. The About panel has been redesigned

with better graphics.

 

- The command-line parser in cmd.exe is more compatible now, which

should enable more Windows batch files to execute correctly. There

is also a regression test suite for it.

 

- Rpcss now implements a proper RPC endpoint mapper.

 

 

*** Build environment

 

- The Wine IDL compiler can now generate correct code for all the

standard IDL files, including proper exception handling. A large

number of COM proxies and servers are now automatically generated

from their IDL definitions.

 

- The fake dll placeholders are now built at compile time, instead of

being generated every time a Wine prefix is created. This makes it

possible to install a placeholder for every supported dll, which

should avoid many failures in installers that check dll versions.

 

- configure now supports the --disable-tests option to prevent

building the test suite. This allows for faster compile times,

particularly when bisecting a regression.

 

- The cross-compiled tests are now built against the Wine import

libraries instead of the Mingw ones. The latter are not compatible

enough for our needs.

 

- winegcc now handles resource files just like normal object files and

links them into the final binary without requiring special build

rules.

 

- winebuild and winegcc now fully support Solaris.

 

- Wine now builds properly on Cygwin, though some of the resulting

binaries do not work correctly.

 

- Makefiles are now created as needed during the build process,

instead of being all created together at configure time. This makes

it unnecessary to run 'make depend' in most cases.

 

- winemaker now has better support for Visual C++ project files.

 

 

*** Miscellaneous

 

- The OLE storage implementation now supports transacted storage, with

proper commits and rollbacks. This enables support for Microsoft

Office documents containing macros.

 

- The MSI installer now supports patches, which enables the

installation of service packs for many applications. Many more MSI

standard actions are also supported now.

 

- The rsaenh dll now supports the SHA-256, SHA-384, and SHA-512

encryption algorithms, as well as CALG_SSL3_SHAMD5 hashing.

 

- OLE database objects are now implemented, which fixes the clipart

functionality in Microsoft Office 2007.

 

- Copying and pasting OLE objects across applications works better now.

 

- Support for cryptographic signatures and certificates is improved,

including support for certificate trust lists.

 

- The Task Scheduler service is now implemented.

 

 

*** Performance

 

- Bitmap stretching and alpha blending is now done through Xrender

when possible, which avoids a time-consuming round-trip of the

bitmap bits from the X server.

 

- Startup time for MSI installers that contain a large amount of

strings is much improved.

 

- Setting the processor affinity for threads or processes is now

supported, which improves multi-core performance for applications

that take advantage of it.

 

- Loading large symbol tables in the Wine debugger is much faster

now.

 

- FBO handling has improved significantly. Recently used FBO

configurations are now cached, which is a major performance

improvement.

 

- Loading shader constants is more efficient now. This improves

performance for (among others) Half-Life 2, Counter Strike: Source,

and Source Engine games in general.

 

- The performance of sRGB samples is improved, this particularly helps

Source Engine games.

 

 

*** Platform-specific changes

 

- Joysticks POV switch and axis remapping are now better supported on

Linux. Joysticks are now supported on Mac OS X too.

 

- The various DVD I/O controls are now implemented on Mac OS X.

 

- The network routing and statistics functions in iphlpapi are now

implemented on Solaris and FreeBSD.

 

- Mach-O debugging symbols (the format used by Mac OS X) are now

supported in the debugger.

 

- Event ports are now used on Solaris for improved wineserver

performance.

 

 

*** New library dependencies

 

- The libgnutls library is now used for encryption and certificate

validation in secur32.

 

- The libgsm library is now used for the GSM codec support.

 

- The libmpg123 library is now used for mp3 decoding (except on Mac OS

X where CoreAudio functions are used instead).

 

- The libopenal library is now used for the openal32 dll

implementation, as well as for the mmdevapi dll (Vista sound

support).

 

- The libtiff library is now used for TIFF image decoding in the

windowscodecs dll.

 

- The libv4l1 library is now used for video capture in DirectShow.

 

 

*** Backwards compatibility

 

- The wineshelllink helper script has been removed. All the menu and

desktop integration is now handled by winemenubuilder.

 

- The deprecated wineprefixcreate script has been removed. Wine prefix

directories are created automatically as needed.

 

- Old LinuxThreads setups are no longer supported. Wine now requires

the modern NPTL threading that has been standard on Linux for many

years now.

 

- The PBuffer option for off-screen rendering has been removed from

Direct3D. This code was unmaintained, and offered little advantage

over the "fbo" or "backbuffer" modes.

 

 

*** Known issues with recent 1.2 changes

 

- The subpixel font rendering doesn't yet look quite as nice as that

used by the rest of the Unix desktop.

 

- The OLE storage performance can degrade pretty badly on files with a

particular layout.

 

- There is no 64-bit version of the Gecko engine yet, so 64-bit

applications that use a browser control won't work correctly.

 

--

Alexandre Julliard

julliard ( -at -) winehq.org

 

 

 

Share this post


Link to post

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×