Skip to content
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

Enable dxvknvapi on more (DLSS) titles I've verified as functioning & stable #6227

Closed
wants to merge 29 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
f30cd73
glslang: Build from source instead of prebuilt binary.
rbernon Sep 12, 2022
388ce31
fixup! glslang: Build from source instead of prebuilt binary.
rbernon Sep 12, 2022
47b8b2f
proton: Disable forced LAA for Sword and Fairy 4.
Sep 13, 2022
acee08e
proton: Enable WINE_HEAP_DELAY_FREE for Call of Duty: Black Ops II Zo…
Sep 13, 2022
90bf334
Don't ship proton dist files in a tarball anymore
aeikum May 28, 2021
fa29481
Don't ship filenames with colons in them
aeikum Mar 25, 2021
0626706
Handle steampipe quirks in deploy builds
aeikum Mar 26, 2021
1e7444f
docker: Add OpenBLAS dependency.
rbernon May 29, 2022
4c4cb9c
docker: Add autoconf-archive dependency.
rbernon May 30, 2022
2b3048d
.gitmodules: Use downstream dxvk.
ivyl Jun 3, 2022
0f184bf
Build vkd3d as ELF.
giomasce Jul 20, 2022
737076a
Ensure vkd3d-proton is used for D3D12 unless wined3d is explicitly re…
giomasce Jul 20, 2022
b0c32c6
Update Wine Mono to 7.3.1.
Conmanx360 Aug 10, 2022
5bb468d
Return proper number of recognized swapchain formats if some are not …
Aug 8, 2022
75ba46a
docker: Bump steamrt version to 0.20220601.0.
ivyl Jun 15, 2022
9e0ca1b
docker: Update Rust to 1.63.0.
ivyl Aug 24, 2022
9725697
update submodules
Aug 26, 2022
f754533
lsteamclient: Return NULL from manual_convert_SteamAPI_CheckCallbackR…
Sep 16, 2022
9a708e0
proton: Enable dxvknvapi on a bunch of (DLSS) titles.
adamnv Aug 26, 2022
1c54575
Remove Monster Train from MFDXGI hack
alasky17 Sep 19, 2022
2d5eb70
update submodules
Sep 28, 2022
1574819
update submodules
Sep 29, 2022
5339633
media-converter: Use crates.io version of the gstreamer crates.
ivyl Sep 30, 2022
34ddc10
Enable dxvknvapi on more (DLSS) titles I've verified as functioning a…
adamnv Oct 7, 2022
5dbed10
dxvknvapi enablement list: Add Portal for Portal RTX
adamnv Oct 19, 2022
2ce2d53
dxvknvapi enblement: add Red Dead 2 / Online, and have historic hiden…
adamnv Oct 19, 2022
b69a69c
dxvknvapi enablement: add Ready Or Not and Horizon Zero Dawn.
adamnv Oct 19, 2022
85be732
dxvknvapi enablement: add Uncharted
adamnv Oct 19, 2022
da09f70
dxvknvapi enablement: override correct env var when unhiding nv gpu
adamnv Oct 20, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions proton
Original file line number Diff line number Diff line change
Expand Up @@ -1125,6 +1125,8 @@ def default_compat_config():
"1322170", #pluviophile
"400", #Portal [RTX]
"1186640", #pumpkin jack
"1404210", #Red Dead Online
"1174180", #Red Dead Redemption 2
"391220", #rise of the tomb raider
"750920", #shadow of the tomb raider
"1602080", #soulstice
Expand Down Expand Up @@ -1420,6 +1422,8 @@ class Session:

if "enablenvapi" in self.compat_config:
self.env["DXVK_ENABLE_NVAPI"] = "1"
# enablenvapi beats hidenvgpu
self.env["PROTON_HIDE_NVIDIA_GPU"] = "0"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you tested that it works? It doesn't look like it does.

in init_session() we have a bunch of checks in the form:

self.check_environment("PROTON_HIDE_NVIDIA_GPU", "hidenvgpu")
self.check_environment("PROTON_ENABLE_NVAPI", "enablenvapi")

This converts the environment variables to entries in self.compat_config.

If you look a bit down hidenvidiagpu is handled as follows:

if "hidenvgpu" in self.compat_config:
    self.env["WINE_HIDE_NVIDIA_GPU"] = "1" 

Converting the compat_config value in WINE_ prefixed variable that's then interpreted by Wine.

That's a few lines above this line, so it is too late to affect the outcome.

Something like this (untested) should make more sense:

diff --git a/proton b/proton
index 47e51897..46edef0a 100755
--- a/proton
+++ b/proton
@@ -1317,6 +1317,12 @@ class Session:
         self.check_environment("PROTON_HEAP_DELAY_FREE", "heapdelayfree")
         self.check_environment("PROTON_ENABLE_NVAPI", "enablenvapi")
 
+        if "enablenvapi" in self.compat_config:
+            self.env["DXVK_ENABLE_NVAPI"] = "1"
+            # enablenvapi beats hidenvgpu
+            if "hidenvgpu" in self.compat_config:
+                self.compat_config.remove("hidenvgpu")
+
         if "noesync" in self.compat_config:
             self.env.pop("WINEESYNC", "")
         else:


s = ""
for dll in self.dlloverrides:
Expand Down