Pages

Thursday, July 18, 2013

Wine 1.6 Released

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 for a summary of the major changes.

The source is available now. Binary packages are in the process of being built, and will appear soon at their respective download locations.


 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.

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

Friday, July 12, 2013

Wine 1.6-rc5 Released

The Wine development release 1.6-rc5 is now available.
What's new in this release:
  • Bug fixes only, we are in code freeze.
The source is available now. Binary packages are in the process of being built, and will appear soon at their respective download locations.

 Bugs fixed in 1.6-rc5 (total 54):

   6691  TomTom Home doesn't find files it has downloaded in temporary directory
  13371  SlingPlayer 1.5 fails to install due to DLL function crash
  14154  Cyrillic chars in chm help displayed incorrectly.
  15710  Using OSS audio causes PCM device to be muted
  16510  Sony ICRecorder version 3.1.02 doesn't install
  17833  Winedbg crash with gecko with debug symbols
  19745  Direct download (no Google Updater) install of Google Earth 5 fails.  (Also affects ChromeFrameInstaller.)
  19824  Vim welcome text does not appear on start [dogfood]
  20135  Future Pinball: Process still alive after exiting
  20445  WMP10: Crash on changing tab
  21043  ArtRage 2.5 : Sluggishness in cursor moves
  21200  HotWheels Stunt Track Driver: On-Screen Mouse Cursor stuck to top left of screen
  21279  EastWest Symphonic Orchestra Silver Edition: Install Fails with pagefault at VST Plugins lookup
  21303  Game Maker 8: Freezes at "Please wait while page is loading"...
  22027  Symantec LiveUpdate 3.5 will not load
  22307  Depth of field blur effects lag behind animation in Dragon Age: Origins
  22588  Starcraft 2 Editor doesn't render anything on the terrain view
  22672  A-10 Cuba! crash in introduction screen forbiding to play the game
  23228  Mavis Beacon Teaches Typing 5: Random pagefault during Rhythm typing game
  23749  SpongeBob SquarePants: Diner Dash 2 - can't start free trial without native shdcocvw
  23882  AvP hangs/crashes with GLSL out of memory.
  24538  EasyToon 1.9.9 beta 3: patterns are not smooth
  25175  Big Fish Games game manager shows blank window
  25648  ie8 does not navigate to web pages or obey home page setting
  25787  MYST V Demo: Black screen after into movies
  25846  Page fault on read access when running GoogleChromePortable_8.0.552.237_online.paf.exe
  26435  Dragon Age: Origins has no sound... unless you edit DragonAge.ini and change SoundDisabled to 0
  27875  Chasys Draw IES: Sillently exits at installation start
  27876  System Mechanic: Installer window fails to show itself
  27935  Dora's Carnival 2: Boardwalk Adventure doesn't show 'play free trial' button
  28691  Korg M1 DLE main display corrupted
  29284  AntiVir 9 installer is missing some images
  29518  Trimble Planning installer hangs
  30343  Metatrader 4, Installation crash
  30360  PDF Xchange Viewer 2.5.201 Crashing When Saving any PDF file
  31390  MetaTrader 4 crashes when opening mail
  31507  midiInOpen x64 crash due to callback address 32-bit truncation
  31932  No video in SlingPlayer 1.3
  32024  Eziriz .net Reactor crashes without native gdiplus
  32149  Notepad .Net cannot open files
  32158  .Net 3.0 (dotnet30): multiple crashes in ServiceModelReg.exe during install
  32868  Remove wine/documentation/ChangeLog* from the distribution
  33147  Steam fails to run on FreeBSD
  33593  joystick.c change causes lotro to crash if Wacom Cintiq attached
  33789  Japanese are displayed vertical in 1.6rc1 but not previous version even it should be display horizontally
  33840  Internet Explorer 7 all printing broken
  33898  AliWangwang(TradeManager) can't save password
  33901  Arabic full-translated Wine
  33905  compile error with assembler support problem for ARM
  33909  loader/Makefile.in not compatible with BSD make
  33913  Radio button rendering broken with ClientSideGraphics=y
  33920  Visual CertExam Suite installer crashes
  33930  loader/Makefile.in not compatible with BSD make
  33934  Ballistic game: mouse no longer works

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

Friday, June 28, 2013

Learning From the Seat of a Tank

From the blog of James B Ramey who has recently been given the new title of Emperor at CodeWeavers. :)

Recently, I’ve had the opportunity to play a lot; I mean two – to – three hours a day, every day, since the end of March inside the tank simulation of World of Tanks (WoT). Over 2,500 battles– 1234 wins, 1234 losses, and 39 draws to be exact.  Over the course game play, I’ve managed to learn a few lessons that will no doubt help me in my presidency of CodeWeavers.  It is in that spirit of sharing that I present my Top 10 Lessons from Inside a Tank (and to provide billable hours to the CEO for all the time I’ve spent in battling during work hours):

1.    Idiots Die Quickly – Within seconds of the battle starting.  , there are early tank casualties. Usually, the casualties are the direct result of running headfirst into harm’s way in the shortest amount of time possible.  My takeaway – Making rash decisions can have dire consequences for you and for the people counting on you to be a productive member of their team. It is often better to be initially cautious taking time to learn the ‘terrain’ so as to avoid making unnecessary mistakes.

2.    You Can’t Hit a Tank You Can’t See – In battle, your radar goes off identifying an opposing tank.  You can either avoid danger by squeezing your eyes shut or quickly plan a course of action to aggressively eliminate the threat.   My takeaway – You can hope to avoid danger or you can take steps to avoid danger but rarely can you accomplish both – so choose wisely.

