I am trying to play Dark Souls III and Raise of the Tomb Raider, but both games freeze when using DXVK after a while. The freeze seem to be randomly, since I can restart the game and play some more through different parts. Other games that does not use DXVK, just wine, run fine. I have tried to use different nvidia settings, but no lucky. I have tried many different versions of DXVK (0.52, 0.51, 0.50, 0.42) through Lutris, but the games always freeze.
I am using a:
Updated Arch Linux
GeForce GTX 660 Ti
Driver: 396.24.0
Vulkan: 1.1.70
Try disabling "Allow flipping" in the Nvidia settings. That option is known to cause issues with DXVK.
That said, for Rise of the Tomb Raider you shouldn't be using DXVK in the first place. That game has an excellent native port.
@doitsujin, I tried disabling "Allow flipping", but it does not help. The game freezes any way.
In that case I can't help, Dark Souls 3 runs fine on my end.
Could it be Lutris messing things up?
@mradermaxlol, is not Lutris, for sure. I tried with a new wineprefix with DXVK compiled on my pc, and Dark Souls III still freezes after some game play...
@oangelo : you don't run out of vram, do you ?
@pingubot, It might well be the case, since I only have 2G of vram. Looking at nvidia-smi, after the menus, when the game loads the world, almost all the vram is used. There is a workaround, other than purchasing a newer video card?
@oangelo I can be wrong, but isn't Linux able to allocate more VRAM from system memory (RAM) when the system is running out of the former?
@oangelo : can you try to reduce the games graphicals settings which influecen vram usage so that you don't hit the vram limit and see if it still freezes ?
@mradermaxlol OpenGL / Direct3D 11 can do that, but with Vulkan everything is explicit. I'm not sure if DXVK implements this feature yet.
DXVK allocates from system memory when VRAM is full.
@oangelo it would be helpful if you could at least post some DXVK log files. Right now we have no information about anything at all.
It seems like it freezes if fullscreen/windowed fullscreen without vsync is used.
It is quite stable in windowed mode.
I am using gnome-shell and flipping is disabled in Nvidia control panel.
@pingubot, I am using the lowest possible graphics options, and using a higher resolution or a lower one makes no difference, the problem persists.
@Janhouse, using windowed mode does not help, but it seems I can play longer before the freeze. I tried with 1280x720 resolution windowed.
@doitsujin, here are some log files.
DarkSoulsIII_d3d11.log
DarkSoulsIII_dxgi.log
So it's not an out-of-memory issue, but there's nothing suspicious in those logs either. No idea what's wrong.
@oangelo Heat related? DXVK could very well be taxing the gpu/vram more than wined3d...
You could try lowering the clocks by enabling nvidia control panel tuning by adding: Option "Coolbits" "12" to your /etc/X11/xorg.conf file. There you can tweak mem/core clocks, and see if things improve with lower values.
Sometimes those myriads of MSI/Asus/Whatever manufacturers kinda goes overboard with their "OC Tuning" and whatnot. Specially since nVidia in newer cards have some sort of "automatic clock rate" crap that more or less cares about total WATT usage and can "boost" clocks sometimes beyond stability for short amount of time. Just a tip :)
I'm also experiensing freezes shortly after game is started, and it looks related to fullscreen mode as @Janhouse mentioned. Games (tested Max Payne 3 and Witcher 3) run pretty stable in windowed mode, but they freeze about a few seconds after start in fullscreen.
To test if it's a temperature or RAM issue: Open a connection to your machine via SSH from another PC. Run the game on the problem PC and then run "nvidia-smi" from the other machine over SSH when you start running into problems. You'll get a readout of what's using how much VRAM and current temperatures which will confirm (or deny) both theories.
You'll get a readout of what's using how much VRAM and current temperatures which will confirm (or deny) both theories.
In theory yes. However, it is not always given what temperature your gpu will crash at. It MAY happen that my gpu is 100% stable at 85 C, while yours may crash at 83 C.
@oangelo
I use this nvidia-smi line that keep updating the info every 0.5sec, to keep tabs on whats going on.
nvidia-smi --loop-ms=500
Not sure what is "normal" values for 660Ti, but i guess you should not pass too much over 80C before things might get shaky. nVidia driver "should" throttle down your clocks tho, but i guess that is also up to the bios, and in some of the "OC" variants, it will not do that when it should :)
@Enverex Good idea to run SSH to the box and run the above line and see what happens.
Max temp for pretty much all Nvidia cards is between around 100'c and 120'c depending on the card so they should be close enough. A card failing at around 80'c is going to be due to the card itself being defective. OPs card, for reference, is spec'd for 97'c max.
This is misleading as such temps are when hardware securities are triggered and the card will either shut down or lock itself to 2D clocks. Max temp is not safe temp. Kepler cards like OP's 660ti will throttle if going over 70C掳 GPU core temp.
Thanks for the feedback, guys. I tried a lot of configurations, but nothing truly solves the problem. The underclock also seems not to solve the problem, @SveSop. I think that using a lower resolution in windowed mode makes the game work for some more time, but it does still freezes. My GPU has a very bad cooling management, actualy, I have to set manualy the fan speed when a want to play something, other wise, it getts too hot and the frame rate falls too much. The strange thing is that it does not freezes using just wine in other games, like Dark Souls II, Doom, Cemu or RPCS3. I bought another GPU, as soon as it arives I will try it, if it solves the problem or not, I will post here.
If your 660ti is coming with 2GB VRAM, you also may want to monitor VRAM usage. Nvidia cards/drivers are having issues overcommitting VRAM right now with DXVK.
I think there are two different bugs. The freezes we get happen seconds after start and happen always only in fullscreen. Probably nothing to do with ram or temperature.
@Janhouse Could be, but i do not seem to have the same freeze bug with my GTX 970 card as the OP with his 660Ti.
So, what is the differences?
If the DXVK version is the same, and the driver is the same, it COULD ofc be Linux distro/kernel version and other stuff, but in theory to start troubleshooting giving that the driver/os/kernel is bahaving as it is supposed to - the only logic would be instability in hardware.
Other stuff to test might be wine settings of different kinds? I tend to always have a more stable result in "less prone to weird resolutions and things" by using wine's virtual desktop setting it the same as my resolution monitor resolution (1920x1080). Most of the reason i ended up doing that + using "devilspie" is that i run a dual monitor setup, and wine sometimes gets annoyingly confused with the desktop being 2x 1080p display.. So to combat that i use virtual desktop + a devilspie script putting the wine desktop on the monitor of choice. Not had any issues running fullscreen or windowed mode in that setup.
GTX 1080, NVidia 396.24.02.
Not sure if the nature of the freezes is the same, but I get frequent freezes with Witcher 3 (and other games as well, but I don't have many DX11 ones). Screen freezes with music still playing. The PC is responsive, only after I kill the game whole PC freezes for a period of time (~30s), after which it recovers and starts working again.
The freezes seem to vanish when limiting the framerate to 60 - this is what I use to overcome the issue (havent tested longer sessions in a while, but reducing framerate DOES have a possitive effect on the issue).
I have flipping disabled in the nvidia-settings. Witcher 3 is set to be rendering to borderless window, with framecap to 120 or 60 (hacked config to double the frame limmiter). I tried __GL_YIELD="USLEEP" which didn't help. VSync off.
Can you test whether this patch fixes the freezes? Note that it will reduce performance significantly, so you might need to reduce settings in order to get significantly more than 60 FPS in those games.
I've tested with and without the patch 2x in one spot. Settings on LOW to get framerate above 60 (which is an arbitary number - my display's VSYNC is set to 120).
With the patch I didn't get a freeze in that spot, and the FPS was around 70
Without the patch, I did get almost immediate freeze both times, with FPS slightly above 100.
I have to mention this, although it probably is not related: I did get a freeze with the patch in non-gameplay situation - after changing settings when the game was re-initializing some stuff. The nature of the freeze was different though - the whole PC frozen after the mouse movement become jerky. I think I hit another issue there, the freeze was different - and it didn't happen whilst the FPS was high.
Tagging on here, I'm also experiencing freezing in Dark Souls Remastered on my GTX 1070. Arch Linux with everything updated. I can switch out of the game and kill it.
edit: I tried out windowed mode in Dark Souls Remastered and it's given me the most stability. Borderless and fullscreen both cause problems at about the same rate.
Arch and GTX980 user here,
I've got the same problem of freeze with many game like Witcher 3. Disable the full composition pipeline option on Nvidia-setting solve the problem for me.
Indeed, disabling "full composition pipeline" in Nvidia settings stops the immediate freezing problem but this is not really a solution because without that setting I get screen tearing everywhere else.
Well, I'm not sure what I should do about that. I'm not even sure if this is a bug on my end. For now there's pretty much nothing I can do except guessing what Nvidia's driver might be choking on.
You could use the patch I posted earlier, but as mentioned that easily reduces performance by 30%.
@Janhouse: Composition pipeline is Nvidia's messy way to provide triple buffering of some sort, since they don't play nice with standard DRM/KMS vsync, like Mesa does (thus all the tearing). May be you can make an application profile that has that option disabled only for TW3 in Wine? This way it won't get disabled for everything else.
Can anyone please test this patch:
dxvk-semaphore-test.patch.txt
If this doesn't freeze (please make sure to test with composition pipeline enabled), I might have an idea what's going on.
I bought a GTX 1060 with 6G of RAM, and now I can play full screen and high resolution, BUT, using only DXVK version 0.51 in Lutris. I've compiled the latest version of DXVK also, using the Arch Linux dxvk-git package, and it freezes as soon as I enter the game. I have not found the "complete composite pipeline" in Nvidia's configurations to disable it and test it again.
@doitsujin I tried your patch, but I have a new problem. I receive the error "The system does not meet the minimum DirectX 11 / Shader 5.0 GPU requirements to run the application." I don't think this is related to the patch as I was having this problem with the git version previously.
@zacjor For latest master you need both wine-3.10 and Nvidia 396.24.02. You can apply the patch to v0.54 thogh (just `git checkout v0.54).
I had very similar issue caused by nVidia driver 396.xx.
nvidia-driver-3:390.59-1.fc27 - everything works OK.
nvidia-driver-3:396.24-1.fc27 - games working but only for very short time. Display is frozen, sound is OK. Only solution is change to VT or remote access and kill game. This issue is not DXVK directly related, because the same problem I had with Vulkan game Wolfenstein II The New Colossus.
I had to downgrade driver to previous version 390.59 and now again everything is working OK without freeze.
As mentioned you need 396.24.02 and also leave the nvidia compiler enabled, disabling it will cause freezes, which is kinda what happens when running older driver versions (effectively using old compiler).
To get smoother framerate you can try defining a custom shader folder, seems to help a little bit.
@jarrard The thing is there is probably not one issue or there are combinations of circumstances that are different for everyone. I do have Flipping disabled, I use the new compiler, and I don't have either of the "Force Composition" options enabled, yet still I get almost instant freeze.
Now I tested the second patch (dxvk-semaphore-test.patch.txt) and it didn't freeze in the 2-3 minutes I ran the game with Forced Full Composition enabled with around 80-100 FPS.
Then I tested with the setting disabled again (Forced Composition) - and I got an almost instant freeze I had to reboot my PC to get rid of.
Edit: Wording
I confirm that dxvk-semaphore-test.patch.txt allows playing fullscreen with full composition enabled. :+1:
If it is also possible to check if that setting is enabled then this should probably be merged in at some point.
I try dxvk 0.54 with dxvk-semaphore-test.patch.txt. Skyrim SE still freeze for me. Doesn't matter with or without composition pipeline. I play on ArchLinux and GeForce 1070 (driver: 396.24-12, vulkan: 1.1.70).
@yacuken not sure if your test is valid - NVidia driver 396.24.02 contains shader compiler changes and other changes that are needed for DXVK. Please try updating to that dev. beta driver first - your freezes might be caused by old driver.
Edit: Wording
ESO locked up for me too. Basically have to hard-kill the Wine processes via SSH to get the machine back. Trying now with the patch to see if it happens again.
While this is probably a DXVK bug, I'm completely out of ideas.
Increasing the number of semaphores doesn't help, increasing the number of swap images doesn't help, changing the present mode doesn't help. The only thing that seems to fix these issues is to synchronize with the GPU immediately after presentation, but that reduces performance significantly.
I looked into this issue and was able to reproduce the hangs on Witcher 3.
However I found that these would only reproduce when flipping is allowed. From my testing, whether the composition pipeline is enabled or not had no incidence. Only flipping did.
Several users reported hangs with flipping disallowed. Please note that "allow flipping" is one of these options that live in nvidia-settings, which means that this cannot be set through xorg.conf. nvidia-settings saves its settings in ~/.nvidia-settings-rc. Every time X is restarted, these options must be re-applied either by running nvidia-settings as-is, or by passing the "--load-config-only" parameter (typically in an .xinitrc script).
That means that users that disable flipping and then reboot will still have flipping allowed. Moreover, there is currently no way to tell if flipping is currently enabled on a given GL/VK application. I realize this is not ideal and both of these issues are being addressed.
For the users that reported hangs with "allow flipping" disabled, could you please double check that the setting is actually applied? If the hangs still reproduce, could you run nvidia-bug-report.sh and attach the report here?
Otherwise, I do have a driver fix for the hangs with flipping. A driver update should be coming shortly.
The setting isn't enabled by default though is it? So if you've not used nvidia-settings, it should be off, correct?
Pretty sure its enabled by default if you install the nvidia drivers.
I haven't played witcher3 long enough recently to determine if there are crashes with my dxvk0.60+, wine3.11staging, NV-396.24.02 install.
"Allow flipping" is enabled by default.
And I would expect vsync off to increase the chances of hangs.
Awesome. Thanks.
I was the one of those with issues regarding "Allow Flipping", but as you said, disabling flipping and adding nvidia-settings -l to .xinitrc nullified the freezes completely.
If you need another test case, The Elder Scrolls Online will hang 99% of the time at the character selection screen with vsync disabled and flipping enabled.
Related bug report: https://github.com/doitsujin/dxvk/issues/394
This usually done by system when nvidia-drivers installing via package manager, by adding e.g. /etc/X11/xinit/xinitrc.d/95-nvidia-settings script
#!/bin/sh
/usr/bin/nvidia-settings --load-config-only
$ nvidia-settings -q AllowFlipping -q SyncToVBlank to check current state.
The driver fix that @damienleone mentioned here https://github.com/doitsujin/dxvk/issues/433#issuecomment-401215782 is now available in our 396.24.10 driver here https://developer.nvidia.com/vulkan-driver.
Nice. Some people are reporting that the issues are fixed so I'll close this one.
Most helpful comment
The driver fix that @damienleone mentioned here https://github.com/doitsujin/dxvk/issues/433#issuecomment-401215782 is now available in our 396.24.10 driver here https://developer.nvidia.com/vulkan-driver.