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:
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:
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:
Then scroll through to Direct3D like so:
Then, you need to rename it to "csmt" and make sure the value is set to 1.
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:
Then, you need to rename it to "csmt" and make sure the value is set to 1.
Some you may have missed, popular articles from the last month:
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
0 Likes
Ah, I misread it. It's using dword (weird). Let me try again and setting it to 1.
0 Likes
Yep, that's it. It should be like this:
csmt_on.reg
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
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
1 Likes, Who?
@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
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
4 Likes, Who?
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
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
5 Likes, Who?
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!
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!
0 Likes
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
0 Likes
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
2 Likes, Who?
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).
0 Likes
Quoting: GuestQuoting: 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
0 Likes
See more from me