its been confirmed by nvidia team that the GPUs can use system ram as fallback for a very very long time. That’s not the issue.
The issue is that the nvidia drivers are very inefficient at allocating vram. Games on windows which would use a certain amount of vram would go up to double that on linux.
The drivers can use system RAM for games but I’m guessing they can’t really handle an overcommit very good.
As an example, Indiana Jones The Great Circle crashes if it reaches VRAM limit even if it doesn’t actually go above available VRAM, on Windows the game might start to stutter instead but it does not crash.
And as for Linux desktop apps, I have no idea. I also don’t how to check how much SysMem the apps use.
In Windows 11 you can do that by adding the correct columns in Task Manager.
With that being said, I have absolutely no idea how VRAM/shared SysMem works in Linux.
How does AMD do in this regard on their lower end cards when they hit VRAM lmiit? I mean, if it works for them, it’s purely an Nvidia issue.
Windows users also has the problem in games with VRAM limit, shown in stalker2. I think it depends on the severity of over the VRAM limit. Windows is often less severe, but easily very severe in Linux using VKD3D.
Radeon VKD3D doesn’t seem to have problem with VRAM. Then, the difference is, Radeon uses Mesa vulkan and Geforce use Nvidia vulkan. I don’t know how much of difference in implementation. Just too much confusion.
Have the problem with the exact same behaviour reported by an9949an 2 years ago, driver version: 570, any workarounds, tried the dxvk one but it didnt work
I would like to provide a little update here, I’ve tried both Open and Proprietary 570.124.04 on a lenovo legion 5 with rtx 3060 6gb, ryzen 7 6800h and internal amd apu used for desktop.
On Stalker 2 in Rostok area the vram reaches 6gb+ it spills a bit in the ram, fps kind of restores then after a little while more in rostok it quickly goes into 5-9fps super laggy. It looks like VRAM allocation is still a problem.
I’d say 6gb is really on the edge of being too low, depending on game of course. I don’t know how much stalker 2 takes but be glad it doesn’t crash as some games tend to do.
On windows with 1080p DLSS Quality Medium settings it hovers between 4.7-5.0gb on linux is around 5.5GB mostly but once you reach Rostok and enter the main building it goes into 5.9/6.0gb and game does hiccup and shortly after it goes into 9fps mode(linux only)
Just wanted to update, the HMM thing(sharing the VRAM+ system RAM) does appear to be working and it allocates VRAM with 570 just fine, the issue which triggered the game to go into 5-9fps was due to a mod I had installed.
Apologies for the caused confusion. Thanks.
overall vram issues still aren’t fixed. we’re stuck using a workaround in the driver to stop xwayland and wayland compositors using too much vram, and some games are using more than they would be on windows. This includes doom eternal and spider-man remastered.
Yes I notice it as well with Indiana Jones in 4K, Path Tracing and Ultra textures (so far the game consuming the most VRAM), using a 5080, with 16GB VRAM. Mangohud reports I flirt above 15GB. Using Wayland I need to close all applications (e.g. Firefox) or even use a dedicated light compositor such as Cagebreak, keeping it under 15GB. But not ideal. Possibly, the VRAM to RAM yield mechanism is not working properly when reaching such large amount.
That said Cyberpunk in Ultra 4K does not crash, but I do not remember how much VRAM is consumed.
If you have a game with DX12 and DX11. you can compare the VRAM with same graphic settings. VKD3D uses over 1GB, 1.2, or 1.4 more than DXVK.
May be someone can check if this is the case in Windows. If Window don’t have this case, it means VKD3D is using excessive VRAM.
But I already asked VKD3D developers. They have said, is DX12 controls the VRAM allocation not VKD3D. Then, may be is other aspect of VKD3D is using the excessive VRAM.
You can’t compare VRAM usage like that, It’s two different APIs.
It’s true what they say that the games allocate what they want, sometimes things go wrong and it’s often a game issue and if they can the devs work around it in vkd3d-proton.
There are similar workarounds for some games in the Nvidia driver too I think, The Great Circle comes to mind, it placed “VRAM” in the wrong HEAP.
I don’t think you get the meaning here. We all know there is an issue in the context of Linux VKD3D. That is why you can compare. DX11 and DX12. I believe we all don’t think DX12 have excessive VRAM to a point is unplayable, or frame drops, but that is the case Linux, unplayable. When you have 4GB VRAM, over 1GB is 5.x GB VRAM, then the game requirement should be 6GB, but it isn’t, there are games with 4GB min, and Linux still can’t play.
I give an example, as an evidence. Forged in the Shadow Torch is not a heavy game as in 3D shooters, ARPGs, it has both DX11 and DX12. When you turn on DX12 to use VKD3D, you can’t even load the textures, the game runs without textures, flat shading. However, all textures load, and runs smoothly in DX11. This game recommended is1060, is to believe 4GB model
I stand by what I said. Two different APIs, yoiu can’t compare those. What you can do is disable DXVK-NVAPI for that game and see if it changes.
It could be that the game needs a driver or vkd3d fix too but the only way to tell is to check how it runs on Intel or AMD GPUs with DX12 enabled.
if you stand by what you said, then why there is even this thread about DX12 using more VRAM? Everyone says DX12 through VKD3D is using more VRAM, more than which? of course DX11 DXVK.
To making a point clear, in the view of programming. Of course you can compare API. Both DX11 and 12 are graphic API. It cannot be, that a newer API uses more VRAM to a point the game is unplayable. What if you use Vulkan instead? the game is not unplayable in Linux, because you don’t need translation at all.
In any software industry there always comparison of API. In particular, graphic industry, Vulkan is often compared to DirectX, in all aspects, VRAM, overhead etc…
API is algorithms to do the same things in the same field. There is always can be better algorithms to reduce resource, increase performance.
Actually, the thread was about a regression in the driver that caused general VRAM issues in both dxvk/vkd3d and Vulkan, this was fixed. Then the thread turned into something else.
And no, I still don’t think you can compare DX11 and DX12 the way you do. There are too many differences going on in the translation layers and also in the games.
Whatever you think does not change the basic knowledge.
API is not written from scratch with every version.
DirectX version is only feature difference. When you do not use newer features, they are the same. Why do you think games can include both DX11 and 12? The game look the same using either version when not using any new features. You can even write the game using Apple Metal, Vulkan. Because graphic API has same functions, but different implementations, algorithms. DirectX has same functions as Vulkan, Metal, Opengl. If not the same you can’t translate. Even OS has same operating functions, otherwise you can’t use Wine.