-
Notifications
You must be signed in to change notification settings - Fork 857
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Out of Address Space Megaissue #1318
Comments
Does this issues fall into this category? misyltoad/d9vk#165 |
No idea because you deleted your gists. Also the game uses both DXGI and D3D9 which may be an issue with nvapi hack thats default |
Fixed. |
I did some testing to compare address space usage between Windows and Wine/Proton and when we get into game. Wine/Proton is throwing away 1.3GB more address space than is used on Windows. No idea what/where though. |
Could be a driver/library issue, as with UE4 Editor on Linux, running with Vulkan, opening and closing a bunch of windows relating to a skeletal mesh and animations, I don't know exactly where, will cause a crash relating to running out of memory. |
[Here[(https://gist.github.com/ericwomer/f29e22d55467538a3adbddc837eb6fc1) is a log output for UE4 that I believe is related to the issue I was talking about. |
That's unrelated: UE4 is 64-bit, we're talking about address space not you just running out of physical memory here. |
It ran fine under OpenGL4, but with Vulkan it 'ran out of memory'. But I do have a 2 gb card which isn't much. |
I've had this issue with quite a few games even before D*VK and the first thing I do is patch the game to enable Large Address Aware. I've been using this tool for patching: https://github.com/randomstuff/pe-set-laa I've had a quite a few successes with this method: Legend of Grimrock 2, Risen 1 + 2, Titan Quest, Race Driver Grid, Tomb Raider Anniversary/Legend/Underworld and Far Cry 2...just to name a few. |
Hm I tried setting How ever this dose not happen if I run BL2 with WineD3D instead. Any further suggestions? |
Not sure if this is related but, turning Ambient Occlusion on takes a massive performance hit on D9VK titles, this setting seems to be broken, because on Windows it doesn't have the same effect, games I've tested are Borderlands 2 and Rocket League on NVIDIA cards. |
Try this on running Proton game (replace mem usage summarycat /proc/$(pidof winecfg.exe)/smaps_rollup | less mem usage per lib/exe/etc.cat /proc/$(pidof winecfg.exe)/smaps \
| grep -A1 '/' | tr '\n' ' '| sed 's/ -- /\n/g' | sed -E 's/ +/ /g' \
| sort -k8,8gr -k6,6 | less Edit: swap Maybe this will help to find suspect for detail analysis, IDK. |
I did some more analysis on the interesting repro scenarios. I summarized information about where all the VA space goes with this script and imported it into libreoffice and did a pivot table on the two columns to sum up the total maps for each distinct map type and did a sort to get the top consumers:
Here are the top consumers for some different scenarios in Borderlands 2 (a D3D9 game). Units are KB. These tests are on Nvidia 440 with the BL2 Ultra HD Texture Pack enabled running under Proton. Wine is at least 4.11 and DXVK is at least 1.5. Values didn't really change with newer or older wine/DXVK versions. After starting up with DXVK enabled:
When the game crashes gives the "Ran out of video memory! Exiting..." error. Do note that the reference to video memory is a red herring -- it runs out of address space:
After starting up with DXVK disabled, using WineD3D instead (and basically the steady state since it does not crash):
A few interesting points:
|
So, if the issue is not reproducible on Windows + DXVK, then it's likely Wine doing something unwanted. Either
Maybe |
I don't know if this is the same issue, but I use DXVK on Windows and somewhere in the last 7 days something broke it for every game I test. They all crash on initialization with many of them referencing out of video memory or no hardware accelerator detected. Rolling back to the artifact for depth bias fix corrects the issue. I haven't bisected builds yet to see which one caused this issue but I think it's related to this topic? I'll update if I find the exact commit that broke things for me. It was this commit 7c53a99 |
Yes, this is happening for me too. But I'm on Linux. |
Rocket League sometimes freezes in the lobby. The music continues until the song is finished. I get the following error message: As soon as I click on okay, the game ends. Could it have something to do with this? I'm not getting a dump and I don't see anything unusual. The game don't seems to use up all the video memory when I look at the memory usage with the "nvidia-smi" command. Everything looks normal. I'll try to get more information. Does Proton write log files somewhere? Apart from that, Rocket League runs perfectly with D9VK. |
@Oliver-1xok yes that freeze is this issue. It is not a video memory issue as referenced earlier in this issue. We already have the logs we need. @DaRkL3AD3R @dlshinobi I hope you filed another issue if this is still affecting you? Seems like a different problem from this issue. |
Those issues by that commit should already be fixed in master now @wgpierce |
I was told that my question was related to this. Walking Dead Season 1 crashes at launch when starting with vanilla wine and dxvk. I don't know enough about dxvk and wine to say anything about it, but installing a wine build with support for forcing LARGE_ADDRESS_AWARE (I used the 32 bit proton build here https://github.com/Kron4ek/Wine-Builds) and setting PROTON_FORCE_LARGE_ADDRESS_AWARE=1 or WINE_LARGE_ADDRESS_AWARE=1 will fix it. The LARGE_ADDRESS_AWARE patch is not implemented upstream yet as far as I can see, but it seems like that would be a fix for walking dead season 1 + dxvk compatibility with wine vanilla. If the other problems are also caused by this, it could be a fix for all of them. By the way: I copy pasted part of this as an edit into my own closed issue (If someone else has the same problem they can find it in 2 places this way). |
@Animajosser yes, LARGE_ADDRESS_AWARE is already being used. That can help 32-bit programs that use less than 4GB of address space with DXVK. This issue is all about programs that try to use >4GB of address space with DXVK because 32-bit programs cannot address >4GB of address space. When the program does try to map >4GB of memory, it fails. You can see this failure in this comment above |
I have a similar issue with Disco Elysium. The game doesn't crash, but after starting i'm getting no graphics except character's model and some objects. No background, just a blackness. And i'm getting some "out of memory" errors for my GT 710 with 1GB VRAM in terminal. I can reproduce it in 1.5.3. But the game works fine with 1.4.6, so it's a regression. |
Disco Elysium is a 64-bit game and therefore cannot run into this issue. The problem you're running into is #1100. |
Ye that would would be great thanks 🙂 |
Trace of loading with normal Direct3d https://mega.nz/file/JFdmFaiD#dVscXhfPOlKFCRwVtulkPx5eLEGFUR8vrxu4-O1ezJI |
Try checking if it helps unmapping more aggressively.
To verify the conf file gets picked up you can also enable the hud through there with |
Still runs out of memory in same area as before prbf2_d3d9.log |
Apparently this game (plus mod i guess) uses a ton of mapped buffers besides mapped textures. |
That sounds very promising. Is there already an issue to track that change? Very interested in the progress as using dxvk provides quite some FPS increase. I also did some further testing to better quantify the problem. The problem appears to come from the lighting+shadow system. This is something we did not touch yet (and probably never will) in the mod, so results should be comparable to normal BF2. Changing the configuration as mentioned above did not change these numbers.
|
There is no issue but I'll ping you for testing when something pops up |
I think i have the same issue on Final Fantasy: XIV where i get this spammed in the output before the game crashes:
Using wine-staging-7.8 on GNU Guix setting the $ cat boot/dxvk.conf
d3d9.evictManagedOnUnlock = True
d3d9.textureMemory = 16 |
Please make an apitrace of that game and open a separate issue. |
Civilization 4: Colonization (dxvk-2.0 / Proton-GE 7-42), including mod "We The People" I tried all the suggestions in this thread, especially the dxvk.conf ones. Memory use did not change using any of them. |
@jo-oe Hello. Also upload the dxvk logs that are generated while it crashes. |
apitrace: https://ufile.io/dxyrjfnm Hope this helps :) |
@jo-oe Thank you. |
@Blisto91 thanks for the heads up, just gave it a try on two of our maps and the results are promising! Not sure if this is due to the changes to stateblocks, some other change in dxvk or updates to our shaders: Map2 (Ascheberg): So with the dev build (https://github.com/doitsujin/dxvk/actions/runs/4108270569) dxvk actually has lower memory footprint than normal d3d9 |
Huh. Interesting |
Might this be the same issue? https://www.reddit.com/r/linux_gaming/comments/1bn089i/some_crashes_while_playing_the_guild_ii_pirates/ heres the log: https://pastebin.com/Di5JgFPP |
Yes but according to the log they seem to be using wined3d and not dxvk |
Do you have a solution such as adding 'WINE_LARGE_ADDRESS_AWARE=1' for d3d? |
WINE_LARGE_ADDRESS_AWARE impacts WineD3D as well. Besides that, this is a DXVK bug tracker, not a general support forum. |
With Titan Quest DX9 I get a consistent crash with or without https://www.youtube.com/watch?v=YG6e-7_eIyc In Act 3 from Village of Zhidan town, walk backwards up the thick path until right before the staircase with some kind of faded path-fork off to the left. Walking around anywhere seemingly on the left-side of that dirt area crashes. |
@Espionage724 hi there. Are you able to share a save game? |
Hi; I'm not sure on a specific file, but here's my 3 TQ folders in |
I'm making this issue to consolidate a bunch of issues on the D9VK tracker which are all essentially the same thing, running out of address space (there's like 4 separate reports of the same thing in Borderlands 2 and Rocket League).
The main issue is that these games are running out of address space and crashing with
failed to map memory
.One thing I did notice, was that I could reproduce none of these issues (ie. Borderlands 2) on Windows with DXVK, but I could very easily when using Proton + DXVK.
One thing I did also try was disabling pulseaudio entirely which helped for a while but it still inevitably crashed (that thing was eating up way too much!)
Another thing I also tried was with WineSteam (wine-tkg) where I was not able to reproduce the issue with DXVK
master
, compared to Proton with DXVK master, but the address space (VMSize) was still scarily high! I'm not sure what I was looking at on Windows, but even the regularMemory
in Task Manager + whatever Visual Studio's Debugger is telling me was much lower on Windows at ~2.3GB.I disabled the game overlay (using the Steam Properties tab for the game) and also tried disabling Fossilize (
bShaderEnableFossilizeLayer 0
in the console.) for Proton which didn't help.Supercedes misyltoad/d9vk#383 misyltoad/d9vk#221 misyltoad/d9vk#170 and misyltoad/d9vk#93
The text was updated successfully, but these errors were encountered: