praydog / REFramework

Scripting platform, modding framework and VR support for all RE Engine games
https://cursey.github.io/reframework-book/
MIT License
2.69k stars 338 forks source link

DLSS no longer working on recent Nvidia drivers #930

Open ethyrx opened 8 months ago

ethyrx commented 8 months ago

On newer drivers, I get an error and the game crashes when using PDUpscaler with newer Nvidia drivers.

[REFramework] [info] [TemporalUpscaler] NVIDIA DLSS Minimum driver version was reported as : 512.15 [REFramework] [info] [TemporalUpscaler] NVIDIA DLSS not available on this hardward/platform., FeatureInitResult = 0xbad00000, info: NVSDK_NGX_Result_Fail

It works after after rolling back to 532.03 from 546.01. My GPU is an RTX 3090.

ryonothazuki commented 6 months ago

I can also replicate this. Im also having this issue with the latest nvidia driver 546.33 at the time of writing. Using a 3090ti. I will try and download driver 532.03 to try to use PDUpscaler to enable DLAA and report back.

[REFramework] [info] [TemporalUpscaler] NVIDIA DLSS Minimum driver version was reported as : 512.15 [REFramework] [info] [TemporalUpscaler] NVIDIA DLSS not available on this hardward/platform., FeatureInitResult = 0xbad00000, info: NVSDK_NGX_Result_Fail

sandydune2022 commented 5 months ago

is there a way to get this working on the newest nvidia drivers? i dont want to downgrade my graphics driver just to use the re framework everytime. thank you for the cool mod! @praydog

weter11 commented 5 months ago

Working both on 545 and 550 drivers (550.40.07) Ubuntu 23.10 with DLSSTweaks also. This is report from my system

[2024-02-02 11:01:08.245] [REFramework] [info] [TemporalUpscaler] NVSDK_NGX_D3D12_Init = 0x00000001, info: NVSDK_NGX_Result_Success [2024-02-02 11:01:08.316] [REFramework] [info] [TemporalUpscaler] NVSDK_NGX_D3D12_GetCapabilityParameters = 0x00000001, info: NVSDK_NGX_Result_Success [2024-02-02 11:01:08.316] [REFramework] [info] [TemporalUpscaler] NVIDIA DLSS Minimum driver version was reported as : 445.0

But for example Ratchet & Clank: Rift Apart report that I have 536.25 and it need at least 536.67. Look at where exactly upscaler plugin look at driver version and change value.

ryonothazuki commented 5 months ago

where is that setting?

weter11 commented 5 months ago

Look in the list of GPUs in registry, on my system that have an adress HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318} I found it by typing Nvidia in search. But it report that I have DriverVersion 31.0.15.3625 That value provided by wine and it's incorrect (that driver used by workstation GPUs) and devs send it to games so they think that they working with proprietary Windows driver. Windows users don't need that software to running games. So if somewhere in the registry driver version is lower than reported 512.15 than plugin refuse to work. This can happen if some software incorrectly upgraded without full uninstall of older driver or bug in newer driver. If problem somewher else than like a variant download older versions of plugin and REFramework and try different combinations.

ryonothazuki commented 4 months ago

ive had to donwgrade my driver when i want to play re games with the framework. if i knew where it was looking for its driver info or whatever is going on it id be so happy. the registry change didnt do anything.

praydog commented 4 months ago

REFramework does not implement DLSS logic, which is why I haven't said anything. UpscalerBasePlugin, which REFramework calls into, is the one that calls the DLSS functions, which is made by PureDark. You will have to ask him. Of course I could "just" recreate UpscalerBasePlugin's functionality within my own code via Streamline but I am busy.