Friday, September 27, 2013

Wine 1.7.3 Released

The Wine development release 1.7.3 is now available.

What's new in this release:
  • New version of the Gecko engine based on Firefox 24.
  • Preparation work for the Direct3D command stream.
  • Window management fixes in the Mac driver.
  • Support for IPHLPAPI functions on Android.
  • Various bug fixes.
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.7.3 (total 48):

   4473  WSAStartup not needed before socket() call
  13901  Some buttons are hidden by a strange coloured band
  23272  FFFTP: shows only the first line of the Japanese legend.
  24016  League of Legends news missing in main window
  24175  Resident Evil 5 benchmark: crashes in fullscreen
  24431  League of Legends standalone client crashes on clicking 'Play'
  24761  ProteoWizard 2.x 'msconvert' tool fails/hangs sometimes during processing of mass spec data files in RAW format
  25519  gmax crashes in ole32.RegisterDragDrop when you click on Materials Navigator icon on toolbar
  26252  Falcon 4.0 Allied Force and FreeFalcon 5.0 do not detect hardware rendering devices
  26297  Suddenly no sound, loose of sound in games
  26332  Adobe AIR : Pandora One : Can't move window
  26823  Wildlife Park 3 Demo crashes on start
  27036  League of Legends store crashes with an assertion
  28423  ImmGetDescriptionW() from imm32 crashes with certain parameters
  29315  World of Warcraft (WoW) Launcher.exe  does not run
  30205  Unity Editor is unable to move project files
  30289  builtin iexplore can not load gmail, complaining requires ActiveX controls to be enabled
  30485  MeGUI 2112 crashes after first update / restart (application XML settings can't be fully deserialized due to oleaut32 VarDecRound being a semi-stub)
  30585  League of Legends crashes after Champion Select
  30789  World of Warcraft : Unhandled exception: page fault on execute access to 0x84654ac8 in 32-bit code (0x84654ac8).
  30815  Can't create winsock on Proteus ISIS for remote controll through mplabX
  31186  Star Wars: The Old Republic: Launcher display incorrectly, can't launch game
  31235  League of Legends minimap corrupted
  31545  Mouse cursor behaves as if it is drunk
  31659  Cutscenes (videos) in Jade Empire are black and white (grayscale)
  32164  RebelBetting + dotnet35sp1 crashes
  32168  RebelBetting will not talk to proxy
  32567  Crysis Wreckage (Wars mod?) doesn't start without MS-vcrun2005
  34252  Silverlight accelerated graphics cause a D3D critical section lockup
  34399  .NET 3.x/4.x WPF based installers/apps require windowscodecs.dll ComponentFactory_CreateBitmapFromHBITMAP implementation
  34416  The Testament of Sherlock Holmes dark player model, textures disappearing and appear
  34417  Everquest character models invisible
  34418  regression: Finale NotePad 2012 installer splash screen appears as black box
  34455  NCsoft's Aion (MMORPG) fails to load "CrySystem.dll" (WinLicense software protection, avoid forwarding some msvcrt API to ntdll)
  34463  thai2english loads ok but crashes on startup
  34470  NCsoft's Aion (MMORPG) fails to load "CrySystem.dll" (WinLicense software protection, avoid forwarding some msvcp80 API to msvcp90)
  34496  winhttp POST fails
  34514  an odd regression on an old video card
  34521  make: *** [dlls/msxml3] Error 2
  34542  Kega Fusion 3.64 - Slow directx performance
  34550  RTX server crashes at start
  34552  RTX Server needs unimplemented msvcp60.dll.??6?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEAAV01@G@Z
  34564  RTX Server fail to import user template database with builtin msvcp60
  34567  qq 2012 installer crashes at 100%
  34570  Game crash because of improperly cloning MMIOINFO struct in MMIO_Open
  34571  EasiSlides v4 crashes when clicking a folder listbox item (GdipFillPath failure)
  34580  strtoul behaves incorrectly with negative numbers.
  34583  LINE (Powered by Naver) Cannot work after Installation

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

Saturday, September 21, 2013

Newest Codeweavers CrossOver promo code for Linux and Mac

I got a new promo code today from my friends at CodeWeavers, the code is ( TOM23 ) and its good for a instant 20% discount off any product. Just go to CodeWeavers store and enter the code then update and you will see your discount. This promo code is valid until December 31st 2023 so feel free to share it with family and friends so they can also save 20% off CrossOver for Linux, Mac, ChromeOS. This coupon code is also valid for a 15% discount off CrossOver Lifetime.

Putty for Mac
Putty for Mac

Friday, September 13, 2013

Wine 1.7.2 Released

The Wine development release 1.7.2 is now available.

What's new in this release:
  • Right-to-left text layout improvements.
  • NTLM and Negotiate authentication for RPC over HTTP.
  • More glyphs in the built-in Wingdings font.
  • Better system tray support in the Mac driver.
  • Activation context improvements.
  • Various bug fixes.
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.7.2 (total 39):

  14401  The Sword project search function causes a crash
  18248  Everquest certain areas do not render the models just have blank regions
  19116  MSXML4 installer doesn't install C:\Windows\Installer\{37477865-A3F1-4772-AD43-AAFC6BCFF99F\icon.exe (appinstall)
  21254  Word 97 needs native oleaut32 to record the first macro
  24196  oleaut32: typelib registration should not fail bitness-neutral assemblies (32-bit typelib wrapped in 64-bit PE, x64 .NET 2.0 installer)
  25739  Unhandled Exception - Monopoly Westwood (Win95 settings)
  25754  Excel Workbook with Macros Is not Running : Getting Crashed.
  25762  Excel crashes trying to run macros
  26280  PowerSoccer crashes
  26746  IncrediMail: No icon for desktop short-cut
  27052  winedbg and its man page should use "wpid" consistently for Windows' process ID
  27632  Death and the Fly demo crashes on start
  28004  PartyPoker fails to install with builtin wininet
  28663  Multiple Adobe products fail due to improper file type and protocol associations handling (Adobe Reader X online help, Adobe AIR installers)
  30194  XIII: some levels are not correctly illuminated
  30765  Outlook 2010 can't connect to exchange server
  30797  wine(1) man page should mention running built-in programs like explorer.exe
  30958  StarForge Alpha build: Black screen due to shader compilation errors
  31205  Mixcraft hangs on exit when using WaveRT audio driver
  32412  WebSync 2.7.0 doesn't install
  32537  unimplemented function cfgmgr32.dll.CM_Reenumerate_DevNode, aborting
  33794  Arabic Entry Box Has Big Errors .
  33811  Amazon software downloader does not work with builtin msvcrt
  33827  The Testament of Sherlock Holmes inverted shadows and sharpness
  33836  Civilization IV shows a lot of XML Load Error while loading
  33890  Anno 1602 (demo): crash during startup
  34245  WMI query "select * from win32_Directory" via WMI crashes
  34268  Louisiana Adventure crashes without native d3dx9_36 (D3DXCompileShaderFromFile() needs to call user-supplied include callbacks for resolving primary shader files)
  34284  Fur looks wrong on Sims 3 Pets
  34317  Process Hacker 2.x needs winsta.dll.WinStationRegisterConsoleNotification
  34381  Rectangle rotation problem using GM_ADVANCED graphicmode
  34401  QuiteRSS WinRT/ARM port needs msvcr110.dll.fabsf
  34402  Multiple applications ported to WinRT/ARM require atl110.dll (Halite torrent client for Windows RT )
  34403  AVP Classic WinRT/ARM port needs xinput1_4.dll
  34412  Winsock error when connecting to Xsyon game servers
  34442  Multiple applications ported to WinRT/ARM require msvcr110.dll.?before@type_info@@QBA_NABV1@@Z (Halite torrent client)
  34464  Jagged Alliance 2 fails to start (becomes unresponsive after startup)
  34476  Arx Fatalis crashes on start
  34486  __unDName cannot demangle a string and shows error

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

Friday, September 6, 2013

Direct3D Performance Improvements Coming To Wine

Stefan Dösinger of CodeWeavers has been working on some Direct3D performance improvements for Wine by creating a separate command stream / worker thread for WineD3D. This work moves OpenGL calls into a separate thread in order to improve performance while also fixing some outstanding bugs. This work can yield 50~100% performance improvements and in some cases making the games under Wine faster than on Windows.

If you want to help support this work consider purchasing a copy of CrossOver  12.5 from CodeWeavers. You can use promo code TOM23 and receive a instant 20% discount off the normal selling price.

Stefan's email sent to the wine Development mailing list :


In the past months I have been working on a command stream / worker
thread for wined3d. It moves most OpenGL calls into a separate thread
to improve performance (bug 11674) and fix some bugs that are
otherwise hard to fix (24684).

You can test the attached patches by applying them (git am
/path/to/patches/*) and setting HKCU/Software/Wine/Direct3D/CSMT =
"enabled". Make sure to disable StrictDrawOrdering. It is no longer
required with those patches and will destroy any performance gains.
(It might be useful for debugging though). The patches apply on top of
Wine 1.7.1.

Please test those patches with your games. I'm interested in any
successes or failures and performance differences. Performance numbers
with plain Wine 1.7.1, this patchset with CSMT off and on, and Wine
1.7.7 + bugzilla attachment 44420 and __GL_THREADED_OPTIMIZATIONS
would be greatly appreciated.

A notes for non-developers:
*) GPU limited games don't see any improvement. If you're GPU limited
heavilly depends on your hardware

*) So far I have not tested anything but Nvidia hardware. It should
work on all GPUs and drivers though.

*) Yes, this is essentially the same as Nvidia's
__GL_THREADED_OPTIMIZATIONS. Just driver independent, under our
control, and thus easier to fix bugs.

*) A lot of games see 50%-100% performance improvements and now run as
fast as on Windows or even faster. Examples are Source-Engine based
games, StarCraft 2, 3DMark 2001.

*) Call of Duty Modern Warfare 2 is improved a lot because you no
longer need StrictDrawOrdering. It's still not as good as it could be,
because it uses dynamic surfaces, which aren't properly implemented in
the patchset yet.

*) Some games have CPU-side bottlenecks outside d3d. Mass Effect 2
seems to be one of those.

*) Some games have CPU-side bottlenecks in the GL driver, and
comparably little game logic on their own. I think this applies to Civ
V, which doesn't see much improvement with those patches.

Some implementation notes:
*) One of the big design decisions is to do all OpenGL calls from one
thread, including resource creation and buffer maps. This is faster
than using glFlush calls to synchronize anything we do from the main
thread, and easier than trying to sync everything in a performant
fashion with ARB_sync. This means I need the priority command queue.
This is not yet fully implemented though, so you see GL calls from the
main thread as well.

*) There seem to be driver bugs when calling into GL from two threads,
even though those are two different contexts. Remember, we don't have
the GL lock any longer.

*) The other controversial design decision is that the command stream
does not hold any references to objects stored in pending commands or
its own state structure. This prevents the client libraries and
applications from "seeing" the CS via delayed destruction of objects
and freeing of application private data.

*) Currently resource destruction waits for the CS to execute all
pending commands. The goal is to handle private resources and removal
from the device's resource list in the main thread and freeing of GL
resources, freeing of resource->heap_memory and freeing of the main
structure in the worker thread.

*) A big issue that needs fixing is that there isn't a clear
separation between functions that are called from the main thread and
functions that are called from the worker thread. The plan is to
introduce comments similar to those that clarify who is responsible
for context activation.

*) Buffers are double-buffered and use glBufferSubData when the
multithreaded CS is in use. This is necessary because we can't draw
from a mapped buffer. In the long run GL_ARB_buffer_storage should be
able to fix this.

*) You can roughly see how surface and volume handling is going to
work in the volume code. I am not entirely happy with the code yet, I
hacked it together in the past few days...

*) The plan behind wined3d_device_get_bo and wined3d_device_release_bo
is to cache created GL BOs. Before I do that I have to write a
benchmark for dynamic volumes to verify that this is really a
performance improvement.

*) Before this can be merged, surfaces need a cleanup similar to
volumes. It's going to be a lot trickier though.

*) The tests should run with the single-threaded and multi-threaded
command stream.

*) There should not be any temporary regressions with the
single-threaded CS. If something's broken, git bisect should work with
CSMT off.

*) With CSMT on, there are a few known regressions and test failures.
The d3d9 and ddraw tests fail between patch 18 and 71. Occlusion
queries are broken between 22 and 108. In general nothing's working
right between 80 and 99. Some of those problems can be fixed or their
impact reduced, but I will not be able to completely avoid them. The
ddraw test failure is a driver bug and GL occlusion queries break by
design when used from a different thread. So if you try to bisect a
regression in this patch series with CSMT on YMMV.

*) This work was originally started by Henri. Some patches in the
series are from him and either unmodified or with minor adjustments.
Some patches are based on his work, but with heavy modifications.