protonscr

[D9VK] Mudrunner consumes all 8GB of VRAM and locks system.

dxvkopen d3d9
doitsujin/dxvk#4243 · opened 2024-09-07 by barthess · updated 2025-08-11 · 11 comments · github
Bbarthess 2024-09-07 github

I play Mudrunner https://store.steampowered.com/app/675010/MudRunner/ on default settings.
I use radeontop to monitor VRAM consumption.
On vanilla maps the game consumes about 4-5GB and cause heavy sound stuttering during loading. When map loaded VRAM usage drops to ~1GB and game becomes playable. When I try to play some modded maps with lots of new geometry the game consumes all my 8GB of VRAM and locks system. Some times before system lock I can catch "radv/amdgpu: Not enough memory for command submission" message in console and similar messages in dmesg. After lock the only way out is reset button or sysrq+B. I replaced radv with amdvlk but it doesn't help. Bug reproducible with my system wine and with different proton versions in steam (checked Experimental, 8.0, 5.13). The only way to fix is disabling dxvk "PROTON_USE_WINED3D11=1 %command%" command line in Steam. I've found similar report here https://bbs.archlinux.org/viewtopic.php?id=298993

System information

AMD Radeon RX 7600 (0x1002:0x7480:0xCF)
amdgpu
mesa-24.2.1
wine-staging 9.16
DXVK: v2.4

Apitrace file(s)

https://disk.yandex.ru/d/TbL8V0tLwj-XVw

Log files

game.log

Ddoitsujin maintainer 2024-09-07 github

I'm not seeing excessive memory usage when replaying the trace so I'm not sure if this is exactly your problem, but the game creates several huge textures every single frame and then immediately destroys them. Needless to say, this is exceptionally dumb, and since DXVK needs to manually clear memory we're keeping these textures alive for several frames.

Bbarthess 2024-09-07 github

Can I workaround this setting low FPS limit (DXVK_FRAME_RATE=2) during game loading? Can I later set it back to 60 on the fly?

Jjrugia 2024-09-10 github

@barthess Far as I know changing DXVK_FRAME_RATE value won't do it on the fly.

Instead you can use Mangohud where you can set several fps limits in its config file and switch by press R.Shift + F1 (in my case).

Bbarthess 2024-09-11 github

@jrugia Thanks! It works for me. 20 FPS limit is enough to successful map load. Loading process became much slower but game became playable. Even with SpintiresMod.

BBlisto91 2024-11-29 github

@barthess Could you give this a shot with 2.5.1 to see if anything has changed?

Bbarthess 2024-12-01 github

@Blisto91 Nothing changed. I tested it with proton experimental with the following dxvk version

2064.724:0124:0128:info:dxvk-nvapi:NvAPI_Initialize
2064.724:0124:0128:info:dxvk-nvapi:DXVK-NVAPI experimental-9.0-20241121b NVAPI gcc 10.3.0 x86_64 plain (MudRunner.exe)
info:  Game: MudRunner.exe
info:  DXVK: v2.5.1-2-gdd15328ccf87f70
info:  Build: x86_64 gcc 10.3.0
Bbarthess 2024-12-02 github

I was (partially) wrong. This huge modded map https://steamcommunity.com/sharedfiles/filedetails/?id=2608775781 locks my system as usual. But small 1kmx1km maps work better. Now there are no HEAVY stutters just after map loading especially when you rotate camera view with mouse.

BBlisto91 2025-06-08 github

I don't think this will necessarily change anything for this case, but could be interesting with a retest using this build https://github.com/doitsujin/dxvk/actions/runs/15523148840

Edit: Updated link
Edit 2: Again

Bbarthess 2025-06-09 github

Nothing changed.

BBlisto91 2025-08-07 github

@barthess when ever you get your system updated with the mesa 25.2.0 release I'd be curious to hear if running the game withRADV_PERFTEST=nogttspill along with dxvk 2.7+ helps the issue

Edit: corrected option name

Bbarthess 2025-08-11 github

Mesa-25.2.0, kernel-6.16.0, DXVK: v2.7-9-g3265e4aa43b9d38, Proton: 1754407158 experimental-10.0-20250805
That env variable doesn't help. Proton log here https://korchma.org/yadisk/steam-675010.log
See replay with vram monitoring ontop https://korchma.org/yadisk/Replay_2025-08-11_16-23-23.mkv
First game autoloads the last successful save with 1x1 km map, later I manually load 2x2.5 km modded map "Missile base".

Proton versions

Launch options

Launch lines