diff --git a/dxvk b/dxvk index bac7ae292..daccde764 160000 --- a/dxvk +++ b/dxvk @@ -1 +1 @@ -Subproject commit bac7ae2929da476cd646507722f2e7fb51fb67d4 +Subproject commit daccde7643a2b3ce0e67c2d460d29145c788d6bb diff --git a/dxvk-nvapi b/dxvk-nvapi index bb3d4ad63..ae4aeeee9 160000 --- a/dxvk-nvapi +++ b/dxvk-nvapi @@ -1 +1 @@ -Subproject commit bb3d4ad63becaf9c4eebfd0a19e266d6eb8bd46e +Subproject commit ae4aeeee92c3099fa180007743579295f56469ab diff --git a/proton b/proton index b6bb6a79e..1a2041a05 100755 --- a/proton +++ b/proton @@ -997,11 +997,14 @@ class CompatData: # Try to detect known DLLs that ship with the NVIDIA Linux Driver # and add them into the prefix - nvidia_wine_dll_dir = find_nvidia_wine_dll_dir() - if nvidia_wine_dll_dir: + if g_session.nvidia_wine_dll_dir: for dll in ["_nvngx.dll", "nvngx.dll"]: - try_copy(nvidia_wine_dll_dir + "/" + dll, "drive_c/windows/system32", optional=True, - prefix=self.prefix_dir, track_file=tracked_files, link_debug=True) + try_copy(g_session.nvidia_wine_dll_dir + "/" + dll, + "drive_c/windows/system32", + optional=True, + prefix=self.prefix_dir, + track_file=tracked_files, + link_debug=True) setup_game_dir_drive() setup_steam_dir_drive() @@ -1461,6 +1464,17 @@ class Session: if "PROTON_CRASH_REPORT_DIR" in self.env: self.env["WINE_CRASH_REPORT_DIR"] = self.env["PROTON_CRASH_REPORT_DIR"] + # NVIDIA software may check for the "DriverStore" by querying the + # NGXCore\NGXPath registry key via `D3DDDI_QUERYREGISTRY_SERVICEKEY` for + # a given adapter. In the case where this path cannot be found, the + # `NVIDIA_WINE_DLL_DIR` environment variable is read as a fallback. + # + # TODO: Add support for populating NGXCore\NGXPath so we can remove the + # NGX copies done in setup_prefix(), and this environment variable. + self.nvidia_wine_dll_dir = find_nvidia_wine_dll_dir() + if self.nvidia_wine_dll_dir: + self.env["NVIDIA_WINE_DLL_DIR"] = self.nvidia_wine_dll_dir + if "PROTON_LOG" in self.env and nonzero(self.env["PROTON_LOG"]): if self.setup_logging(append_forever=False): self.log_file.write("======================\n") diff --git a/vkd3d-proton b/vkd3d-proton index ebe7279e7..0cfe14127 160000 --- a/vkd3d-proton +++ b/vkd3d-proton @@ -1 +1 @@ -Subproject commit ebe7279e7960d204f5b1bd3d89408929140cdd0f +Subproject commit 0cfe1412731bb12048f4b3035f62bdce94bf975e diff --git a/wine b/wine index 48cd14fc0..322ce67c5 160000 --- a/wine +++ b/wine @@ -1 +1 @@ -Subproject commit 48cd14fc026c8ab87eb8ce779888b8669d7e3787 +Subproject commit 322ce67c5916b0eb67350274142cfb8dbd972295