https://bugs.winehq.org/show_bug.cgi?id=43781
Bug ID: 43781 Summary: (Overwatch) d3d_shader error caused FPS drop Product: Wine Version: 2.17 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: maxi.cass11@gmail.com Distribution: ---
Created attachment 59293 --> https://bugs.winehq.org/attachment.cgi?id=59293 log with WINEDEBUG=-d3d,-dxgi,-d3d11
Hello, Overwatch have lot of FPS drop with wine and when I have FPS drop wine write d3d_shader error on the terminal (I have attach the log) On the log it's the lines start with fixme:d3d_shader:print_glsl_info_log
(I can't test wih non-staging version because I can't run battlenet without staging version)
I have used WINEDEBUG=-d3d,-dxgi,-d3d11 flags because the error flood the terminal If you want more log I can test with differents WINEDEBUG flags
https://bugs.winehq.org/show_bug.cgi?id=43781
Amosar maxi.cass11@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Mint CC| |maxi.cass11@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=43781
--- Comment #1 from Matteo Bruni matteo.mystral@gmail.com --- (In reply to Amosar from comment #0)
Overwatch have lot of FPS drop with wine and when I have FPS drop wine write d3d_shader error on the terminal (I have attach the log) On the log it's the lines start with fixme:d3d_shader:print_glsl_info_log
That suggests you're experiencing stuttering during GLSL shader compilation, which is somewhat of a known issue. Are you using the Nvidia proprietary drivers? Does it get any better in subsequent runs of the game?
https://bugs.winehq.org/show_bug.cgi?id=43781
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|(Overwatch) d3d_shader |Overwatch: FPS drops, |error caused FPS drop |apparently matching with | |d3d_shader traces
https://bugs.winehq.org/show_bug.cgi?id=43781
--- Comment #2 from Amosar maxi.cass11@gmail.com --- Okay, and yes I use the Nvidia proprietary driver with optimus.
https://bugs.winehq.org/show_bug.cgi?id=43781
Amosar maxi.cass11@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Overwatch: FPS drops, |FPS drops, apparently |apparently matching with |matching with d3d_shader |d3d_shader traces |traces
https://bugs.winehq.org/show_bug.cgi?id=43781
ywecur emilio.alvarez96@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |emilio.alvarez96@gmail.com
--- Comment #3 from ywecur emilio.alvarez96@gmail.com --- I'm having the same issue. I'm using an R9 390.
https://bugs.winehq.org/show_bug.cgi?id=43781
mirh mirh@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mirh@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=43781
Storm Engineer hewanci@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hewanci@gmail.com
--- Comment #4 from Storm Engineer hewanci@gmail.com --- (In reply to Matteo Bruni from comment #1)
(In reply to Amosar from comment #0)
Overwatch have lot of FPS drop with wine and when I have FPS drop wine write d3d_shader error on the terminal (I have attach the log) On the log it's the lines start with fixme:d3d_shader:print_glsl_info_log
That suggests you're experiencing stuttering during GLSL shader compilation, which is somewhat of a known issue. Are you using the Nvidia proprietary drivers? Does it get any better in subsequent runs of the game?
That sounds like my experience. The first few minutes of the first match are completely slideshow and then it gets better, but not consistently.
Is there any known fix or workaround?
Any settings that may at least help to decrease the issue? I tried adjusting graphics but didn't seem to make a difference.
https://bugs.winehq.org/show_bug.cgi?id=43781
--- Comment #5 from Amosar maxi.cass11@gmail.com --- (In reply to Storm Engineer from comment #4)
(In reply to Matteo Bruni from comment #1)
(In reply to Amosar from comment #0)
Overwatch have lot of FPS drop with wine and when I have FPS drop wine write d3d_shader error on the terminal (I have attach the log) On the log it's the lines start with fixme:d3d_shader:print_glsl_info_log
That suggests you're experiencing stuttering during GLSL shader compilation, which is somewhat of a known issue. Are you using the Nvidia proprietary drivers? Does it get any better in subsequent runs of the game?
That sounds like my experience. The first few minutes of the first match are completely slideshow and then it gets better, but not consistently.
Is there any known fix or workaround?
Any settings that may at least help to decrease the issue? I tried adjusting graphics but didn't seem to make a difference.
If I have understand it's a problem with the convertion of hlsl shader to glsl shader. I don't have knowledge in how this work in wine but I think the shaders are generate to slowly and they create FPS drop when the game wait the shader. We need to wait a better hlsl shader converter.
https://bugs.winehq.org/show_bug.cgi?id=43781
Sveinar Søpler cybermax@dexter.no changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |cybermax@dexter.no
--- Comment #6 from Sveinar Søpler cybermax@dexter.no --- (In reply to Amosar from comment #5)
If I have understand it's a problem with the convertion of hlsl shader to glsl shader. I don't have knowledge in how this work in wine but I think the shaders are generate to slowly and they create FPS drop when the game wait the shader. We need to wait a better hlsl shader converter.
It may be a bit of a "mixed" problem, especially with nVidia. There seem to be a slow/crappy way that nVidia does the shader cache thingy, and it is more so noticeable on games that have their own shader cache. Sadly, disabling the use of shader cache saved on hdd will not solve this, as the driver seem to just switch to do it in memory instead... just as slow.
Cant find the thread atm, but was someone posting a video showing the exact phenomena im experiencing with different wine games (World of Warcraft in particular). It does get better over time tho, as long as you do not switch drivers or change wine versions, the cache will build until it is "ok".
Search google for "nVidia shader cache CEMU" (CEMU being a emulator).
So.. you would have: 1. nVidia driver is slow'ish caching shaders to their cache folder ($HOME/.nv/GLCache) 2. Wine is slow doing the HLSL -> GLSL translation.
Dont know if overwatch has its own cache of things, but i know World of Warcraft has it.. Clearing that + the .nv/GLCache folder after you upgrade drivers/wine rebuilds the cache at the expense of stuttering until most is rebuilt. Atleast so it seems :)
https://bugs.winehq.org/show_bug.cgi?id=43781
--- Comment #7 from Henri Verbeet hverbeet@gmail.com --- It's mostly that doing a good job of compiling complex GLSL is expensive, and draw-time isn't the ideal time to do that. Unfortunately it's not always possible to do it at any other time. The shader cache is in fact intended to mitigate that problem, but it only helps for shaders the driver has seen before. I.e., it should improve the experience the second time you encounter a particular scene in a game, but the first-run experience is still going to be poor.
There are a few things we could pursue on our side to improve things, but unfortunately none of those are particularly easy.
https://bugs.winehq.org/show_bug.cgi?id=43781
Adam Bolte abolte@systemsaviour.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |abolte@systemsaviour.com
https://bugs.winehq.org/show_bug.cgi?id=43781
tokktokk fdsfgs@krutt.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs@krutt.org
https://bugs.winehq.org/show_bug.cgi?id=43781
--- Comment #8 from Storm Engineer hewanci@gmail.com --- So is there any workaround for the time being? Any way to force-compiling those shaders before playing?
https://bugs.winehq.org/show_bug.cgi?id=43781
--- Comment #9 from Sveinar Søpler cybermax@dexter.no --- (In reply to Storm Engineer from comment #8)
So is there any workaround for the time being? Any way to force-compiling those shaders before playing?
Not atm.
There is a lot of progress with Steam and "Proton" + that Steam has some vulkan shader cache thing where you download pre-compiled cache. Not tested this myself, but in theory it should be something that over time will fix stuff like this.
DXVK has its own implementation of vulkan cache possibly for this purpose (or some time in the future some implementation of this with Proton).
You could give DXVK a whirl with Overwatch tho :)
https://bugs.winehq.org/show_bug.cgi?id=43781
--- Comment #10 from Storm Engineer hewanci@gmail.com --- (In reply to Sveinar Søpler from comment #9)
You could give DXVK a whirl with Overwatch tho :)
I just did that, and DAMN, my FPS went from 25 to 90. :-O UI love you for this suggestion! XD
Sadly though it didn't seem to make a difference with the shader lag. At least for now.
https://bugs.winehq.org/show_bug.cgi?id=43781
zzzzzyzz@hacari.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzzzzyzz@hacari.org
https://bugs.winehq.org/show_bug.cgi?id=43781
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #11 from joaopa jeremielapuree@yahoo.fr --- Does the bug still occur with wine-5.5?