-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
proton: Populate NVIDIA_WINE_DLL_DIR when available #8087
base: experimental_9.0
Are you sure you want to change the base?
proton: Populate NVIDIA_WINE_DLL_DIR when available #8087
Conversation
NVIDIA-software may check the environment variable `NVIDIA_WINE_DLL_DIR` for a path where DLLs provided by the NVIDIA Linux driver can be found. This needs to be set by `proton` script, as it is ran inside of the pressure-vessel environment, so the paths returned will be valid within the environment. Tested with an application that reads `NVIDIA_WINE_DLL_DIR` from the environment and tries to load a known DLL from it. As expected manually setting the environment variable to the on-disk location did not work, as the path is not accurate within the pressure-vessel environment. #8087
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.
For what my ex-nvidia-employee opinion is worth: LGTM. I infer from the lack of specifics (and not privileged knowledge) that this is to enable some future tech work, but if there is an existing title which needs this then pointing it out would be good for verification purposes.
Noting from a side-discussion between myself @ivyl, pgofman, and zf. This environment variable isn't ideal because it creates wine/proton specific behavior. Since the way this would be read on Windows isn't currently supported in Wine, this environment variable will only be read as a fallback. That way, in the future if the primary path is supported, this logic could be removed. In the meantime there's some cleanup things to do here (like avoiding running through the C_DLL logic twice). |
NVIDIA-software may check the environment variable `NVIDIA_WINE_DLL_DIR` for a path where DLLs provided by the NVIDIA Linux driver can be found. This is done as a fallback for when the "DriverStore" cannot be detected via the D3DDDI functions for querying an adapter-specific registry key. Tested with an application that reads `NVIDIA_WINE_DLL_DIR` from the environment and tries to load a known DLL from it. As expected manually setting the environment variable to the on-disk location did not work, as the path is not accurate within the pressure-vessel environment.
34e90a8
to
d380d66
Compare
f205ee9
to
a9ad958
Compare
124cdc3
to
2a4943d
Compare
NVIDIA-software may check the environment variable `NVIDIA_WINE_DLL_DIR` for a path where DLLs provided by the NVIDIA Linux driver can be found. This needs to be set by `proton` script, as it is ran inside of the pressure-vessel environment, so the paths returned will be valid within the environment. Tested with an application that reads `NVIDIA_WINE_DLL_DIR` from the environment and tries to load a known DLL from it. As expected manually setting the environment variable to the on-disk location did not work, as the path is not accurate within the pressure-vessel environment. ValveSoftware#8087
5d2111a
to
7f6b0ff
Compare
08a3c94
to
de3237c
Compare
de3237c
to
23b68e5
Compare
NVIDIA-software may check the environment variable
NVIDIA_WINE_DLL_DIR
for a path where DLLs provided by the NVIDIA Linux driver can be found. This needs to be set byproton
script, as it is ran inside of the pressure-vessel environment, so the paths returned will be valid within the environment.Tested with an application that reads
NVIDIA_WINE_DLL_DIR
from the environment and tries to load a known DLL from it. As expected manually setting the environment variable to the on-disk location did not work, as the path is not accurate within the pressure-vessel environment.