Closed lle211967 closed 5 years ago
You need to bisect the issue before anything can be done about it
Try deleting the state-cache file on the game path
Log files? Hardware configuration? Can you please give the info that was requested in the issue template?
Anyway, if this is a regression, please bisect it.
I couldn't test Battlefield V but OP said the issue was still there with Battlefield 1, thought I'd fill out a whole report.
I noticed that when I switched from 0.92 to 0.93, there were large spikes in frametime causing lots of lag spikes. The issue was gone when I switched back to 0.92.
Battlefield 1 ultra preset @ 1080p 144Hz no vsync
@JibbityJobbity Isn't that just shader compilation? There is absolutely no reason for 0.93 to introduce frame time issues. Apparently BF1 doesn't like 5d49644cdc071866c5556997a35bd946d7724457 though, so reporting your hardware as an actual Nvidia card via dxvk.conf
might help.
As for BF5, I heard from another person that it runs pretty much the same on both 0.92 and 0.93. I don't think there's an actual bug here, just people being impatient about shaders being compiled.
I don't think it's shaders for me, I ran through the same scene a few times and switched dxvk versions but it still happened. That being said, yeah, it got fixed when I set it to my actual card ID. Maybe add a default config?
Interesting... So we might end up with a list of "spoof nVidia cards BACK to nVidia" compiled in then? :)
If games insist on running slow code on AMD then yes. I'd prefer if this wasn't necessary, but the D3D11 ecosystem is a mess, and games are an even bigger mess.
And tbh i am not a huge fan of the "compiled in defaults" at all, but would rather see either a "game overrides" section in the dxvk.conf file, although i know a local "in the same folder as .exe" works as it is now.
Something in the line of:
# Override settings for BattleField 1
{ bf1.exe,
dxgi.customDeviceId = xxxx,
dxgi.customVendorId = xxxx,
dxgi.whateveroption.ppl.find.suitable = yes }
# Override settings for ThatAwesomeGame
{ awesome.exe,
dxgi.maxFrameLatency = 2 }
And you could publish this in a "gamesettings.dxvk.conf" file in the sourcetree, where its updated with whatever new settings and whatnot, instead of ppl needing to look at the wiki for new available settings (and best of all, not having to recompile to get that game working)
Just an idea.. Dont be mad :)
Hi, sorry, i missed my hw configuration. System specs: hw: ryzen 7 2700, 16 gb, nvidia 1060 6 gb os: suse leap 15 sw: mesa 18.3, nvidia 415.18, wine staging 3.21, dxvk 0.93
I tried to set the card ID and vendor ID in dxvk.conf main config file. No other parameter set. Set the Card ID fix the problem not for my setup. Frames get stuck and frame rates drop from 70 to 19.
In my wine config i disable nvapi.dll and nvapi64.dll because BF have problems and recognizes a wrong nvidia driver version. Without disable nvapi i can't run BF (3,4,1 and V).
Maybe i missed something but i changed only the dxvk version from 0.92 to 0.93. After downgrade to 0.92 it works like a dream.
@SveSop not an option. The defaults are necessary because they require no user interaction at all, and that is especially important for Proton.
@lle211967 as mentioned, there is at least one other user who doesn't run into problems with 0.93 in BF5. If you think it's a DXVK regression, then please bisect it.
@doitsujin Not sure i understand the reason it is especially important for proton, cos they could just aswell have a dxvk.conf file included in the dist. (Just like the /.steam/steam/steamapps/common/Proton 3.16/user_settings.py
script already is)
Then again, one can just aswell use config file overrides as it is now, just thought it COULD be less of a fiddly art for you to add patches to the source every time someone finds a setting that works :)
But they don't, and they shouldn't have to, and having multiple different locations for config files is also less than ideal. There's no reason to break existing workflows.
They dont cos its "not an option". There is no "multiple different locations" for the user_settings.py script now tho, cos its tied to the proton version you are currently using (is my understanding of it), and thus ALSO to the dxvk version included in that proton folder.
The current "existing workflow" to my knowledge for the END-USER is that Steam update Proton "if-needed", and its still at wine-3.16 w/dxvk 0.90.. so they probably already have missed a few inclusions and reverts to the dxvk source...
Well.. No point in debating. Ill stop now, and let the thread get back to topic :) Sorry.
Hi, okay... i found some diffs in the log files that could give some more information of the problem. btw: The problems are not only in BF V it is the same on BF 1 and BF 4. All Versions are running well without the mentioned problems with the 0.93 Release of dxvk. Here 0.92 :-)
In the diff. log entries there are a interesting lines: NvAPI workaround enabled, reporting AMD GPU
At my hw setup i use a ryzen amd cpu. Maybe here is the problem. Maybe the other user without any BF V problems use a intel cpu?
In addition there are also different numbers of state cache entries. But i don't know if this is normal.
**I'm sure this is a complex Environment but changing only the dxvk version from 0.92 to 0.93 and nothing else let me doubt that anythin else can be the problem than the change to the version 0.93.
Here are the diff results of the dxgi_log files of versions 0.92 and 0.93:
diff bfv_dxgi.log /data/daten/temp/lle/0.93/bfv_dxgi.log info: DXVK: v0.92 info: DXVK: v0.93 info: DXGI: NvAPI workaround enabled, reporting AMD GPU info: DXVK: v0.92 info: DXVK: v0.93 info: DXGI: NvAPI workaround enabled, reporting AMD GPU info: DXGI: NvAPI workaround enabled, reporting AMD GPU info: DXGI: NvAPI workaround enabled, reporting AMD GPU info: DXVK: Read 5178 valid state cache entries info: DXVK: Read 5060 valid state cache entries**
I tried to set the card ID and vendor ID in dxvk.conf main config file.
Apparently you screwed that up, because you shouldn't be seeing info: DXGI: NvAPI workaround enabled [...]
. Please make sure that your config file is correct, and maybe set the environment variable DXVK_CONFIG_FILE=/path/to/dxvk.conf
.
Also, please fix the formatting of your comment, I'm not blind.
@SveSop
As "an option" you can try https://github.com/simons-public/protonfixes , where you can easily get your Nvidia GPU back (or whatever) for both WINE and DXVK (for Proton).
By setting e.g. ~/.config/protonfixes/localfixes/<GameID>.py
from protonfixes import util
def main():
util.protontricks('force_gpu=nvidia')
util.set_dxvk_option('dxgi.customDeviceId', '10de')
util.set_dxvk_option('dxgi.customVendorId', '13c2')
util.set_dxvk_option('dxgi.whateveroption.ppl.find.suitable', 'yes')
formatting of your comment : Done, sorry that was not my intention. happened at the copy and paste task :-(
I setup a dxvk.conf config file. But i don't use any settings. And the lines with AMD is only in version 0.93. Should it appear in the version 0.92?
@lle211967 If you dont set any options, the default compiled version is to "fake" all nVidia cards to AMD cards.
You must set THIS in the config file:
dxgi.customDeviceId = 10de
dxgi.customVendorId = 1c06
If you put that file in the same folder that your .exe file is (inside the wineprefix) called dxvk.conf it should be read... or you can specify this with eg:
export DXVK_CONFIG_FILE=/home/youruser/theplaceyoulike/dxvk.conf
(obviously changing THAT folder to the REAL folder)
@SveSop Thank you. I setup this two parameters but it don't help.
I tried a another game Titanfall 2 and this game has no problems at all with the 0.93 Version. No stuck and frame drops. Also here are the AMD Workaround messages in the dxgi log?! I test BF V, BF 1 and both has the same problems. After this i make a test with BF 4 and i can't believe it, BF 4 runs well without any problems. Like Titanfall 2. I have no ideas anymore :-( I think we close this post. Seems i was the only one who has problems with version 0.93 and BF V and BF 1. I will have to use version 0.92 for this games.
Thank all for the support and help! lle
Hi, using wine 3.19, Mesa 18.3 and dxvk 0.93 and noticed a dramatic slow down of frame rates in Battlefield V, 1 and 4. Downgrade to 0.92 and anything is running well again. So i think it has to do with something changed in the build of the 0.93 Version. Btw: Thank you for this master piece of software ... you, the wine/Staging Team are geniuses :-)
Again... thank you lle