3.    Great Teams Typically Beat Great Tanks – Teams are randomly created based on their purpose.  Teams of tanks work together to locate and destroy opponents. A team of highly effective tanks can quickly identify, locate, and disarm almost any opposing tank.  My takeaway – If you want to win, you need to build and maintain effective teams with unique but complementary skill sets.

4.    A Smart Tanker in a Bad Tank is Better than a Dumb Tanker in a Great Tank – In battle, it’s easy to make obvious mistakes.  Smart tankers win more battles because they deliberately avoid choosing the options with little upside.  My takeaway – Managing risk and being aware of your current situation is critical in creating positive outcomes.

5.    Have a Plan – It’s essential to know where you are going and what you want to accomplish to avoid distraction.  Distracted tankers often become target practice.  My takeaway – You need a plan, and you need to work your plan each time you get ready for ‘battle’.  Don’t let distractions deter you from your goals. 

6.    Failure is an Option, Just Not a Goal – In battle, you learn from your mistakes and incorporate the experience for the future.  While no tanker wants to lose, all tankers lose from time to time.  Smart tankers learn from their mistakes.  My takeaway – Failure isn’t about making a mistake.  Failure is about making the same mistake all the time.

7.   Know Your Circumstances, Use Them to Your Advantage – Your circumstances can change in a second’s notice.  Your team is ahead; then, your opponents counter-attack and your team is behind.  Your tank gets damaged, and your mobility is reduced.  Smart tankers are adaptable and adjust their plans accordingly.  My takeaway – You cannot plan for every situation to come, but you can be mostly aware of the situation you are in and adjust your plan to make sound decisions.

8.   No Tank is Perfect
– In battle, the bigger tanks have the bigger guns and the better armor, but  bigger tanks are also slower tanks and cannot turn or rotate as fast as their smaller and lighter counterparts.  Smart tankers know these strengths and weaknesses and adjust their plans accordingly.  My takeaway – Being successful sometimes depends on choosing the path best suited to your current tool set and not necessarily the path best suited to your skill set.

9.   Understand Your Competition –
In WoT, you have the opportunity to repeatedly play a battlefield as an attacker or a defender; from the north or the south; and from the east or the west.  As such, you see how other tankers play.  And you see where other tanks go and where other tanks attack and how other tanks defend.  Smart tankers work to understand their competitors so as to predict and mitigate their opponents’ plans.   My takeaway – The best defense is a good offense.

10.   Have Fun –
I enjoy WoT because I like the competition; I like the interaction with other players; and I like the concept of challenging myself to improve from battle to battle.  Sitting in a tank (for some odd reason) helps me unwind from a long day at the office.  My takeaway – When you find something you enjoy, take the time to do it.  For the fans and customers of CodeWeavers, look for us to continue development in CrossOver to better support World of Tanks on the Mac and Linux platforms.  And good luck to my fellow tankers.  I’ll be looking for you out on the many battlefields (most likely through the cannon scope of my tank).  BANG! 

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

Wine 1.6-rc4 Released

The Wine development release 1.6-rc4 is now available for Linux and Mac.

What's new in this release:
  • Bug fixes only, we are in code freeze.
The source is available now. Binary packages are in the process of being built, and will appear soon at their respective download locations.

Bugs fixed in 1.6-rc4 (total 38): 
 
   7597  No sound with OSS driver in C&C3
  11224  Throw In (Blitz Basic game) has a memory access violation
  11675  Flatout 2 demo, Battlefield 2 demo, many others need native 
d3dx9_36.D3DXCreateEffect*
  12771  Multiple graphic problems in "The Witcher"
  13314  Winevdm displays a window when running Civilization I
  13662  dogfood: xchat-2.6.2 is very slow, while updating the window
  14318  Michisoft Reader Studio v1.5a fails to produce LIT file from HTML
  16325  incorrect font rendering for CJK programs
  16784  Babylon 7: Trial mode expires after installation
  18930  IDA Pro: Failing to allocate an enormous image
  20769  crash when exiting Microsoft Flight Simulator 98
  20771  the menu bar doesn't work in M. Flight Simulator 98
  21103  Presentation 14.2 (Neurobehavioral Systems): crashes when displaying 
video output
  21827  Photoshop 7, Slider disapear
  22291  DC++ hangs on exit
  23504  Subpixel Font rendering wrong for font MS Sans Serif
  23687  err:seh:setup_exception_record stack overflow when start Proteus7 Ares
  23945  Textures are not properly rendered in Deus-Ex:Invisible War
  24230  "Psalmen - Lieder des Lebens" crashes when clicking Next in settings pane
  24796  DIY Kyoto's Holmes fails to start
  25125  Can only print to the default CUPS printer from Visio 5 Professional
  25605  The Settlers 3: Save as bitmap crashes world editor
  26646  Worms Reloaded: sound choppy without hardware sound = emulation
  27658  3dvia plugin installer crashes
  28495  Runes of Magic: sometimes mouse cursor freezes
  29897  Lord Of the Rings Online Slow/Freezes
  29959  Zed: 3D Preview window is blank or doesn't open.
  30578  Disassembly not in fixed-width font in IDA Pro 6.2 demo
  30897  Europa Universalis III demo crashes while 'Loading Map-Sprites...' 
without native d3dxof
  31729  cl.exe: stack overflow with certain long command lines
  31772  NtQuerySystemInformation doesn't fill ReturnLength properly with 
SystemProcessInformation
  31812  Silverlight 4.x/5.x windows have repainting problems
  31908  Garena Blackshot does login
  32820  Offline rekening overzicht, orov doesn't work
  33283  Configuration of WM_NAME is delayed for virtual desktop
  33753  Titan Quest : Multiplayer not working
  33865  Regression in a specialized program
  33883  Scirra httpapi.dll error trying to Run a game
 
Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.