Every article tag can be clicked to get a list of all articles in that category. Every article tag also has an RSS feed! You can customize an RSS feed too!
We do often include affiliate links to earn us some pennies. See more here.
Looks like the Wine developers consider the Multi-threaded command stream for Direct3D good enough now, as it's in Wine 2.6.

For those that don't know what the 'Multi-threaded command stream' is or does, it should hopefully allow better performance in certain games ran through Wine on Linux.

Wine 2.6 highlights:
  • Multi-threaded command stream in Direct3D.
  • More Shader Model 5 instructions.
  • More support for 3D textures.
  • Better font transformations in DirectWrite.


They fixed 25 bugs in this release which includes fixing issues in games like Neverwinter Online, Rogue Operatives, The Solus Project and more.

They also included a fix that multiple games and applications needed, to quote the release log:
QuoteMultiple games need msvcr110.dll.?_Id@_CurrentScheduler@details@Concurrency@@SAIXZ (World of Tanks v0.9.15, Bethesda.net Launcher, Train Fever)

Pretty great release, congratulations to the Wine developers for their constant effort.

If you want to enable CSMT (Multi-threaded command stream), you need to do it via regedit, so launch it with Wine first:
wine regedit
Then scroll through to Direct3D like so:
image
Then, you need to rename it to "csmt" and make sure the value is set to 1. Article taken from GamingOnLinux.com.
Tags: Wine
16 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
The comments on this article are closed.
46 comments
Page: «2/3»
  Go to:

Shmerl Apr 13, 2017
Quoting: adamhmUnless they changed it with this release, enabling CSMT requires:

[HKEY_CURRENT_USER\Software\Wine\DllRedirects]
"wined3d"="wined3d-csmt.dll"

Yes, that's no longer valid for regular Wine. See above. According to the code, it's more likely to be:

[HKEY_CURRENT_USER\Software\Wine\Direct3D]
"csmt"="enabled"


Thing is, it doesn't work for me.


Last edited by Shmerl on 13 April 2017 at 8:39 pm UTC
Shmerl Apr 13, 2017
Ah, I misread it. It's using dword (weird). Let me try again and setting it to 1.
Shmerl Apr 13, 2017
Yep, that's it. It should be like this:

csmt_on.reg

REGEDIT4

[HKEY_CURRENT_USER\Software\Wine\Direct3D] 
"csmt"=dword:1


And I removed that staging dll redirect. It's pointless with this.


Last edited by Shmerl on 13 April 2017 at 8:48 pm UTC
Shmerl Apr 13, 2017
@liamdawe: Can you add the above info about enabling CSMT to the article please? It's totally not obvious.

I suppose they'll add this info here later: https://wiki.winehq.org/Useful_Registry_Keys


Last edited by Shmerl on 13 April 2017 at 9:12 pm UTC
Shmerl Apr 13, 2017
Witcher 3 in Wine 2.6 with a couple of patch sets from staging (ntdll-Grow_Virtual_Heap and wined3d-buffer_create). CSMT enabled, AMD RX480, ultra settings minus hairworks and ambient occlusion.

Not much has improved. Outside areas that have sunlight are still messed up.




Last edited by Shmerl on 13 April 2017 at 9:01 pm UTC
Tetractys Apr 13, 2017
I really would like to test 2.5 or 2.6 even compiling it.
I'm stuck at wine-staging 2.4. (from the PPA that ceased working due the repository changes).

I'm actually on Mint 18.1. Years ago I was used compiling wine myself but after the arrival of PPA, i stopped to do it. Can anyone suggest me a link where to find a comprehensive but technical recent "How to" regarding compiling wine (2.x) from source?
Thank you in advance for any suggestion!
Shmerl Apr 13, 2017
Quoting: TetractysI really would like to test 2.5 or 2.6 even compiling it.
I'm stuck at wine-staging 2.4. (from the PPA that ceased working due the repository changes).

I'm actually on Mint 18.1. Years ago I was used compiling wine myself but after the arrival of PPA, i stopped to do it. Can anyone suggest me a link where to find a comprehensive but technical recent "How to" regarding compiling wine (2.x) from source?
Thank you in advance for any suggestion!

This is quite useful: https://wiki.winehq.org/Building_Wine

If you need only 64-bit Wine, it's very easy. But if you need WoW64 (with 32-bit support), it becomes more messy (I ended up using lxc containers for that). But lately I'm using custom Wine to test TW3 which is 64-bit. So I simply build 64-bit only.

Also, it's useful to know how to run custom Wine. You just need to set a few environment variables. See here.


Last edited by Shmerl on 13 April 2017 at 9:21 pm UTC
mrdeathjr Apr 13, 2017
Quoting: ShmerlYep, that's it. It should be like this:

csmt_on.reg

REGEDIT4

[HKEY_CURRENT_USER\Software\Wine\Direct3D] 
"csmt"=dword:1


And I removed that staging dll redirect. It's pointless with this.

Holy shit works (need for speed hot pursuit show both cores at 99%, normaly only use 1 core to 99%)

In my case add CSMT in wined3d as dword as your said with 1 in value

Many thanks

Update: in hot pursuit use both cores at 99% but performance remains equal

^_^


Last edited by mrdeathjr on 13 April 2017 at 9:24 pm UTC
Tetractys Apr 13, 2017
Quoting: ShmerlThis is quite useful: https://wiki.winehq.org/Building_Wine

If you need only 64-bit Wine, it's very easy. But if you need WoW64 (with 32-bit support), it becomes more messy (I ended up using lxc containers for that). But lately I'm using custom Wine to test TW3 which is 64-bit. So I simply build 64-bit only.

Also, it's useful to know how to run custom Wine. You just need to set a few environment variables.

Thanks! I'll follow the LXC path since I need the 32-bit installation too (Eve Online).
mrdeathjr Apr 13, 2017
Quoting: Guest
Quoting: mrdeathjrHoly shit works (need for speed hot pursuit show both cores at 99%, normaly only use 1 core to 99%)
Nice!
Do you think this will fix WOW only using 1 core too?

Maybe but at simple seek test various titles and performance remains equal

However in henri verbeet multi-threaded command stream implementation commit appears more information about performance issue

Quotehttps://source.winehq.org/git/wine.git/commit/e97ed10d09a94cae9bd449f297813a0f0722a378

wined3d: Introduce a multi-threaded command stream implementation.

The primary purpose of this patch is to serialise draws
from multiple threads, without the overhead of extra flushes
that "StrictDrawOrdering" imposes.

With additional work, offloading state processing and driver
overhead to a separate thread may also allow for improved
performance in some applications, but that's not a goal of this patch.

^_^


Last edited by mrdeathjr on 14 April 2017 at 12:00 am UTC
Avehicle7887 Apr 14, 2017
Has anyone managed to activate CSMT using the Wine from this repo?: https://dl.winehq.org/wine-builds/ubuntu/pool/main/

I downloaded the 2.6 packages, everything works fine but there is no sign of CSMT, I tried to activate it with the registry key shmerl mentioned and didn't have any effect.

I even made a clean wine prefix to make sure the registry is clean from the previous wine-staging settings.


Last edited by Avehicle7887 on 14 April 2017 at 11:35 am UTC
mrdeathjr Apr 14, 2017
In this wine version solve some bugs case ducktales remastered, before appears corrupted graphics specially characters

View video on youtube.com

But in other things steam stay affected if you dont use dwrite as native or disable, steam dont begins

Another side effect of before situation is steam overlay dont work in this version, using native dont show overlay

In CSMT related as other said dont stay completly implemented, this is confirmed for stefan dosinger in phoronix forums

QuoteNote that there are still some parts missing compared to my old code.

In particular, resource maps are still synchronous, so most games won't see a performance gain yet.

It's coming, please be patient :-) .

The existing code is likely to help with games that needed StrictDrawOrdering=enabled already.

However using CSMT in wined3d registry as dword with 1 value solve certain problems case flickering in senran kagura shinovi versus, bayonetta

View video on youtube.com

Maybe other titles can be affected

^_^


Last edited by mrdeathjr on 14 April 2017 at 8:22 pm UTC
Shmerl Apr 14, 2017
Quoting: Avehicle7887Has anyone managed to activate CSMT using the Wine from this repo?: https://dl.winehq.org/wine-builds/ubuntu/pool/main/

I downloaded the 2.6 packages, everything works fine but there is no sign of CSMT, I tried to activate it with the registry key shmerl mentioned and didn't have any effect.

How exactly do you test if it's activated or not? With The Witcher 3 the result is visible in the main menu. Without CSMT it's messed up.


Last edited by Shmerl on 14 April 2017 at 5:02 pm UTC
adamhm Apr 14, 2017
I see this when CSMT is enabled:

err:winediag:wined3d_dll_init Setting multithreaded command stream to 0x1.
Shmerl Apr 14, 2017
Quoting: adamhmI see this when CSMT is enabled:

err:winediag:wined3d_dll_init Setting multithreaded command stream to 0x1.

It means it works.
Avehicle7887 Apr 14, 2017
Quoting: Shmerl
Quoting: adamhmI see this when CSMT is enabled:

err:winediag:wined3d_dll_init Setting multithreaded command stream to 0x1.

It means it works.

I get that message too in terminal, however the fps in my games is the same as if csmt is disabled.
Shmerl Apr 14, 2017
Quoting: Avehicle7887I get that message too in terminal, however the fps in my games is the same as if csmt is disabled.

That's because this CSMT is only partial implementation, and doesn't address all performance improvements yet.


Last edited by Shmerl on 14 April 2017 at 8:36 pm UTC
Avehicle7887 Apr 14, 2017
Quoting: Shmerl
Quoting: Avehicle7887I get that message too in terminal, however the fps in my games is the same as if csmt is disabled.

That's because this CSMT is only partial implementation, and doesn't address all performance improvements yet.

That clears it up I guess, I'll wait for Staging 2.6 then before I do any further testing.
Liam Dawe Apr 14, 2017
Quoting: Shmerl@liamdawe: Can you add the above info about enabling CSMT to the article please? It's totally not obvious.

I suppose they'll add this info here later: https://wiki.winehq.org/Useful_Registry_Keys
So, like this?

Just making sure I have it right.
Shmerl Apr 14, 2017
Quoting: liamdaweSo, like this?

Just making sure I have it right.

Yep.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.