-
-
Notifications
You must be signed in to change notification settings - Fork 435
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
Add support for installing and enabling DXVK-NVAPI #2567
Add support for installing and enabling DXVK-NVAPI #2567
Conversation
I've installed this version and tried to test it out with control. I've used the following env variables and a lot of combination of them:PROTON_ENABLE_NVAPI=1 nvpai64.dll seems to correctly be in system32 of the prefix and nvapi.dll in syswow64 folder EDIT: Running the nvapi64-tests.exe prefix belonging to the game with i get 63 passes but 1 fail for the assertions being the following:
|
Strange because it works for me with AMD If nvapi is actually working you should get at least above 500 passes |
I first tried it without the env variables. I only added then in an attempt to make it work. |
did you make sure DXVK is installed? |
DXVK is installed and working. |
run winecfg, does it show nvapi64 as native? |
nvapi64 is not listed as an existing override for the default settings (for this prefix) |
strange, that part works fine for me, could you see what happens if you set it to native yourself? |
added nvapi64 as native to the overrides, nothing changes. Also tried to add nvapi as native afterwards still nothing. And just double checked that dxgi is already set as native EDIT: it did change nvapi-tests.exe output
|
this means that nvapi64 didn't install correctly and it's still using the builtin one to whatever wine version you are using |
Yeah i realised the same thing, i then tried downloading dxvk-nvapi directly from the repo and replace the files in system32 and syswow64 manually and now the same tests all pass |
what is inside |
Seems to be the exact same thing i downloaded from the repo |
just tell me the file/folder names inside |
|
yeah that's what I suspected, it's being extracted wrong, thanks |
ok made some fixes could you send both the heroic log and the game log once you retest? |
Alright, just tested both games again and DLSS still doesn't work for either. I deleted the prefixes for both of the games to make wine regenerate them with NVAPI, but this also did nothing, leading to Control still having it's DLSS option blocked. I did manage to get Horizon ZD working because I didn't have mfc140 installed on the prefix but DLSS didn't show up in there either. |
do you have the nvidia drivers properly installed in flatpak? also could you retest the proper logging wasn't in place when nvngx.dll (the dll with dlss) is not found it would also be nice if you could find the path of nvngx.dll in flatpak for me :) |
I tested with Horizon just now and I seem to be able to select DLSS in game settings just fine |
with flatpak? |
no, AppImage |
I specifically wanted flatpak tested since paths would be different, and maybe LD_LIBRARY_PATH is not set properly in there |
I can't get it to show up in the flatpak filesystem since I am on AMD unfortunately |
afaik, I do have the drivers installed correctly because whenever I install flatpak for the first time on a new linux install, it says it's downloading Nvidia drivers. I did manage to find nvngx.dll in (what I assume is) flatpaks global install. Here is the path: I also retested with the new build that has Heroic reporting if it cannot find nvngx.dll (which it's sadly reporting) with both Control and HZD and the logs are provided. Again, I hope this helps! |
unfortnuately heroic cannot access that path (as far as I know) it would be nice if you could it would also be helpful if you could find where |
@Etaash-mathamsetty |
yep, flatpak uses ld.so to set the paths and stuff, that's why lutris uses dlopen, but it's kinda overkill to have a binary for this one function, I will add this path in... wait it's going to change with driver versions... is that the only path with nvidia-xxx-xx-xx |
Yes, the version is dynamic, that's why dlopen is a solution. We can add it into |
lgtm to me |
new stuff is ready to be tested once more :) |
I just tested the build and and DLSS works! It shows up in both games and improves performance like it's supposed to! I searched for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Left some small questions and also need to test it and also test on macOS since there were some changes on the dxvk installation in general. But the code looks good 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good, small translation thing
Things that have been properly tested:
NOTE: This PR is not yet ready to be merged since we still need to copy nvngx.dll from the nvidia drivers on the host system, this relies on a separate helper binary that I have created in rusthttps://github.com/Etaash-mathamsetty/nvngx-finder
Use the following Checklist if you have changed something on the Backend or Frontend: