What is the Wine D3D command streamer? – Simple edition

Wine has long had a problem with bug 11674 – “Dual-core unsupported in WoW and SC2”. Not only World of Warcraft and Starcraft 2 has this bug, but a lot of other games.
By only being able to use one thread for rendering (correct me if I’m wrong, yeah you heard me), most games run a lot slower than on native Windows.

Stefan Dösinger from CodeWeavers commented on the bug the 8th of August:

The solution is our own worker thread / command stream, similar in nature to
Nvidia’s threaded optimizations. I am currently working on that, but it will
take a few more months to get it upstream. In the next few weeks (most likely
after I return from holidays), I plan to post a set of patches for testing on

I was quite happy when I saw this, hoping that this would fix my fantastic 20 fps problem on Guild Wars 2. Fast forward to 2nd September Stefan Dösinger posted on the wine-devel mailing list the D3D command stream patches for testing. People have already reported a major fps increase on games by using the patches on Wine 1.7.1.

A summary the different reports from the bug thread:

Witcher 1
Wine 1.7.1 = 40 FPS
Wine 1.7.1 with CSMT = 70 FPS

Witcher 2
Wine 1.7.1 = 23 FPS
Wine 1.7.1 with CSMT = 43 FPS

Deus Ex Human Revolution
Wine 1.7.1 = 72 fps (glitches)
Wine 1.7.1 with CSMT = 120 fps

Word of Warcraft
Wine 1.7.1 = 45.3 FPS
Wine 1.7.1 with CSMT = 54.4 FPS

Starcraft 2
Wine 1.7.1= 15 FPS
Wine 1.7.1 with CSMT = 53 FPS

Here are some nice screenshots I also found on the bug list that shows what happens when the patches are used.
Starcraft 2 on Wine 1.7.1

Starcraft 2 on Wine 1.7.1 with CSMT

Now you guys now the significance of those patches from CodeWeavers :)
I do not yet know when the patches will be done since there are things to iron out, but preparation work has already been included with Wine 1.7.3.

If you want to test it, the simplest way would be using PlayOnLinux, you can download the patched Wine 1.7.1-CSMT there and setting the registry key HKCU/Software/Wine/Direct3D/CSMT =”enabled” // create if it doesn’t exist

I will not promise you it will work so early on, some games failed when i tried.
Last time I tried I got I StarCraft 2 running, LSD edition.

Leave a comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.