Release 1.9.3

Wine Staging Team - Wed, 10 Feb 2016

Yesterday we released Wine Staging 1.9.3, which includes compatibility fixes for a bunch of older games.

Before talking about the changes, I would like to apologize that there weren't any release notes since 1.8. I just didn't had much time lately to write them, but this was unrelated to the actual development progress of Wine Staging. In fact we added 116 new patches since the last release notes. We are also currently working on a website which displays the changes between different versions of Wine Staging (fixed bugs, added patchsets, removed patchsets, history of specific patches, ...). The site should hopefully be online soon, so that you can already see all changes without waiting for me to write the release notes. :-)

As already mentioned in the first line, in this release we fixed compatibility with some older games, including some 16 bit applications. For those who are interested in more details how the general 16 bit support works in Wine and what exactly has been fixed, I have written a separate blog post explaining those details. I might provide more of such "behind the scenes" posts in the future if my times allows it. To keep it short for the release notes: We fixed several issues when using the 16 bit version of the avifile.dll and msvideo.dll.

Besides those fixes for older games, there were also various contributions to improve support for more recent software. We for example fixed an issue when using QT based applications (like Battle.Net) in wine and your host system at the same time. Some settings of QT can be controlled through environment variables like QT_PLUGIN_PATH and when you are starting wine through a QT application, either direct (QT Terminal) or indirect (QT desktop environment), chances are high that such environment variables are set. Unfortunately some of those QT related environment variables have different meanings for Linux and Windows applications, which can make QT applications refuse to start. Wine Staging 1.9.3 now filters out QT environment variables and doesn't forward them to windows applications. If you still want to pass a QT environment variable from your host system to Wine, you need to prepend WINE in front of them (for example WINEQT_PLUGIN_PATH).

Here is a list of all changes:

  • Return expected SO_RCVBUF and SO_SNDBUF values on Linux (Joint Operations Typhoon Rising, Wine Bug #8606)
  • Don't set HWTRANSFORMANDLIGHT flag on d3d7 RGB device (Summoner)
  • Improve detection of MPEG2 streams (Wing Commander IV)
  • Correctly convert result of AVIStreamGetFrame to a segptr in avifile.dll16 (The Journeyman Project 2)
  • Convert between AVISTREAMINFO (16 bit) and AVISTREAMINFOA in avifile.dll16 (The Journeyman Project 2)
  • Implement proper refcounting and locking for HGLOBAL based IStream
  • Strip invalid characters from mask in FindFirstFileExW (Earth 2160, Wine Bug #22635)
  • Translate 16 bit address in MCIWNDM_SETTIMEFORMATA MCIWndProc16 command (The Journeyman Project 2)
  • Do not crash when INVALID_HANDLE_VALUE is passed to CloseThemeData (BitComet version < 1.37, Wine Bug #29862)
  • Correctly handle compressed frames when desired format is specified (The Journeyman Project 2)
  • Do not inherit QT_* environment variables to Windows environment (Various QT applications)
  • Revert patches to move mip-level dimensions fixup (multiple games, Wine Bug #40094)
  • Return additional properties for display devices in dxdiagn (Neverwinter Nights 2 / Galactic Civilization 2 / ..., Wine Bug #34686)
  • Allow to pass NULL as old protection in VirtualProtect for Win9x compatibility (Wing Commander IV)
  • Add support for AVIFile interface proxies (Rush for Berlin Gold, Wine Bug #38564)